using Microsoft.Extensions.Logging; using DomainResults.Common; using MongoDB.Bson.Serialization; using MongoDB.Driver; using DataProviders.Abstractions; using Core.DomainObjects.Documents; namespace DataProviders { public interface IShopCartDataProvider { (List?, IDomainResult) Get(Guid siteId, Guid userId); } public class ShopCartDataProvider : DataProviderBase, IShopCartDataProvider { private const string _collectionName = "shopcart"; public ShopCartDataProvider( ILogger> logger, IMongoClient client, IIdGenerator idGenerator, ISessionService sessionService) : base(logger, client, idGenerator, sessionService) { } public (List?, IDomainResult) Get(Guid siteId, Guid userId) => GetWithPredicate(x => x.SiteId == siteId && x.UserId == userId, _collectionName); } }