Пример #1
0
        public bool CreateNames(IList <FirstNames> names)
        {
            try
            {
                using var context = new RacingContext();

                var uniquelist = new List <FirstNames>();

                foreach (var name in names)
                {
                    if (!context.FirstNamesList.Any(n => n.FirstName == name.FirstName && n.Nation == name.Nation))
                    {
                        var nation = context.NationList.SingleOrDefault(n => n.NationId == name.Nation.NationId);
                        name.Nation = nation;
                        uniquelist.Add(name);
                    }
                }

                context.FirstNamesList.AddRange(uniquelist);
                context.SaveChanges();

                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
Пример #2
0
        public bool Update(Race item)
        {
            try
            {
                using var context = new RacingContext();

                context.Attach(item);
                context.Entry(item).State = EntityState.Modified;
                var copyRacePointList = new List <RacePoint>(item.RacePointList);
                var race = context.RaceList.Include(r => r.RacePointList).Where(r => r.RaceId == item.RaceId).FirstOrDefault();

                foreach (var racePoint in copyRacePointList)
                {
                    if (racePoint.RacePointId == 0)
                    {
                        var oldRacePoint = race.RacePointList.Where(p => p.Position == racePoint.Position && p.RacePointId > 0).FirstOrDefault();

                        if (oldRacePoint != null)
                        {
                            context.Entry(oldRacePoint).State = EntityState.Deleted;
                        }

                        context.Entry(racePoint).State = EntityState.Added;
                    }
                    else
                    {
                        context.Entry(racePoint).State = EntityState.Modified;
                    }
                }

                foreach (var racePoint in race.RacePointList.Where(p => p.Position > copyRacePointList.Max(p => p.Position)).ToList())
                {
                    context.Entry(racePoint).State = EntityState.Deleted;
                }

                foreach (var racePart in race.RacePartList)
                {
                    if (racePart.RacePartId == 0)
                    {
                        context.Entry(racePart).State = EntityState.Added;
                    }
                    else
                    {
                        context.Entry(racePart).State = EntityState.Modified;
                    }
                }

                context.SaveChanges();
                return(true);
            }
            catch (Exception e)
            {
                throw e;
            }
        }
Пример #3
0
 public bool Update(Team item)
 {
     try
     {
         using var context = new RacingContext();
         context.Attach(item);
         context.Entry(item).State = EntityState.Modified;
         context.SaveChanges();
         return(true);
     }
     catch (Exception)
     {
         return(false);
     }
 }
Пример #4
0
        public bool Delete(int id)
        {
            try
            {
                using var context = new RacingContext();

                context.TeamList.Remove(context.TeamList.Find(id));
                context.SaveChanges();

                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
Пример #5
0
 public bool Create(Race item)
 {
     try
     {
         using var context = new RacingContext();
         if (!context.RaceList.Any(r => r.Name == item.Name))
         {
             context.RaceList.Add(item);
             context.SaveChanges();
         }
         return(true);
     }
     catch (Exception)
     {
         return(false);
     }
 }
Пример #6
0
 public bool Create(Setting item)
 {
     try
     {
         using var context = new RacingContext();
         if (!context.SettingList.Any(s => s.Description == item.Description))
         {
             context.SettingList.Add(item);
             context.SaveChanges();
         }
         return(true);
     }
     catch (Exception)
     {
         return(false);
     }
 }
Пример #7
0
 public bool Delete(int id)
 {
     try
     {
         using var context = new RacingContext();
         if (context.FirstNamesList.Any(n => n.Nation.NationId == id) || context.LastNamesList.Any(n => n.Nation.NationId == id))
         {
             return(false);
         }
         context.NationList.Remove(context.NationList.Find(id));
         context.SaveChanges();
         return(true);
     }
     catch (Exception)
     {
         return(false);
     }
 }
Пример #8
0
        public bool Delete(int id)
        {
            try
            {
                using var context = new RacingContext();

                var race = context.RaceList.Include(r => r.RacePointList).Where(r => r.RaceId == id).FirstOrDefault();
                foreach (var racePoint in race.RacePointList)
                {
                    context.Entry(racePoint).State = EntityState.Deleted;
                }

                context.SaveChanges();
                context.RaceList.Remove(context.RaceList.Find(id));
                context.SaveChanges();
                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
Пример #9
0
        public IList <FirstNames> GenerateNames(int numberOfNames)
        {
            try
            {
                using var context = new RacingContext();

                var firstNames = new List <FirstNames>();
                var rand       = new Random();

                for (int i = 0; i < numberOfNames; i++)
                {
                    var toSkip = rand.Next(context.FirstNamesList.Count());

                    firstNames.Add(context.FirstNamesList.Include(c => c.Nation).Skip(toSkip).Take(1).FirstOrDefault());
                }

                return(firstNames);
            }
            catch (Exception)
            {
                throw;
            }
        }
Пример #10
0
 public IList <Race> Get()
 {
     using var context = new RacingContext();
     return(context.RaceList.Include(x => x.RacePointList).Include(x => x.RacePartList).ToList());
 }
Пример #11
0
 public IList <Team> Get()
 {
     using var context = new RacingContext();
     return(context.TeamList.ToList());
 }
Пример #12
0
 public IList <Nation> Get()
 {
     using var context = new RacingContext();
     return(context.NationList.ToList());
 }
Пример #13
0
 public IList <Setting> Get()
 {
     using var context = new RacingContext();
     return(context.SettingList.ToList());
 }