Пример #1
0
        private Route CreateModel(Route route, RouteBindingModel model, UrskiyPeriodDatabase context)
        {
            route = CreateModel(route, model);

            if (model.Id.HasValue)
            {
                var routeReserve = context.RouteReserves.Where(rec =>
                                                               rec.RouteId == model.Id.Value).ToList();
                // удаляем те, которых нет в модели
                context.RouteReserves.RemoveRange(routeReserve.Where(rec =>
                                                                     !model.RouteReverces.ContainsKey(rec.ReserveId)).ToList());
                context.SaveChanges();

                foreach (var Reserve in routeReserve)
                {
                    model.RouteReverces.Remove(Reserve.ReserveId);
                }
            }

            foreach (var routeReserve in model.RouteReverces)
            {
                context.RouteReserves.Add(new RouteReserve
                {
                    ReserveId = routeReserve.Key,
                    RouteId   = route.Id
                });
            }
            context.SaveChanges();
            return(route);
        }
Пример #2
0
        private CostItem CreateModel(CostItem costItem, CostItemBindingModel model, UrskiyPeriodDatabase context)
        {
            costItem = CreateModel(costItem, model);

            if (model.Id.HasValue)
            {
                var routeCost = context.CostItemRoutes.Where(rec =>
                                                             rec.CostItemId == model.Id.Value).ToList();
                // удаляем те, которых нет в модели
                context.CostItemRoutes.RemoveRange(routeCost.Where(rec =>
                                                                   !model.CostItemRoute.ContainsKey(rec.RouteId)).ToList());
                context.SaveChanges();

                foreach (var Reserve in routeCost)
                {
                    model.CostItemRoute.Remove(Reserve.RouteId);
                }
            }

            foreach (var cost in model.CostItemRoute)
            {
                context.CostItemRoutes.Add(new CostItemRoute
                {
                    CostItemId = costItem.Id,
                    RouteId    = cost.Key
                });
            }
            context.SaveChanges();
            return(costItem);
        }
Пример #3
0
 public void Update(CostItemBindingModel model)
 {
     using (var context = new UrskiyPeriodDatabase())
     {
         using (var transaction = context.Database.BeginTransaction())
         {
             try
             {
                 var costItem = context.CostItem.FirstOrDefault(rec => rec.Id == model.Id);
                 if (costItem == null)
                 {
                     throw new Exception("Не найдено");
                 }
                 CreateModel(costItem, model, context);
                 context.SaveChanges();
                 transaction.Commit();
             }
             catch
             {
                 transaction.Rollback();
                 throw;
             }
         }
     }
 }
Пример #4
0
        public void Insert(RouteBindingModel model)
        {
            using (var context = new UrskiyPeriodDatabase())
            {
                using (var transaction = context.Database.BeginTransaction())
                {
                    try
                    {
                        if (context.Routes.FirstOrDefault(rec => rec.Name == model.Name) != null)
                        {
                            return;
                        }

                        Route route = CreateModel(new Route(), model);
                        context.Routes.Add(route);
                        context.SaveChanges();
                        CreateModel(route, model, context);

                        transaction.Commit();
                    }
                    catch
                    {
                        transaction.Rollback();
                        throw;
                    }
                }
            }
        }
Пример #5
0
 public void Update(RouteBindingModel model)
 {
     using (var context = new UrskiyPeriodDatabase())
     {
         using (var transaction = context.Database.BeginTransaction())
         {
             try
             {
                 var route = context.Routes.FirstOrDefault(rec => rec.Id == model.Id);
                 if (route == null)
                 {
                     throw new Exception("Маршрут не найден");
                 }
                 CreateModel(route, model, context);
                 context.SaveChanges();
                 transaction.Commit();
             }
             catch
             {
                 transaction.Rollback();
                 throw;
             }
         }
     }
 }
Пример #6
0
 public void Insert(PaymentBindingModel model)
 {
     using (var context = new UrskiyPeriodDatabase())
     {
         context.Payment.Add(CreateModel(new Payment(), model));
         context.SaveChanges();
     }
 }
Пример #7
0
 public void Insert(UserBindingModel model)
 {
     using (var context = new UrskiyPeriodDatabase())
     {
         context.Users.Add(CreateModel(new User(), model));
         context.SaveChanges();
     }
 }
 public void Insert(ReserveBindingModel model)
 {
     using (var context = new UrskiyPeriodDatabase())
     {
         if (context.Reserves.FirstOrDefault(rec => rec.Name == model.Name) != null)
         {
             return;
         }
         context.Reserves.Add(CreateModel(new Reserve(), model));
         context.SaveChanges();
     }
 }
Пример #9
0
 public void Delete(PaymentBindingModel model)
 {
     using (var context = new UrskiyPeriodDatabase())
     {
         var user = context.Payment.FirstOrDefault(rec => rec.Id == model.Id);
         if (user == null)
         {
             throw new Exception("Не найдено");
         }
         context.Payment.Remove(user);
         context.SaveChanges();
     }
 }
Пример #10
0
 public void Update(PaymentBindingModel model)
 {
     using (var context = new UrskiyPeriodDatabase())
     {
         var payment = context.Payment.FirstOrDefault(rec => rec.Id == model.Id);
         if (payment == null)
         {
             throw new Exception("Не найдено");
         }
         CreateModel(payment, model);
         context.SaveChanges();
     }
 }
 public void Delete(ReserveBindingModel model)
 {
     using (var context = new UrskiyPeriodDatabase())
     {
         var user = context.Reserves.FirstOrDefault(rec => rec.Id == model.Id);
         if (user == null)
         {
             throw new Exception("Заповедник не найден");
         }
         context.Reserves.Remove(user);
         context.SaveChanges();
     }
 }
Пример #12
0
 public void Update(UserBindingModel model)
 {
     using (var context = new UrskiyPeriodDatabase())
     {
         var user = context.Users.FirstOrDefault(rec => rec.Id == model.Id);
         if (user == null)
         {
             throw new Exception("Клиент не найден");
         }
         CreateModel(user, model);
         context.SaveChanges();
     }
 }
Пример #13
0
 public void Delete(RouteBindingModel model)
 {
     using (var context = new UrskiyPeriodDatabase())
     {
         var route = context.Routes.FirstOrDefault(rec => rec.Id == model.Id);
         if (route == null)
         {
             throw new Exception("Маршрут не найден");
         }
         context.Routes.Remove(route);
         context.SaveChanges();
     }
 }
Пример #14
0
 public void Insert(CostItemBindingModel model)
 {
     using (var context = new UrskiyPeriodDatabase())
     {
         using (var transaction = context.Database.BeginTransaction())
         {
             try
             {
                 CostItem cost = CreateModel(new CostItem(), model);
                 context.CostItem.Add(cost);
                 context.SaveChanges();
                 CreateModel(cost, model, context);
                 context.SaveChanges();
                 transaction.Commit();
             }
             catch
             {
                 transaction.Rollback();
                 throw;
             }
         }
     }
 }