async static Task DeleteProduct(string warehouseID, string productID) { try { lblSendingData.Visible = true; progressBar.Visible = true; var request = new ProductDeletionRequest() { WarehouseID = warehouseID, ProductID = productID }; var jsonPayload = JsonConvert.SerializeObject(request); var stringContent = new StringContent(jsonPayload, Encoding.UTF8, "application/json"); HttpClient httpClient = new HttpClient(); httpClient.Timeout = TimeSpan.FromSeconds(15); var response = await httpClient.PostAsync($"{Settings.WAREHOUSE_API_BASEURL}/warehouse/productdeletion", stringContent); if (response.IsSuccessStatusCode) { MessageBox.ErrorQuery(50, 7, "Alert", "Product has been successfully deleted", "Accept"); Action action = () => SearchProductsWindow.Draw(); running = action; Application.RequestStop(); } else { MessageBox.ErrorQuery(50, 7, "Alert", "There was an error deleting the product", "Accept"); } } catch { MessageBox.ErrorQuery(50, 7, "Alert", "There was an error deleting the product", "Accept"); } finally { progressBar.Fraction = 0; lblSendingData.Visible = false; progressBar.Visible = false; } }
public async Task <bool> ProductDeletion(ProductDeletionRequest request) { bool result = false; List <Models.Product> list = null; var products = await GetWarehouseProducts(request.WarehouseID); if (products != null) { list = products; var product = list.Find(x => x.ProductID == request.ProductID); if (product == null) { return(false); } else { list.Remove(product); } var keyValueContent = new[] { new{ key = request.WarehouseID, value = list } }; var jsonPayload = JsonConvert.SerializeObject(keyValueContent); var stringContent = new StringContent(jsonPayload, Encoding.UTF8, "application/json"); var response = await httpClient.PostAsync($"{Settings.DAPR_SIDECAR_BASEURL}/v1.0/state/{Settings.WAREHOUSE_STATE_COMPONENT_NAME}", stringContent); if (response.IsSuccessStatusCode) { result = true; } } return(result); }
public async Task <IActionResult> ProductDeletion([FromBody] ProductDeletionRequest request) { var result = await warehouseSvc.ProductDeletion(request); return(Ok(result)); }