/// <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));
        }