public void CreateOrUpdate(DopBindingModel model) { using (var context = new Database()) { Dop element = context.Dops.FirstOrDefault(rec => rec.DopName == model.DopName && rec.Id != model.Id); if (element != null) { //название throw new Exception("Уже есть блюдо с таким названием"); } if (model.Id.HasValue) { element = context.Dops.FirstOrDefault(rec => rec.Id == model.Id); if (element == null) { throw new Exception("Элемент не найден"); } } else { element = new Dop(); context.Dops.Add(element); } element.DopName = model.DopName; element.DataCreateDop = model.DataCreateDop; element.Count = model.Count; element.Place = model.Place; element.OsnvId = model.OsnvId; context.SaveChanges(); } }
public void Delete(DopBindingModel model) { using (var context = new Database()) { Dop element = context.Dops.FirstOrDefault(rec => rec.Id == model.Id); if (element != null) { context.Dops.Remove(element); context.SaveChanges(); } else { throw new Exception("Элемент не найден"); } } }
public List <DopViewModel> Read(DopBindingModel model) { using (var context = new Database()) { return(context.Dops .Where(rec => model == null || rec.Id == model.Id || (model.DateFrom.HasValue && model.DateTo.HasValue && rec.Osnv.DateCreate >= model.DateFrom && rec.Osnv.DateCreate <= model.DateTo)) .Select(rec => new DopViewModel { Id = rec.Id, OsnvId = rec.OsnvId, DopName = rec.DopName, Count = rec.Count, DataCreateDop = rec.DataCreateDop, Place = rec.Place, Name = rec.Osnv.Name, DateCreate = rec.Osnv.DateCreate }) .ToList()); } }