private async Task <IEnumerable <Rank> > GetRanksFromDatabase(RankDateRange rankDateRange) { List <Rank> ranks = new List <Rank>(); DateTime startDate = this.GetStartDateOfRange(rankDateRange); DateTime endDate = this.GetEndDateOfRange(rankDateRange); // get the data from the data store var ranksData = await Task.Run(() => _RankData.GetRank(startDate, endDate)); // convert the data to a service type variable foreach (var rankData in ranksData) { ranks.Add(new Rank() { Number = 1, Name = "Name", Wins = 1, Losses = 1 }); } // work out the ranking for each participant ranks = this.RankTheChallenges(ranks); return(ranks); }
private DateTime GetStartDateOfRange(RankDateRange rankDateRange) { DateTime date = DateTime.Now; switch (rankDateRange) { case RankDateRange.Week: return(date.FirstDayOfWeek()); case RankDateRange.Month: return(date.FirstDayOfMonth()); default: return(date.Date); } }
public async Task <IActionResult> Get(int categoryId, RankDateRange rankDateRange = RankDateRange.Day) { var ranks = await _rankService.GetRanks(rankDateRange); var rankGets = new List <RankGet>(); foreach (var rank in ranks) { rankGets.Add(new RankGet() { Number = rank.Number, Name = rank.Name, Wins = rank.Wins, Losses = rank.Losses }); } return(Ok(ApiHelper.ResponseWrapper(rankGets))); }
private DateTime GetEndDateOfRange(RankDateRange rankDateRange) { DateTime date = DateTime.Now; DateTime returnDate = DateTime.Now; switch (rankDateRange) { case RankDateRange.Week: returnDate = date.LastDayOfWeek(); break; case RankDateRange.Month: returnDate = date.LastDayOfMonth(); break; default: returnDate = date.Date.AddHours(24); break; } return(returnDate.AddMilliseconds(-1)); }
/// <summary> /// Get a list of players from the data store /// </summary> /// <returns>A list of players</returns> public async Task <IEnumerable <Rank> > GetRanks(RankDateRange rankDateRange) { var ranks = await this.GetRanksFromDatabase(rankDateRange); return(ranks); }