private async void Delete_Click(object sender, RoutedEventArgs e) { if (FormGrid.Opacity != 0) { ResetForm(); FormGrid.BeginStoryboard((Storyboard)Application.Current.TryFindResource("FadeInGrid")); } //Get button control Button Control = (Button)sender; //Get User information var Product = NovaAPI.APIProdructs.products.Find(x => x.id == Control.Tag.ToString()); if (MessageBox.Show($"A continuación se eliminara el producto '{Product.name}'{Environment.NewLine}¿Desea continuar?", "Eliminar producto", MessageBoxButton.YesNo) == MessageBoxResult.Yes) { var Data = new NovaAPI.APIProdructs.ProductClass(); Data.id = Product.id; //Delete user string requestData = JsonConvert.SerializeObject(Data); bool response = await NovaAPI.APIProdructs.GetValues("3", DataConfig.LocalAPI, requestData); if (response) { NovaAPI.APIProdructs.products.Remove(Product); ProductsGrid.Items.Refresh(); } else { MessageBox.Show($"Error al eliminar el producto, INFO: {Environment.NewLine}{NovaAPI.APIProdructs.Message}"); } } }
private async void SetProductInfo(NovaAPI.APIProdructs.ProductClass Data) { //Get price parameters var PriceData = new NovaAPI.APIPrice.PriceClass(); PriceData.id = Data.id; //rol json data string requestData = JsonConvert.SerializeObject(PriceData); try { NovaAPI.APIProdructPrice.price.Clear(); } catch (Exception Ex) { } //Load prices data bool Response = await NovaAPI.APIProdructPrice.GetValues("5", DataConfig.LocalAPI, requestData); if (Response) { //Set product default price var GeneralPData = new NovaAPI.APIPrice.PriceClass() { name = "Precio general", value = Data.sellprice }; NovaAPI.APIProdructPrice.price.Insert(0, GeneralPData); EditPrice = EditProduct == true ? false : true; //Set price categories PriceCatCB.ItemsSource = NovaAPI.APIProdructPrice.price; PriceCatCB.Items.Refresh(); //PriceCatCB.SelectedIndex = PriceCatCB.SelectedItem == null ? 0 : PriceCatCB.SelectedIndex; int PCount = Convert.ToInt32(Data.branch_count); int MinPCount = Convert.ToInt32(Data.minstock); string PInfo = ""; if (PCount == 0) { PInfo = "(Sin existencias)"; ProductBranchCountLB.Foreground = new SolidColorBrush(Colors.DarkRed); InventoryInBT.IsEnabled = false; } else if (PCount < MinPCount && MinPCount != 0) { PInfo = "(Poca existencia)"; ProductBranchCountLB.Foreground = new SolidColorBrush(Colors.DarkOrange); InventoryInBT.IsEnabled = true; } else { ProductBranchCountLB.Foreground = new SolidColorBrush(Colors.DarkGreen); InventoryInBT.IsEnabled = true; } ProductBranchCountLB.Content = $"{PCount} {PInfo}"; if (PriceCatCB.SelectedItem == null) { PriceCatCB.SelectedIndex = SelectedCatIndex; } } }
private async void SaveProductBT_Click(object sender, RoutedEventArgs e) { NewProductBT.Focus(); if (ProductCodeTX.Text.Length == 0) { MessageBox.Show("El codigo del producto no puede estar en blanco"); ProductCodeTX.Focus(); return; } else if (ProductNameTX.Text.Length == 0 || ProductNameTX.Text.Length < 5) { MessageBox.Show("El nombre del producto no puede estar en blanco o ser inferior a 5 caracteres"); ProductNameTX.Focus(); return; } //Get/Set product parameters var Data = new NovaAPI.APIProdructs.ProductClass(); Data.id = ProductSelectIndex; Data.code = ProductCodeTX.Text; Data.name = ProductNameTX.Text; Data.category = ((NovaAPI.APICategory.CategoryClass)ProductCatCB.SelectedItem).id; Data.costprice = ProductCostTX.Number.ToString(); Data.sellprice = ProductPriceTX.Number.ToString(); Data.minstock = MinStockTX.Text; Data.maxstock = MaxStockTX.Text; Data.unity_type = ProductTypeCB.SelectedIndex.ToString(); Data.hproduct = H; Data.iva = TaxIvaRB.IsChecked == true ? "1" : "0"; Data.iac = TaxIacRB.IsChecked == true ? "1" : "0"; Data.iva5 = TaxIva5RB.IsChecked == true ? "1" : "0"; //rol json data string requestData = JsonConvert.SerializeObject(Data); bool response; //Modify / Create request if (Data.id.Length > 0) { response = await NovaAPI.APIProdructs.GetValues("2", DataConfig.LocalAPI, requestData); } else { response = await NovaAPI.APIProdructs.GetValues("1", DataConfig.LocalAPI, requestData); } //Request response if (response) { if (Data.id.Length > 0) { //On Product modified var ProductData = NovaAPI.APIProdructs.products.Find(x => x.id == Data.id); ProductData.code = Data.code; ProductData.name = Data.name; ProductData.category = Data.category; ProductData.costprice = Data.costprice; ProductData.sellprice = Data.sellprice; ProductData.minstock = Data.minstock; ProductData.maxstock = Data.maxstock; ProductData.unity_type = Data.unity_type; ProductData.iac = Data.iac; ProductData.iva5 = Data.iva5; ProductData.iva = Data.iva; ProductsGrid.Items.Refresh(); FormGrid.BeginStoryboard((Storyboard)Application.Current.TryFindResource("FadeInGrid")); ResetForm(); } else { //On new produict created response var ProductData = new NovaAPI.APIProdructs.ProductClass(); ProductData.code = Data.code; ProductData.name = Data.name; ProductData.category = Data.category; ProductData.costprice = Data.costprice; ProductData.sellprice = Data.sellprice; ProductData.minstock = Data.minstock; ProductData.maxstock = Data.maxstock; ProductData.iac = Data.iac; ProductData.iva5 = Data.iva5; ProductData.iva = Data.iva; ProductData.unity_type = Data.unity_type; ProductData.id = NovaAPI.APIProdructs.LastID; FormGrid.BeginStoryboard((Storyboard)Application.Current.TryFindResource("FadeInGrid")); ResetForm(); NovaAPI.APIProdructs.products.Add(ProductData); //reset pagination TotalPages = 0; Pagination = 1; //Reload product data LoadProducts(null, ProductData.code); } } else { MessageBox.Show($"Error al crear el producto, INFO: {Environment.NewLine}{NovaAPI.APIProdructs.Message}"); } }