public void SetTag() { var getData = Table4Collection.Find(it => true).ToList(); var groupByArea = getData.GroupBy(it => it.IdArea).ToList(); var listScoreArea = new List <ScoreArea>(); foreach (var item in groupByArea) { var listMaxScore = item.Where(it => it.Score == item.Max(i => i.Score)).ToList(); var getMaxScore = listMaxScore.FirstOrDefault(); foreach (var data in item) { if (data.Id == getMaxScore.Id) { data.Tags = new List <string> { "ชนะ" }; listScoreArea.Add(data); } else { data.Tags = new List <string> { "แพ้" }; listScoreArea.Add(data); } } } Table4Collection.DeleteMany(it => true); Table4Collection.InsertMany(listScoreArea); }
public void MockPrototypeScoreTable4() { var getData = ScorePollV3Collection.Find(it => true).ToList(); var groupByArea = getData.GroupBy(it => it.IdArea).ToList(); var listScoreTable4 = new List <ScoreArea>(); foreach (var item in groupByArea) { var groupByParty = item.GroupBy(it => it.IdParty).ToList(); foreach (var data in groupByParty) { if (data.Key != "000" && data.Key != "888") { var getCurrentScore = data.OrderByDescending(it => it.datePoll).ToList().FirstOrDefault(); listScoreTable4.Add(new ScoreArea { Id = Guid.NewGuid().ToString(), IdArea = getCurrentScore.IdArea, IdParty = getCurrentScore.IdParty, Score = getCurrentScore.Score, Source = getCurrentScore.Source }); } } } Table4Collection.DeleteMany(it => true); Table4Collection.InsertMany(listScoreTable4); }
public void DeleteTable4() { var dataTable4 = Table4Collection.Find(it => true).ToList(); foreach (var data in dataTable4.GroupBy(it => it.IdArea)) { Table4Collection.DeleteMany(it => it.IdArea == data.Key); } }
public async Task UpdateTable4() { var dataScorePoll = FinalScorePollCollection.Find(it => true).ToList(); var dataTable4 = Table4Collection.Find(it => true).ToList(); var dataScorePollGroupByArea = dataScorePoll.GroupBy(it => it.IdArea).ToList(); var listT4 = new List <ScoreArea>(); foreach (var dataPoll in dataScorePollGroupByArea) { var dataScorePollGroupByParty = dataPoll.GroupBy(it => it.IdParty).ToList(); foreach (var dataParty in dataScorePollGroupByParty) { var getCurentData = dataParty.OrderByDescending(it => it.datePoll).FirstOrDefault(); var getMatchDataTable4 = dataTable4.FirstOrDefault(it => it.IdArea == getCurentData.IdArea && it.IdParty == getCurentData.IdParty); if (getMatchDataTable4 != null) { getMatchDataTable4.Score = getCurentData.Score; getMatchDataTable4.Source = getCurentData.Source; getMatchDataTable4.StatusEdit = false; getMatchDataTable4.StatusAreaEdit = false; getMatchDataTable4.Region = getCurentData.Region; getMatchDataTable4.IdRegion = getCurentData.IdRegion; // create tag if (getMatchDataTable4.Tags == null) { getMatchDataTable4.Tags = new List <string>(); } listT4.Add(getMatchDataTable4); // Table4Collection.ReplaceOne(it => it.IdArea == getMatchDataTable4.IdArea // && it.IdParty == getMatchDataTable4.IdParty, getMatchDataTable4); } } } for (int i = 0; i < listT4.Count; i += 550) { var list = listT4.Skip(i).Take(550); ListT4Collection.InsertMany(list); await Task.Delay(1000); } foreach (var data in dataTable4.GroupBy(it => it.IdArea)) { Table4Collection.DeleteMany(it => it.IdArea == data.Key); } }
public void MatchDataWithTable2() { var readerCsv = new ReadCsv(); var getTable2 = readerCsv.MockPrototypeDataTable2(); var getData = Table4Collection.Find(it => true).ToList(); var listTable4 = new List <ScoreArea>(); foreach (var item in getData) { var getMatch = getTable2.FirstOrDefault(it => it.IdArea == item.IdArea && it.IdParty == item.IdParty); item.NameArea = getMatch.NameArea; item.NameInitial = getMatch.NameInitial; item.NameParty = getMatch.NameParty; item.NameRegister = getMatch.NameRegister; item.NoRegister = getMatch.NoRegister; item.Status = true; listTable4.Add(item); } Table4Collection.DeleteMany(it => true); Table4Collection.InsertMany(listTable4); }