using Core.Enumerations; using DataProviders; using DomainResults.Common; using WeatherForecast.Models.Responses; namespace WeatherForecast.Services { public interface ICategoryItemsService { (List?, IDomainResult) Get(Guid siteId, Locales locale); IDomainResult Delete(Guid siteId); } public class CategoryItemsService : ICategoryItemsService { private readonly ILogger _logger; private readonly ICategoryDataProvider _categoryDataProvider; public CategoryItemsService( ILogger logger, ICategoryDataProvider categoryDataProvider ) { _logger = logger; _categoryDataProvider = categoryDataProvider; } public (List?, IDomainResult) Get(Guid siteId, Locales locale) { var (items, result) = _categoryDataProvider.GetAll(siteId); if (!result.IsSuccess || items == null) return (null, result); return IDomainResult.Success(items.Select(x => new GetCategoryItemResponseModel(x, locale)).ToList()); } public IDomainResult Delete(Guid siteId) { var resutl = _categoryDataProvider.DeleteAll(siteId); return resutl; } } }