reactredux/webapi/WeatherForecast/Services/ShopCartItemsService.cs

36 lines
1004 B
C#

using DataProviders;
using DomainResults.Common;
using WeatherForecast.Models.Responses;
namespace WeatherForecast.Services {
public interface IShopCartItemsService {
(List<GetShopCartItemResponseModel>?, IDomainResult) Get(Guid siteId, Guid userId);
}
public class ShopCartItemsService : IShopCartItemsService {
ILogger<ShopCartItemsService> _logger;
IShopCartDataProvider _shopCartDataProvider;
public ShopCartItemsService(
ILogger<ShopCartItemsService> logger,
IShopCartDataProvider shopCartDataprovider
) {
_logger = logger;
_shopCartDataProvider = shopCartDataprovider;
}
public (List<GetShopCartItemResponseModel>?, 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());
}
}
}