public void MockScoreParty() { var getData = ScoreAreaCollection.Find(it => true).ToList(); var groupByParty = getData.GroupBy(it => it.IdParty).ToList(); var totalScore = getData.Sum(it => it.Score); var listScoreParty = new List <PartyList>(); foreach (var item in groupByParty) { var totalScoreParty = item.Sum(it => it.Score); var percentScore = totalScoreParty * 100.0 / totalScore; // var totalScoreHave = Math.Round(percentScore / 100 * 500); var totalScoreHave = Convert.ToInt32(Math.Round(percentScore / 100 * 500)); var nameP = item.FirstOrDefault(it => it.IdParty == item.Key).NameParty; // Any var totalScoreArea = item.Count(it => it.Tags.Any(i => i == "ชนะ")); var scorePartyList = (totalScoreHave - totalScoreArea >= 0) ? totalScoreHave - totalScoreArea : 0; listScoreParty.Add(new PartyList { Id = Guid.NewGuid().ToString(), IdParty = item.Key, PartyName = nameP, TotalScore = totalScoreHave, AreaScore = totalScoreArea, NameListScore = scorePartyList, PercentScore = percentScore }); } PartyScoreCollection.DeleteMany(it => true); var sortData = listScoreParty.OrderByDescending(it => it.PercentScore); PartyScoreCollection.InsertMany(sortData); }
public List <ScoreArea> GetScoreAreaByParty(string idParty) { var getData = ScoreAreaCollection.Find(it => it.IdParty == idParty).ToList(); var getScoreAreaByParty = getData.Where(it => it.Tags.Any(i => i == "ชนะ")).ToList().OrderBy(it => it.IdArea).ToList(); return(getScoreAreaByParty); }
public void MockDataTable4() { var readerCsv = new ReadCsv(); var dataPrototypeTable2 = readerCsv.MockPrototypeDataTable2().OrderBy(it => it.IdArea).ToList(); ScoreAreaCollection.InsertMany(dataPrototypeTable2); }
public List <ScoreArea> GetScoreArea(string IdArea) { var getData = ScoreAreaCollection.Find(it => it.IdArea == IdArea.ToUpper()).ToList(); var sortData = getData.OrderBy(it => it.IdArea).ToList(); return(sortData); }
public List <ScoreArea> GetAllScoreTable4() { var getData = ScoreAreaCollection.Find(it => true).ToList(); var sortData = getData.OrderBy(it => it.IdArea).ToList(); return(sortData); }
public void CalculateScoreFromScorePoll() { var getDataScorePoll = ScorePollV3Collection.Find(it => true).ToList(); var getDataScoreArea = ScoreAreaCollection.Find(it => true).ToList(); var groupByArea = getDataScorePoll.GroupBy(it => it.IdArea).ToList(); var listScoreArea = new List <ScoreArea>(); foreach (var item in groupByArea) { var groupByPart = item.GroupBy(it => it.IdParty).ToList(); foreach (var data in groupByPart) { var getCurrentData = data.OrderByDescending(it => it.datePoll).FirstOrDefault(); if (getCurrentData.IdParty != "000" && getCurrentData.IdParty != "888") { var getDataParty = getDataScoreArea.FirstOrDefault(it => it.IdArea == getCurrentData.IdArea && it.IdParty == getCurrentData.IdParty); getDataParty.Score = getCurrentData.Score; getDataParty.Source = getCurrentData.Source; listScoreArea.Add(getDataParty); } } } ScoreAreaCollection.DeleteMany(it => true); var sortData = listScoreArea.OrderBy(it => it.IdArea).ToList(); ScoreAreaCollection.InsertMany(sortData); }
public List <ScoreArea> GetMaxScoreArea() { var getData = ScoreAreaCollection.Find(it => true).ToList(); var groupByArea = getData.GroupBy(it => it.IdArea).ToList(); var listMaxScore = new List <ScoreArea>(); foreach (var item in groupByArea) { var getWinArea = item.FirstOrDefault(it => it.Tags.Any(i => i == "ชนะ")); listMaxScore.Add(getWinArea); } var sortData = listMaxScore.OrderBy(it => it.IdArea).ToList(); return(sortData); }
public void SetTags() { var getDataScoreArea = ScoreAreaCollection.Find(it => true).ToList(); var groupByArea = getDataScoreArea.GroupBy(it => it.IdArea).ToList(); var listScoreArea = new List <ScoreArea>(); foreach (var item in groupByArea) { var maxScore = item.Max(it => it.Score); foreach (var data in item) { var tagDefault = (data.Score == maxScore) ? "ชนะ" : "แพ้"; data.Tags = new List <string>(); data.Tags.Add(tagDefault); // ScoreAreaCollection.ReplaceOne(it => it.Id == data.Id, data); listScoreArea.Add(data); } } ScoreAreaCollection.DeleteMany(it => true); var sortData = listScoreArea.OrderBy(it => it.IdArea).ToList(); ScoreAreaCollection.InsertMany(sortData); }