using DataProviders; using DomainResults.Common; using WeatherForecast.Models.Responses; namespace WeatherForecast.Services { public interface IShopCartItemsService { (List?, IDomainResult) Get(Guid siteId, Guid userId); } public class ShopCartItemsService : IShopCartItemsService { ILogger _logger; IShopCartDataProvider _shopCartDataProvider; public ShopCartItemsService( ILogger logger, IShopCartDataProvider shopCartDataprovider ) { _logger = logger; _shopCartDataProvider = shopCartDataprovider; } public (List?, IDomainResult) Get(Guid siteId, Guid userId) { var (items, result) = _shopCartDataProvider.GetAll(siteId, userId); if (!result.IsSuccess || items == null) return (null, result); return IDomainResult.Success(items.Select(x => new GetShopCartItemResponseModel(x)).ToList()); } } }