using Core.Abstractions; using DataProviders.Collections; using DomainResults.Common; namespace WeatherForecast.Services.Abstractions { /// /// /// public abstract class PostItemServiceBase : ServiceBase { /// /// /// protected readonly ICategoryDataProvider _categoryDataProvider; /// /// /// /// /// public PostItemServiceBase( ILogger logger, ICategoryDataProvider categoryDataProvider ) : base(logger) { _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); } } }