コード例 #1
0
        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}");
                }
            }
        }
コード例 #2
0
        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;
                }
            }
        }
コード例 #3
0
        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}");
            }
        }