コード例 #1
0
        public void CreateOrUpdate(DetailBindingModel model)
        {
            using (var context = new KorytoDatabase())
            {
                Detail element = context.Details.FirstOrDefault(rec => rec.DetailName == model.DetailName && rec.Id != model.Id);

                if (element != null)
                {
                    throw new Exception("Уже есть деталь с таким названием");
                }

                if (model.Id.HasValue)
                {
                    element = context.Details.FirstOrDefault(rec => rec.Id == model.Id);

                    if (element == null)
                    {
                        throw new Exception("Элемент не найден");
                    }
                }
                else
                {
                    element = new Detail();
                    context.Details.Add(element);
                }
                element.DetailName  = model.DetailName;
                element.Price       = model.Price;
                element.TotalAmount = model.TotalAmount;

                context.SaveChanges();
            }
        }
コード例 #2
0
 public List <DetailViewModel> Read(DetailBindingModel model)
 {
     using (var context = new KorytoDatabase())
     {
         return(context.Details
                .Where(rec => model == null || rec.Id == model.Id)
                .Select(rec => new DetailViewModel
         {
             Id = rec.Id,
             DetailName = rec.DetailName,
             Price = rec.Price,
             TotalAmount = rec.TotalAmount
         })
                .ToList());
     }
 }
コード例 #3
0
        public void Delete(DetailBindingModel model)
        {
            using (var context = new KorytoDatabase())
            {
                Detail element = context.Details.FirstOrDefault(rec => rec.Id == model.Id);

                if (element != null)
                {
                    context.Details.Remove(element);
                    context.SaveChanges();
                }
                else
                {
                    throw new Exception("Элемент не найден");
                }
            }
        }
コード例 #4
0
        public void AddElement(DetailBindingModel model)
        {
            var detail = context.Details.FirstOrDefault(record => record.DetailName == model.DetailName);

            if (detail != null)
            {
                throw new Exception("Уже есть деталь");
            }

            context.Details.Add(new Detail
            {
                DetailName = model.DetailName,
                Amount     = model.Amount
            });

            context.SaveChanges();
        }
コード例 #5
0
        public void UpdateElement(DetailBindingModel model)
        {
            var detail = context.Details.FirstOrDefault(record => record.DetailName == model.DetailName && record.Id != model.Id);

            if (detail != null)
            {
                throw new Exception("Уже есть деталь");
            }

            detail = context.Details.FirstOrDefault(rec => rec.Id == model.Id);

            if (detail == null)
            {
                throw new Exception("Деталь не найдена");
            }

            detail.DetailName = model.DetailName;
            detail.Amount     = model.Amount;

            context.SaveChanges();
        }