using DomainResults.Common; using DataProviders.Collections; using Core.Abstractions; using WeatherForecast.Models.Content.Responses; using WeatherForecast.Models.Content.Requests; namespace WeatherForecast.Services { /// /// /// public interface IContentService { /// /// /// /// /// /// (GetContentResponseModel?, IDomainResult) GetContent(Guid siteId, GetContentRequestModel requestData); } /// /// /// public class ContentService : ServiceBase, IContentService { private readonly IContentDataProvider _contentDataProvider; /// /// /// /// /// public ContentService( ILogger logger, IContentDataProvider contentDataprovider ) : base(logger) { _contentDataProvider = contentDataprovider; } /// /// /// /// /// /// public (GetContentResponseModel?, IDomainResult) GetContent(Guid siteId, GetContentRequestModel requestData) { var (content, result) = _contentDataProvider.Get(siteId); if (!result.IsSuccess || content == null) return (null, result); return IDomainResult.Success(new GetContentResponseModel(content, requestData.Locale)); } } }