コード例 #1
0
        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;
            }
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        public async Task <IActionResult> ProductDeletion([FromBody] ProductDeletionRequest request)
        {
            var result = await warehouseSvc.ProductDeletion(request);

            return(Ok(result));
        }