示例#1
0
        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);
        }
示例#2
0
        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);
            }
        }
示例#5
0
        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);
        }