using DataProviders.Collections; using DomainResults.Common; namespace WeatherForecast.Services.Abstractions { /// /// /// public abstract class PostItemServiceBase { /// /// /// protected readonly ICategoryDataProvider _categoryDataProvider; /// /// /// /// public PostItemServiceBase( ICategoryDataProvider categoryDataProvider ) { _categoryDataProvider = categoryDataProvider; } /// /// /// /// /// /// public (List?, IDomainResult) AddCategoryIfNullOrEmpty(Guid siteId, List? categories) { categories ??= new List(); if (categories.Count == 0) { var (catId, catCreateResult) = _categoryDataProvider.CreateDefault(siteId); if (!catCreateResult.IsSuccess || catId == null) return IDomainResult.Failed?>(); categories.Add(catId.Value); } return IDomainResult.Success(categories); } } }