/// <summary> /// Only returns Tournament Result, no Skins /// </summary> /// <param name="request"></param> /// <param name="eventId"></param> /// <returns></returns> public ActionResult GetTournament([DataSourceRequest] DataSourceRequest request, int eventId) { List <MemberWinning> memberWinnings = new List <MemberWinning>(); int skinFlightId = db.Flight .Where(f => f.Name == "Skins") .Select(f => f.FlightId) .Single(); var winnings = db.MemberWinnings .Where(mw => mw.EventId == eventId && mw.FlightId != skinFlightId) .OrderBy(mw => mw.FlightId) .ThenBy(mw => mw.Amount) .ToList(); foreach (MemberWinnings mw in winnings) { MemberWinning memberWinning = memberWinnings .Where(x => x.MemberId == mw.MemberId) .FirstOrDefault(); if (memberWinning == null) { memberWinning = new MemberWinning(); Members member = db.Members.Find(mw.MemberId); memberWinning.Member = new Members() { Firstname = member.Firstname, Lastname = member.Lastname, MemberId = member.MemberId, }; memberWinning.Flight = new Flight() { FlightId = mw.FlightId, Name = mw.Flight.Name, }; memberWinning.EventId = mw.EventId; memberWinning.MemberId = mw.MemberId; memberWinnings.Add(memberWinning); } switch (mw.WinningTypeId) { case 1: // Tournament memberWinning.Tournament += mw.Amount; break; case 2: // Side Games memberWinning.SideGame += mw.Amount; break; default: break; } } return(Json(memberWinnings.AsQueryable().ToDataSourceResult(request), JsonRequestBehavior.AllowGet)); }
public ActionResult GetMember([DataSourceRequest] DataSourceRequest request, int memberId, int year) { List <MemberWinning> memberWinnings = new List <MemberWinning>(); var winnings = db.MemberWinnings .Where(mw => mw.MemberId == memberId && mw.Event.EventEnd.Year == year) .OrderBy(mw => mw.EventId) .ToList(); foreach (MemberWinnings mw in winnings) { MemberWinning memberWinning = memberWinnings .Where(x => x.EventId == mw.EventId) .FirstOrDefault(); if (memberWinning == null) { memberWinning = new MemberWinning(); memberWinning.Event = new Event() { EventEnd = mw.Event.EventEnd, Title = mw.Event.Title, }; memberWinning.EventId = mw.EventId; memberWinning.Flight = new Flight() { FlightId = mw.FlightId, Name = mw.Flight.Name, }; memberWinning.MemberId = mw.MemberId; memberWinnings.Add(memberWinning); } switch (mw.WinningTypeId) { case 1: // Tournament memberWinning.Tournament += mw.Amount; break; case 2: // Side Games memberWinning.SideGame += mw.Amount; break; default: break; } } return(Json(memberWinnings.AsQueryable().ToDataSourceResult(request), JsonRequestBehavior.AllowGet)); }