public virtual void ClearUserPicks(LeagueRace leagueRace) { IList<UserRaceDetail> picks = this.GetPicksForARace(leagueRace); foreach (UserRaceDetail urd in picks) { this.UserRaceDetails.Remove(urd); } }
public virtual string GetBody(LeagueRace leagueRace) { StringBuilder emailBody = new StringBuilder(); CreatePickText(leagueRace, emailBody, BetTypes.Win); CreatePickText(leagueRace, emailBody, BetTypes.Place); CreatePickText(leagueRace, emailBody, BetTypes.Show); CreatePickText(leagueRace, emailBody, BetTypes.Backup); emailBody.AppendLine(""); emailBody.AppendLine("User id: " + this.User.Id.ToString()); return emailBody.ToString(); }
public static void SendEmail(IEmailable emailEntity, string toAddress, LeagueRace leagueRace) { MailMessage email = new MailMessage(); email.From = new MailAddress("*****@*****.**"); email.To.Add(new MailAddress(toAddress)); email.Subject = emailEntity.GetSubject(leagueRace); email.Body = emailEntity.GetBody(leagueRace); #if !DEBUG SmtpClient client = new SmtpClient(); client.EnableSsl = false; client.Send(email); #endif }
public virtual void AddUserPick(LeagueRace leagueRace, RaceDetail raceDetail, BetTypes betType) { var userPick = GetPicksForARace(leagueRace).Where(x => x.BetType == betType).FirstOrDefault(); if (userPick != null && userPick.RaceDetail != raceDetail) { this.UserRaceDetails.Remove(userPick); } else if(userPick != null && userPick.RaceDetail == raceDetail) { return; } createAndAddUserRace(betType, raceDetail); }
public static RaceDetailPayout GetPayout(BetTypes payoutType, LeagueRace leagueRace) { var payout = leagueRace.GetPayout(payoutType); if (payout == null) payout = new RaceDetailPayout() { RaceDetail = new RaceDetail() { Horse = new Horse() } }; return payout; }
public virtual bool HasValidRaceCondition(LeagueRace leagueRace) { return GetPicksForARace(leagueRace).Count > 0; }
public virtual bool HasUserSetPicksForRace(LeagueRace leagueRace) { return (from urd in UserRaceDetails where urd.RaceDetail.LeagueRace == leagueRace select urd).Count() > 0; }
public virtual UserRaceDetail GetUserPickByType(LeagueRace leagueRace, BetTypes betType) { return this.GetPicksForARace(leagueRace).Where(x => x.BetType == betType).FirstOrDefault(); }
public virtual string GetSubject(LeagueRace leagueRace) { return String.Format("Picks for {0}", leagueRace.Race.Name); }
public virtual IList<UserRaceDetail> GetPicksForARace(LeagueRace leagueRace) { return GetPicksForARaceQueryable(leagueRace).ToList<UserRaceDetail>(); }
public static IList<SelectListItem> PopulateHorseDropDown(LeagueRace leagueRace, Predicate<RaceDetail> selectionEval) { return PopulateHorseDropDown(leagueRace.RaceDetails.ToList(), selectionEval); }
private void CreatePickText(LeagueRace leagueRace, StringBuilder output, BetTypes betType) { RaceDetail rd = this.GetUserPickByType(leagueRace, betType).RaceDetail; output.AppendLine(String.Format("{0}: {1}-{2}", betType.ToString(), rd.PostPosition, rd.Horse.Name)); }
private IQueryable<UserRaceDetail> GetPicksForARaceQueryable(LeagueRace leagueRace) { return UserRaceDetails.Where(x => x.RaceDetail.LeagueRace == leagueRace).AsQueryable<UserRaceDetail>(); }
public virtual bool WasTrifectaWinner(LeagueRace leagueRace) { RaceDetailPayout show = leagueRace.Show; IList<UserRaceDetail> userRaceDetail = GetPicksForARace(leagueRace); return WasExactaWinner(leagueRace) && (show.RaceDetail == userRaceDetail.Where(x => x.BetType == BetTypes.Show).FirstOrDefault().RaceDetail); }
public virtual bool WasExactaWinner(LeagueRace leagueRace) { RaceDetailPayout winner = leagueRace.Win; RaceDetailPayout place = leagueRace.Place; IList<UserRaceDetail> userRaceDetail = GetPicksForARace(leagueRace); if(!this.HasValidRaceCondition(leagueRace)) return false; return (winner.RaceDetail == userRaceDetail.Where(x => x.BetType == BetTypes.Win).FirstOrDefault().RaceDetail && place.RaceDetail == userRaceDetail.Where(x => x.BetType == BetTypes.Place).FirstOrDefault().RaceDetail); }
public virtual bool IsValidRaceCondition(LeagueRace leagueRace) { var disPicks = (from dp in GetPicksForARaceQueryable(leagueRace) select dp.RaceDetail.Id).Distinct(); return disPicks.ToList().Count == 4; //There are 4 possible user entered bet types }
public static RaceDetailPayout GetRaceDetailPayoutForAUserSelection(LeagueRace leagueRace, UserRaceDetail userSelection) { return (from rdp in leagueRace.RaceDetails where rdp.Id == userSelection.RaceDetail.Id select rdp).FirstOrDefault().RaceDetailPayout[0]; }
public string GetBody(LeagueRace leagueRace) { return "Test Body"; }
public static string GetScratchString(LeagueRace leagueDomain) { IList<RaceDetail> scratches = leagueDomain.GetScratches(); string scratchOutput = String.Empty; if (scratches != null) { for (int i = 0; i < scratches.Count; i++) { if (i != 0) { scratchOutput += ", "; } scratchOutput = String.Concat(scratchOutput, FormatHorseNameForDisplay(scratches[i])); } } return scratchOutput; }
public string GetSubject(LeagueRace leagueRace) { return "Test Subject"; }
public static IList<SelectListItem> PopulateHorseDropDown(LeagueRace leagueRace) { return PopulateHorseDropDown(leagueRace, (RaceDetail raceDetail) => { return false; }); }
private bool AddExoticWinner(UserLeague userLeague, LeagueRace leagueRace, RaceExoticPayout payout, Func<LeagueRace, bool> wasWinner) { if (wasWinner(leagueRace)) { userLeague.League.UserRaceExoticPayouts.Add(new UserRaceExoticPayout() { RaceExoticPayout = payout, UserLeague = userLeague, League = userLeague.League }); return true; } return false; }