public void InsertWinningDetail(WinningDetail model)
 {
     winningDetailRepository.Insert(model);
 }
        public List <Winning> GetWinningAggregator()
        {
            List <Winning> todayWinningAggregators = new List <Winning>();

            if (_nomorService.GetTodayNomor() != null)
            {
                var todayWinningNomor = _nomorService.GetTodayNomor().WinningNomor;

                var winningNomor2Angka = Convert.ToInt32(todayWinningNomor.ToString().Substring(2, 2));
                var winningNomor3Angka = Convert.ToInt32(todayWinningNomor.ToString().Substring(1, 3));
                var winningNomor4Angka = Convert.ToInt32(todayWinningNomor);


                var userIds = togelContext.Transactions.Where(t => t.Date.Year == DateTime.Today.Year &&
                                                              t.Date.Month == DateTime.Today.Month && t.Date.Day == DateTime.Today.Day).Select(t => t.UserID).Distinct().ToArray();


                foreach (var userId in userIds)
                {
                    Winning            todayWinningAggregator  = new Winning();
                    List <Transaction> todayTransactionByUsers = togelContext.Transactions.ToList().Where(t => t.Date.Date == DateTime.Today.Date && t.UserID == userId).ToList();
                    User user = togelContext.Users.Find(userId);
                    todayWinningAggregator.UserName = user.Name;
                    List <WinningDetail> winningDetails = new List <WinningDetail>();
                    foreach (var ttbu in todayTransactionByUsers)
                    {
                        WinningDetail winningDetail = new WinningDetail();
                        winningDetail.BetNumber         = ttbu.BetNumber;
                        winningDetail.WinningMultiplier = 0;
                        winningDetail.BetAmount         = ttbu.BetAmount;
                        if (ttbu.BetNumber.ToString().Length == 2)
                        {
                            winningDetail.Discount = user.Discount2A;
                            winningDetail.Winning  = (ttbu.BetAmount * ((100 - user.Discount2A) * 0.01)) * -1;


                            if (ttbu.BetNumber == winningNomor2Angka)
                            {
                                winningDetail.Winning           = ttbu.BetAmount * user.Winning2A;
                                winningDetail.WinningMultiplier = user.Winning2A;
                                winningDetail.Discount          = 0;
                            }
                            ;
                        }

                        if (ttbu.BetNumber.ToString().Length == 3)
                        {
                            winningDetail.Discount = user.Discount3A;
                            winningDetail.Winning  = (ttbu.BetAmount * ((100 - user.Discount3A) * 0.01)) * -1;

                            if (ttbu.BetNumber == winningNomor3Angka)
                            {
                                winningDetail.Winning           = ttbu.BetAmount * user.Winning3A;
                                winningDetail.WinningMultiplier = user.Winning3A;
                                winningDetail.Discount          = 0;
                            }
                            ;
                        }

                        if (ttbu.BetNumber.ToString().Length == 4)
                        {
                            winningDetail.Discount = user.Discount4A;
                            winningDetail.Winning  = (ttbu.BetAmount * ((100 - user.Discount4A) * 0.01)) * -1;

                            if (ttbu.BetNumber == winningNomor4Angka)
                            {
                                winningDetail.Winning           = ttbu.BetAmount * user.Winning3A;
                                winningDetail.WinningMultiplier = user.Winning4A;
                                winningDetail.Discount          = 0;
                            }
                            ;
                        }

                        winningDetails.Add(winningDetail);
                    }
                    var asd        = winningDetails;
                    var winningSum = winningDetails.Sum(wd => wd.Winning);
                    todayWinningAggregator.TotalWinning   = winningSum;
                    todayWinningAggregator.WinningDetails = winningDetails;
                    todayWinningAggregators.Add(todayWinningAggregator);
                }
            }
            return(todayWinningAggregators);
        }