using SushiBarContracts.BindingModels; using SushiBarContracts.SearchModels; using SushiBarContracts.ViewModels; using SushiBarDatabaseImplement.Storages; namespace SushiBarBusinessLogic { public class PromotionLogic { private readonly PromotionStorage _promotionStorage; public PromotionLogic(PromotionStorage PromotionStorage) { _promotionStorage = PromotionStorage; } public List? ReadList(PromotionSearchModel? Model) { var List = Model is null ? _promotionStorage.GetFullList() : _promotionStorage.GetFilteredList(Model); if (List is null) { return null; } return List; } public PromotionViewModel? ReadElement(PromotionSearchModel? Model) { if (Model is null) throw new ArgumentNullException(nameof(Model)); var Element = _promotionStorage.GetElement(Model); if (Element is null) { return null; } return Element; } public bool Create(PromotionBindingModel Model) { if (_promotionStorage.Insert(Model) is null) { return false; } return true; } public bool Update(PromotionBindingModel Model) { if (_promotionStorage.Update(Model) is null) { return false; } return true; } public bool Delete(PromotionBindingModel Model) { if (_promotionStorage.Delete(Model) is null) { return false; } return true; } } }