private async Task <Result <Cart> > StartNewCartAsync(EntityId customerId) { var newCart = new Cart(customerId); var addResult = await repository.AddAsync(newCart); if (addResult.IsFailure) { return(Result.Fail <Cart>(addResult.Error)); } return(Result.Ok(newCart)); }
public async Task <Result <UserCartViewModel> > Handle(CreateCartForUserCommand command, CancellationToken cancellationToken) { var cart = new eStore.Domain.Entities.CartAggregate.Cart(command.userId); await _cartRepository.AddAsync(cart); var data = new UserCartViewModel() { BuyerId = cart.BuyerId, Id = cart.Id, Items = new List <CartItemViewModel>() }; return(Result <UserCartViewModel> .Success(data)); }
private async Task <Cart> GetExistingOrCreateNewCart(string userName) { var cart = await _cartRepository.GetByUserNameAsync(userName); if (cart != null) { return(cart); } // if it is first attempt create new var newCart = new Cart { UserName = userName }; await _cartRepository.AddAsync(newCart); return(newCart); }
public async Task <bool> AddCartAsync(Entities.Cart cart) { return(await _cartRepository.AddAsync(cart)); }