public Task <Result> Handle(Command command, CancellationToken cancellationToken) { var user = _bskContext.Users.FirstOrDefault(u => u.Id == command.UserId); if (user == null) { throw new NotFoundException("User not found"); } var product = _bskContext.Products.FirstOrDefault(p => p.Id == command.ProductId); if (product == null) { throw new NotFoundException("Product not found"); } var basket = _bskContext.Baskets.FirstOrDefault(b => b.UserId == command.UserId); if (basket == null) { basket = new Models.Database.Basket(command.UserId); _bskContext.Baskets.Add(basket); } basket.Products.Add(product); return(Task.FromResult(new Result { Success = true })); }
public Task <Result> Handle(Command command, CancellationToken cancellationToken) { var user = _bskContext.Users.FirstOrDefault(u => u.Id == command.UserId); if (user == null) { throw new NotFoundException("User not found"); } var basket = _bskContext.Baskets.FirstOrDefault(b => b.UserId == command.UserId); if (basket == null) { basket = new Models.Database.Basket(command.UserId); } return(Task.FromResult(new Result { Basket = basket })); }