public Jackpot GetJackpotSinceLastWin(WeeklyPlay wp) { var jackpot = new Jackpot(); WeeklyPlay lastWin = GetLastWeeklyPlayWin(wp); if (lastWin == null) { var lastStartWeek = GetLastStartWeek(wp.Play_Date); jackpot.JackpotBalance = (Decimal)context.Tickets.Where(i => i.Purchase_Date < lastStartWeek).Sum(i => i.TicketAmount.Ticket_Amount) - GetPreviousNonWinningPayouts(wp); } else { DateTime lastStartWeek = GetLastStartWeek(lastWin.Play_Date); DateTime currentPlayWeek = GetLastStartWeek(wp.Play_Date); var de = (Decimal)context.Tickets.Where(i => i.Purchase_Date > lastStartWeek && i.Purchase_Date < currentPlayWeek).Sum(i => i.TicketAmount.Ticket_Amount); jackpot.JackpotBalance = de - GetPreviousNonWinningPayouts(wp); } return jackpot; }
public Jackpot GetJackpotBalance() { var jackpot = new Jackpot(); if (context.Tickets.Count() > 0) { var ticketsSold = context.Tickets.Sum(i => i.TicketAmount.Ticket_Amount); var payouts = context.WeeklyPlays.Sum(i => i.Payout_Amount); if (payouts == null) payouts = 0; jackpot.JackpotBalance = (Decimal)(ticketsSold - payouts); } else jackpot.JackpotBalance = 0; return jackpot; }