예제 #1
0
        public void Update(ModuleBindingModel model)
        {
            using (var context = new MebelDatabase())
            {
                using (var transaction = context.Database.BeginTransaction())
                {
                    try
                    {
                        var module = context.Modules.FirstOrDefault(rec => rec.Id == model.Id);

                        if (module == null)
                        {
                            throw new Exception("Модуль не найден");
                        }

                        CreateModel(model, module, context);
                        context.SaveChanges();

                        transaction.Commit();
                    }
                    catch
                    {
                        transaction.Rollback();
                        throw;
                    }
                }
            }
        }
예제 #2
0
        public void Delete(ModuleBindingModel model)

        {
            var element = _moduleStorage.GetElement(new ModuleBindingModel {
                Id = model.Id
            });

            if (element == null)
            {
                throw new Exception("Элемент не найден");
            }
            _moduleStorage.Delete(model);
        }
예제 #3
0
 public List <ModuleViewModel> Read(ModuleBindingModel model)
 {
     if (model == null)
     {
         return(_moduleStorage.GetFullList());
     }
     if (model.Id.HasValue)
     {
         return(new List <ModuleViewModel> {
             _moduleStorage.GetElement(model)
         });
     }
     return(_moduleStorage.GetFilteredList(model));
 }
예제 #4
0
        public void Delete(ModuleBindingModel model)
        {
            using (var context = new MebelDatabase())
            {
                var module = context.Modules.FirstOrDefault(rec => rec.Id == model.Id);

                if (module == null)
                {
                    throw new Exception("Модуль не найден");
                }

                context.Modules.Remove(module);
                context.SaveChanges();
            }
        }
예제 #5
0
        public List <ModuleViewModel> GetFilteredList(ModuleBindingModel model)
        {
            if (model == null)
            {
                return(null);
            }

            using (var context = new MebelDatabase())
            {
                return(context.Modules
                       .Include(rec => rec.ModuleMaterial)
                       .Include(rec => rec.ModuleMebel)
                       .Where(rec => rec.Id == model.Id)
                       .Select(CreateModel)
                       .ToList());
            }
        }
예제 #6
0
        public void CreateOrUpdate(ModuleBindingModel model)
        {
            var element = _moduleStorage.GetElement(new ModuleBindingModel {
                Name = model.Name
            });

            if (element != null && element.Id != model.Id)
            {
                throw new Exception("Уже есть подарок с таким названием");
            }
            if (model.Id.HasValue)
            {
                _moduleStorage.Update(model);
            }
            else
            {
                _moduleStorage.Insert(model);
            }
        }
예제 #7
0
 public void Insert(ModuleBindingModel model)
 {
     using (var context = new MebelDatabase())
     {
         using (var transaction = context.Database.BeginTransaction())
         {
             try
             {
                 CreateModel(model, new Module(), context);
                 context.SaveChanges();
                 transaction.Commit();
             }
             catch
             {
                 transaction.Rollback();
                 throw;
             }
         }
     }
 }
예제 #8
0
        public ModuleViewModel GetElement(ModuleBindingModel model)
        {
            if (model == null)
            {
                return(null);
            }

            using (var context = new MebelDatabase())
            {
                var module = context.Modules
                             .Include(rec => rec.ModuleMaterial)
                             .ThenInclude(rec => rec.Material)
                             .Include(rec => rec.ModuleMebel)
                             .ThenInclude(rec => rec.Mebel)
                             .FirstOrDefault(rec => rec.Id == model.Id);

                return(module != null?
                       CreateModel(module) :
                           null);
            }
        }