Esempio n. 1
0
        private void Saving(string inputName, string existedName, bool createNewTeam)
        {
            IEnumerable <Conformity> conformities = this.dataUnit.GetRepository <Conformity>()
                                                    .Get(filter: x => x.InputName == inputName, includeProperties: "TempResult")
                                                    .GroupBy(x => x.TempResult.Id)
                                                    .Select(x => x.First());

            foreach (Conformity conf in conformities)
            {
                TempSportEvent tempEvent = this.dataUnit.GetRepository <TempResult>()
                                           .Get(filter: x => x.Id == conf.TempResult.Id, includeProperties: "TempSportEvent")
                                           .Select(x => x.TempSportEvent)
                                           .FirstOrDefault();

                Team team = this.GetTeam(inputName, existedName, createNewTeam, tempEvent);

                int resultId1 = tempEvent.TempResults.ToArray()[0].Id;
                int resultId2 = tempEvent.TempResults.ToArray()[1].Id;
                var res1      = this.dataUnit.GetRepository <TempResult>()
                                .Get(filter: x => x.Id == resultId1, includeProperties: "Team")
                                .FirstOrDefault();

                var res2 = this.dataUnit.GetRepository <TempResult>()
                           .Get(filter: x => x.Id == resultId2, includeProperties: "Team")
                           .FirstOrDefault();

                if (res1.Team != null || res2.Team != null)
                {
                    tempEvent.TempResults = null;
                    tempEvent.TempResults = new List <TempResult> {
                        res1, res2
                    };

                    conf.TempResult.Team = team;
                    this.dataUnit.GetRepository <SportEvent>()
                    .Insert(Mapper.Map <TempSportEvent, SportEvent>(tempEvent));

                    this.DeleteTempEvent(tempEvent);

                    this.dataUnit.SaveChanges();
                }
                else
                {
                    conf.TempResult.Team = team;

                    this.DeleteConformities(conf.TempResult);

                    this.dataUnit.SaveChanges();
                }
            }
        }
Esempio n. 2
0
        private void DeleteTempEvent(TempSportEvent tempEvent)
        {
            int resultsCount = tempEvent.TempResults.Count;
            var resultsArray = tempEvent.TempResults.ToArray();

            for (int j = 0; j != resultsCount; j++)
            {
                if (resultsArray[j].Conformities != null)
                {
                    int confCount = resultsArray[j].Conformities.Count;
                    var confArray = resultsArray[j].Conformities.ToArray();

                    for (int i = 0; i != confCount; i++)
                    {
                        this.dataUnit.GetRepository <Conformity>().Delete(confArray[i]);
                    }
                }
                this.dataUnit.GetRepository <TempResult>().Delete(resultsArray[j]);
            }
            this.dataUnit.GetRepository <TempSportEvent>().Delete(tempEvent);
        }
Esempio n. 3
0
 private void Save(TempSportEvent tempEvent, SportEvent sportEvent)
 {
     if (tempEvent.TempResults.Count() != 0)
     {
         foreach (Result result in sportEvent.Results)
         {
             TempResult tempRes = new TempResult {
                 Team = result.Team, Score = result.Score, IsHome = result.IsHome
             };
             tempEvent.TempResults.Add(tempRes);
         }
         this.dataUnit.GetRepository <TempSportEvent>().Insert(tempEvent);
     }
     else
     {
         IEnumerable <SportEvent> existingEvent = this.dataUnit.GetRepository <SportEvent>().Get();
         if (!existingEvent.Contains(sportEvent))
         {
             this.dataUnit.GetRepository <SportEvent>().Insert(sportEvent);
         }
     }
 }
Esempio n. 4
0
        public bool SaveSportEvents(ICollection <SportEventDTO> eventDTOs)
        {
            Log.Info("Writing transferred data...");
            try
            {
                NamingMatcher matcher = new NamingMatcher(this.dataUnit);

                IEnumerable <SportType> sportTypes = this.dataUnit.GetRepository <SportType>().Get();

                foreach (SportEventDTO eventDTO in eventDTOs)
                {
                    SportType sportType = sportTypes.FirstOrDefault(st => st.Name == eventDTO.SportType)
                                          ?? new SportType {
                        Name = eventDTO.SportType
                    };

                    SportEvent sportEvent = new SportEvent
                    {
                        SportType = sportType, Date = this.ConvertAndTrimDate(eventDTO.Date), Results = new List <Result>()
                    };
                    TempSportEvent tempEvent = new TempSportEvent()
                    {
                        SportType = sportType, Date = this.ConvertAndTrimDate(eventDTO.Date), TempResults = new List <TempResult>()
                    };

                    foreach (ResultDTO resultDTO in eventDTO.Results)
                    {
                        Team team = new Team
                        {
                            Name      = resultDTO.TeamName,
                            SportType = sportType,
                            Names     = new List <TeamName> {
                                new TeamName {
                                    Name = resultDTO.TeamName
                                }
                            }
                        };

                        List <Conformity> conformities = matcher.ResolveNaming(team);

                        if (conformities == null)
                        {
                            team = this.dataUnit.GetRepository <TeamName>()
                                   .Get((x) => x.Name == team.Name).Select(x => x.Team).FirstOrDefault();

                            Result result = new Result {
                                Team = team, Score = resultDTO.Score ?? -1, IsHome = resultDTO.IsHome
                            };
                            sportEvent.Results.Add(result);
                        }
                        else
                        {
                            TempResult result = new TempResult
                            {
                                Score        = resultDTO.Score ?? -1,
                                Conformities = new List <Conformity>(),
                                IsHome       = resultDTO.IsHome
                            };

                            if (team.Names.FirstOrDefault().Id != 0)
                            {
                                result.Team = team;
                            }

                            foreach (Conformity conformity in conformities)
                            {
                                result.Conformities.Add(conformity);
                            }
                            conformities.Clear();
                            tempEvent.TempResults.Add(result);
                        }
                    }

                    this.Save(tempEvent, sportEvent);
                }
                this.dataUnit.SaveChanges();

                this.predictionSender.SendPredictionRequest();
            }
            catch (Exception ex)
            {
                Log.Error("Exception when trying to save transferred data to DB", ex);
                return(false);
            }
            Log.Info("Transferred data sucessfully saved");
            return(true);
        }
Esempio n. 5
0
        private Team GetTeam(string inputName, string existedName, bool createNewTeam, TempSportEvent tempEvent)
        {
            TeamName tn = new TeamName {
                Name = inputName
            };
            Team team = new Team();

            if (createNewTeam)
            {
                TeamName tn2 = new TeamName {
                    Name = existedName
                };
                team = new Team
                {
                    Name      = existedName,
                    SportType = tempEvent.SportType,
                    Names     = new List <TeamName> {
                        tn
                    }
                };
                if (inputName != existedName)
                {
                    team.Names.Add(tn2);
                }
            }
            else
            {
                team = this.dataUnit.GetRepository <TeamName>()
                       .Get(filter: t => t.Name == existedName, includeProperties: "Team")
                       .Select(t => t.Team)
                       .FirstOrDefault();

                team.Names.Add(tn);
            }

            return(team);
        }