@model LotteryWebApp.Models.UserTicketHistoryModel @using LotteryWebApp.Languages @using LotteryWebApp.Common @functions { public string FormatMoney(string amount) { if (string.IsNullOrEmpty(amount)) return "0"; var clean = new string(amount.Where(c => char.IsDigit(c)).ToArray()); if (long.TryParse(clean, out long val)) { return val.ToString("#,##0", new System.Globalization.CultureInfo("vi-VN")).Replace(",", "."); } return amount; } } @if (Model != null && Model.listTicket != null && Model.listTicket.Count > 0) { foreach (var item in Model.listTicket) {
#@item.seq
@if (!string.IsNullOrEmpty(item.code)) { var delimiters = new[] { ';', ',' }; var balls = item.code.Split(delimiters, StringSplitOptions.RemoveEmptyEntries); // Millions result = 5 main numbers + 1 Mega Ball (the last one): // - the 5 main numbers match in any order // - the Mega Ball must match by position (the last ticket number) var resultBalls = !string.IsNullOrEmpty(item.termResult) ? item.termResult.Split(delimiters, StringSplitOptions.RemoveEmptyEntries) : new string[0]; var mainWinning = new HashSet(); string mbWinning = null; if (resultBalls.Length > 0) { for (int i = 0; i < resultBalls.Length - 1; i++) mainWinning.Add(resultBalls[i].Trim()); mbWinning = resultBalls[resultBalls.Length - 1].Trim(); } var mbIndex = balls.Length - 1; for (int bi = 0; bi < balls.Length; bi++) { var ballValue = balls[bi].Trim(); if (!string.IsNullOrEmpty(ballValue)) { string ballClass; if (item.status == Constants.NOT_DRAW_CODE) { ballClass = "ball-waiting"; } else if (bi == mbIndex) { // Mega Ball: position-based comparison ballClass = ballValue == mbWinning ? "ball-win" : "ball-lose"; } else if (mainWinning.Contains(ballValue)) { ballClass = "ball-win"; } else { ballClass = "ball-lose"; } var isMbBall = bi == mbIndex;
@ballValue @if (isMbBall) { MB }
} } }
@Lang.millions_date_and_time @item.createDate
@Lang.millions_amount_won @FormatMoney(item.moneyWin) HTG
@Lang.millions_amount_played @FormatMoney(item.money) HTG
@Lang.millions_tap_to_see_detail
} @if (Model.totalPage != null && int.Parse(Model.totalPage) > 1) { var seq = int.Parse(Model.seqPage); var total = int.Parse(Model.totalPage);
Page @Model.seqPage / @Model.totalPage
} else {
} } else {

@Lang.no_results_found

}