using DataProviders; using DomainResults.Common; using WeatherForecast.Models.Responses; namespace WeatherForecast.Services { public interface IContentService { (GetContentResponseModel?, IDomainResult) GetContent(Guid siteId, string locale); } public class ContentService : IContentService { private readonly ILogger _logger; private readonly IContentDataProvider _contentDataProvider; public ContentService( ILogger logger, IContentDataProvider contentDataprovider ) { _logger = logger; _contentDataProvider = contentDataprovider; } public (GetContentResponseModel?, IDomainResult) GetContent(Guid siteId, string locale) { var (content, result) = _contentDataProvider.Get(siteId, locale); if (!result.IsSuccess || content == null) return (null, result); return IDomainResult.Success(new GetContentResponseModel(content)); } } }