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(); } }
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()); } }
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("Элемент не найден"); } } }
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(); }
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(); }