public void BuyTicket(string secrectCode, int amount, int rewardGroup) { using (var dctx = new DailySoccer.DAC.EF.DailySoccerModelContainer()) { var selectedAccount = dctx.Accounts.FirstOrDefault(it => it.GuestAccounts .Any(guestAccount => guestAccount.SecretCode.Equals(secrectCode, StringComparison.CurrentCultureIgnoreCase))); if (selectedAccount == null) return; var selectedRewardGroup = dctx.RewardGroups.FirstOrDefault(it => it.Id == rewardGroup); if (selectedRewardGroup == null) return; var now = DateTime.Now; for (int buyCounter = 0; buyCounter < amount; buyCounter++) { var data = new DailySoccer.DAC.EF.Ticket { AccountId = selectedAccount.Id, RewardGroupId = selectedRewardGroup.Id, CreatedDate = now }; selectedAccount.Tickets.Add(data); } dctx.SaveChanges(); } }
public void SaveGuess(GuessMatchInformation guess) { using (var dctx = new DailySoccer.DAC.EF.DailySoccerModelContainer()) { var selectedLastGuessed = dctx.GuessMatches .Where(it => it.Account.GuestAccounts.Any(guestAccount => guestAccount.SecretCode.Equals(guess.AccountSecrectCode, StringComparison.CurrentCultureIgnoreCase))) .Where(it => it.MatchId == guess.MatchId) .FirstOrDefault(); var isNewGuess = selectedLastGuessed == null; if (isNewGuess) { var selectedAccount = dctx.Accounts.FirstOrDefault(it => it.GuestAccounts .Any(guestAccount => guestAccount.SecretCode.Equals(guess.AccountSecrectCode, StringComparison.CurrentCultureIgnoreCase))); if (selectedAccount == null) return; dctx.GuessMatches.Add(new DailySoccer.DAC.EF.GuessMatch { AccountId = selectedAccount.Id, GuessTeamId = guess.GuessTeamId, MatchId = guess.MatchId, PredictionPoints = guess.PredictionPoints }); dctx.SaveChanges(); } else { selectedLastGuessed.GuessTeamId = guess.GuessTeamId; selectedLastGuessed.PredictionPoints = guess.PredictionPoints; dctx.SaveChanges(); } } }
public IEnumerable<MatchInformation> GetAllMatches() { using (var dctx = new DailySoccer.DAC.EF.DailySoccerModelContainer()) { var qry = dctx.Matches.Select(it => new MatchInformation { Id = it.Id, LeagueName = it.LeagueName, BeginDate = it.BeginDate, StartedDate = it.StartedDate, CompletedDate = it.CompletedDate, Status = it.Status, TeamAway = new TeamInformation { Id = it.TeamAway.Id, Name = it.TeamAway.Name, CurrentScore = it.TeamAway.CurrentScore, CurrentPredictionPoints = it.TeamAway.CurrentPredictionPoints, }, TeamHome = new TeamInformation { Id = it.TeamHome.Id, Name = it.TeamHome.Name, CurrentScore = it.TeamHome.CurrentScore, CurrentPredictionPoints = it.TeamHome.CurrentPredictionPoints, }, }).ToList(); return qry; } }
public void UpdateCalculatedGameResult(IEnumerable<int> matchIds) { using (var dctx = new DailySoccer.DAC.EF.DailySoccerModelContainer()) { var now = DateTime.Now; var selectedMatches = dctx.Matches.Where(it => matchIds.Contains(it.Id)); foreach (var item in selectedMatches) { item.CalculatedDate = now; } dctx.SaveChanges(); } }
public IEnumerable<TicketInformation> GetTicketByRewardGroupId(int rewardGroupId) { using (var dctx = new DailySoccer.DAC.EF.DailySoccerModelContainer()) { var selectedTicket = dctx.Tickets.Where(it => it.RewardGroupId == rewardGroupId); if (selectedTicket == null) return null; return selectedTicket.Select(it => new TicketInformation { Id = it.Id, CreatedDate = it.CreatedDate, ManualSelectedDate = it.ManualSelectedDate, RandomSelectedDate = it.RandomSelectedDate, ApproveWinnerDate = it.ApproveWinnerDate, AccountId = it.AccountId, RewardGroupId = it.RewardGroupId, SelectedRewardId = it.SelectedRewardId }).ToList(); } }