public async Task <IActionResult> RemoveProduct( [FromServices] Func <RemoveProductItemFromShoppingCart, CancellationToken, ValueTask> handle, Guid id, [FromBody] RemoveProductRequest request, CancellationToken ct ) { if (request == null) { throw new ArgumentNullException(nameof(request)); } var command = RemoveProductItemFromShoppingCart.From( id, PricedProductItem.From( ProductItem.From( request.ProductItem?.ProductId, request.ProductItem?.Quantity ), request.ProductItem?.UnitPrice ), request.Version ); await handle(command, ct); return(Ok()); }
public async Task <IActionResult> RemoveProduct([FromBody] RemoveProductRequest request) { return(await HandleAsync(async() => { var client = clientFactory.Create <RemoveProductRequest, RemoveProductResponse>(); return await client.Request(request); })); }
public JsonResult Delete(System.Int32 id) { RemoveProductRequest request = new RemoveProductRequest(); request.ProductID = id; RemoveProductResponse response = _productService.RemoveProduct(request); return(Json(response)); }
public async Task <IActionResult> RemoveProduct([FromBody] RemoveProductRequest request) { var(version, order) = await _aggregateService.GetAggregate <Order>(request.OrderId.ToString()); order.RemoveProduct(request.ProductId); await _aggregateService.SaveAggregate(order, version); return(Ok(order)); }
public async Task <IActionResult> DeleteProduct([FromBody] RemoveProductRequest request) { bool result = await _service.RemoveProduct(request); if (!result) { return(BadRequest("Wrong id")); } return(Ok(result)); }
public async Task <RemoveProductResponse> RemoveProduct(RemoveProductRequest request) { var cart = await repo.GetCartByIdAsync(request.CartId); cart.RemoveProduct(request.ProductId); await repo.SaveAsync(cart); return(new RemoveProductResponse(true, ResponseAction.Deleted)); }
public async Task RemoveProduct(string id, RemoveProductRequest request, CancellationToken cancellationToken) { var httpRequestMessage = new HttpRequestMessage(HttpMethod.Put, $"/api/v1/basket/{id}/items/remove") { Content = new StringContent(JsonConvert.SerializeObject(request)) }; var responseMessage = await _httpClient.SendAsync(httpRequestMessage, cancellationToken); responseMessage.EnsureSuccessStatusCode(); }
public async Task RemoveProduct(Guid cartId, Guid productId) { var request = new RemoveProductRequest(cartId, productId); var response = await restClient.Delete <RemoveProductRequest, RemoveProductResponse>(routing.URL, routing.RemoveProduct, request, HeaderAccept.Json); if (!response.IsSuccess) { //do something } }
public async Task <bool> RemoveProduct(RemoveProductRequest request) { Product product = _context.Products.Find(request.id); if (product == null) { return(false); } _context.Products.Remove(product); await _context.SaveChangesAsync(); return(true); }
public async Task <bool> Handle(RemoveProductRequest request, IOutputPort <RemoveProductResponse> outputPort) { var product = await repository.GetProductById(request.ProductId); if (product != null) { await repository.Delete(product); outputPort.Handle(new RemoveProductResponse(true)); return(true); } outputPort.Handle(new RemoveProductResponse(false, $"ProductId - {request.ProductId} was not found")); return(false); }
public async Task <IActionResult> RemoveProduct(Guid id, [FromBody] RemoveProductRequest request) { var command = Carts.RemovingProduct.RemoveProduct.Create( id, PricedProductItem.Create( request?.ProductItem?.ProductId, request?.ProductItem?.Quantity, request?.ProductItem?.UnitPrice ) ); await commandBus.Send(command); return(Ok()); }
public async Task <IActionResult> Remove([FromRoute] Guid id) { try { Guid userId = Guid.Parse(User.FindFirst(ClaimTypes.PrimarySid).Value); var request = new RemoveProductRequest(id, userId); var response = await _mediator.Send(request, CancellationToken.None); return(Ok(response)); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public RemoveProductResponse RemoveProduct(RemoveProductRequest request) { RemoveProductResponse response = new RemoveProductResponse(); response.Errors = new List <BusinessRule>(); try { if (_productRepository.Remove(request.ProductID) > 0) { response.ProductDeleted = true; } } catch (Exception ex) { response.Errors.Add(new BusinessRule("DAL", "DAL_ERROR: " + ex.Message)); } return(response); }
public async Task <IActionResult> RemoveProduct(Guid id, [FromBody] RemoveProductRequest request) { Guard.Against.Null(request, nameof(request)); Guard.Against.Null(request.ProductItem, nameof(request)); var command = Commands.RemoveProduct.Create( id, PricedProductItem.Create( request.ProductItem.ProductId, request.ProductItem.Quantity, request.ProductItem.UnitPrice ) ); await commandBus.Send(command); return(Ok()); }
public async override Task <RemoveProductResponse> RemoveProduct(RemoveProductRequest request, ServerCallContext context) { try { RemoveProductResponse removeProductResponse = new() { Result = await mediator.Send <bool>(new RemoveProductCommand() { ProductIdentity = Guid.Parse(request.ProductIdentity) }) }; return(removeProductResponse); } catch { throw; } }
public async Task <IActionResult> RemoveProduct([FromBody] RemoveProductRequest request) { return(await HandleAsync(async() => await service.RemoveProduct(request))); }