using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using VetClinicBusinessLogic.BindingModels; using VetClinicBusinessLogic.Interfaces; using VetClinicBusinessLogic.ViewModels; namespace VetClinicBusinessLogic.BusinessLogic { internal class VisitLogic { private readonly IVisitStorage _VisitsStorage; private readonly IServiceStorage serviceStorage; public VisitLogic(IVisitStorage VisitsStorage, IServiceStorage serviceStorage) { this.serviceStorage = serviceStorage; _VisitsStorage = VisitsStorage; } public List Read(VisitBindingModel model) { if (model == null) { return _VisitsStorage.GetFullList(); } if (model.Id.HasValue) { return new List { _VisitsStorage.GetElement(model) }; } return _VisitsStorage.GetFilteredList(model); } public void CreateOrUpdate(VisitBindingModel model) { if (model.Id.HasValue) { _VisitsStorage.Update(model); } else { _VisitsStorage.Insert(model); } } public void Delete(VisitBindingModel model) { var element = _VisitsStorage.GetElement(new VisitBindingModel { Id = model.Id }); if (element == null) { throw new Exception("Услуга не найдена"); } _VisitsStorage.Delete(model); } public List ReadEmployee(VisitBindingModel model) { return _VisitsStorage.GetFilteredListEmployee(model); } } }