private async void LoadProducts(string Page = null, string Filter = null) { //Set loading grid visibility LoadingProductGrid.Visibility = Visibility.Visible; ProductSpinner.Spin = true; //Try to clear existent category list try { NovaAPI.APIProdructs.products.Clear(); } catch (Exception) { } //Send request var Data = new NovaAPI.APIProdructs.DataClass(); Data.h = H; Data.filter = Filter; Data.from = Page; string requestData = JsonConvert.SerializeObject(Data); bool Response = await NovaAPI.APIProdructs.GetValues("4", DataConfig.LocalAPI, requestData); if (Response) { ProductsGrid.ItemsSource = NovaAPI.APIProdructs.products; ProductsGrid.Items.Refresh(); TotalProducts.Content = NovaAPI.APIProdructs.Count; double Pages = (Convert.ToInt32(NovaAPI.APIProdructs.Count) / 15); TotalPages = Math.Floor(Pages); SetPagination(TotalPages); } else { //On load error or data null ProductsGrid.Items.Refresh(); RefreshProducts.IsEnabled = true; //If user is searching if (FilterGrid.Opacity == 1) { FilterTX.Focus(); } else { MessageBox.Show($"Se produjo un error al cargar los datos, INFO: {Environment.NewLine}{NovaAPI.APIProdructs.Message}"); } //Set loading grid visibility LoadingProductGrid.Visibility = Visibility.Collapsed; ProductSpinner.Spin = false; return; } await Task.Delay(100); //Set loading grid visibility LoadingProductGrid.Visibility = Visibility.Collapsed; ProductSpinner.Spin = false; }
//Supplier Search private void Button_Click(object sender, RoutedEventArgs e) { //Clear data ClearForm(); //Search supplier value var Data = NovaAPI.APISupplier.suppliers.Find(x => x.comercialname.ToLower().Contains(FilterTX.Text.ToLower()) || x.documentid.ToLower().Contains(FilterTX.Text.ToLower())); //Set supplier data if (Data != null && Data.status == "1") { //Supplier found FilterTX.Text = Data.comercialname; SelectedSupplierID = Data.id; SelectSupplier(Data); InProductBT.IsEnabled = true; SuppBillTX.IsEnabled = true; SuppBillTX.Focus(); } else { //Supplier not found ClearForm(); FilterTX.Focus(); FilterTX.SelectAll(); } }
//Refresh product datagrid private void RefreshProducts_Click(object sender, RoutedEventArgs e) { Pagination = 1; LoadProducts(); FilterTX.Clear(); FilterTX.Focus(); }
//Refresh all data and clear form data private void RefreshBT_Click(object sender, RoutedEventArgs e) { GetData(); ClearForm(); FilterTX.Focus(); FilterTX.SelectAll(); }
private async void GetData() { //Set loading grid visibility LoadingGrid.Visibility = Visibility.Visible; Spinner.Spin = true; //Get Branch List try { //Clear de actual branch list NovaAPI.APIBranch.branch.Clear(); } catch (Exception) { } bool Response = await NovaAPI.APIBranch.GetValues("4", DataConfig.LocalAPI); if (Response) { BranchCB.ItemsSource = NovaAPI.APIBranch.branch; BranchCB.SelectedIndex = BranchCB.Items.IndexOf(NovaAPI.APIBranch.branch.Find(x => x.id == DataConfig.WorkPlaceID.ToString())); } //Get Suppliers list try { //Clear de actual supplier list NovaAPI.APISupplier.suppliers.Clear(); } catch (Exception) { } await NovaAPI.APISupplier.GetValues("4", DataConfig.LocalAPI); //Set IEnumerable LIST IEnumerable <string> BranchList = Enumerable.Empty <string>(); for (int i = 0; i < NovaAPI.APISupplier.suppliers.Count; i++) { if (NovaAPI.APISupplier.suppliers[i].status == "1") { BranchList = BranchList.Concat(new[] { NovaAPI.APISupplier.suppliers[i].comercialname }); } } //Set list to textbox FilterTX.SetValue(AutoCompleteBehavior.AutoCompleteItemsSource, BranchList); FilterTX.Focus(); await Task.Delay(100); //Set loading grid visibility LoadingGrid.Visibility = Visibility.Collapsed; Spinner.Spin = false; }
//Reset form data private void ResetForm() { FilterTX.Clear(); SuppSocialNameTX.Clear(); SuppComercialNameTX.Clear(); SuppIDTX.Clear(); SuppidTypeCB.SelectedIndex = 0; SuppAddressTX.Clear(); SuppPhoneTX.Clear(); StatusCB.IsChecked = true; SuppCelphoneTX.Clear(); SuppEmailTX.Clear(); SuppContactTX.Clear(); SuppObvsTX.Clear(); SaveBT.IsEnabled = false; }
//Filter on search textbox private void FilterTX_KeyDown(object sender, KeyEventArgs e) { if (e.Key == Key.Enter) { int parsedValue; if (!int.TryParse(FilterTX.Text, out parsedValue)) { LoadProducts(null, FilterTX.Text); } else { LoadProducts(null, FilterTX.Text); FilterTX.Clear(); } e.Handled = true; } }
private async void FilterBT_Click(object sender, RoutedEventArgs e) { if (FormGrid.Opacity != 0) { FormGrid.BeginStoryboard((Storyboard)Application.Current.TryFindResource("FadeInGrid")); ResetForm(); await Task.Delay(100); } FilterTX.Clear(); if (FilterGrid.Opacity == 0) { FilterGrid.BeginStoryboard((Storyboard)Application.Current.TryFindResource("PopUpGrid")); FilterTX.Focus(); } else { FilterGrid.BeginStoryboard((Storyboard)Application.Current.TryFindResource("FadeInGrid")); } }
//Clear all form data and selections private void ClearFormData() { if (FormGrid.Opacity != 0) { FormGrid.BeginStoryboard((Storyboard)Application.Current.TryFindResource("FadeInGrid")); } if (FilterGrid.Opacity != 0) { FilterGrid.BeginStoryboard((Storyboard)Application.Current.TryFindResource("FadeInGrid")); } FilterTX.Clear(); ClientNameTX.Clear(); ClientIDTX.Clear(); ClientPhoneTX.Clear(); ClientAddressTX.Clear(); ClientMailTX.Clear(); ClientCelphoneTX.Clear(); ClientTypeCB.SelectedIndex = 0; ClientCreditCB.IsChecked = true; SaveBT.IsEnabled = false; }
//Page loaded private async void Page_Loaded(object sender, RoutedEventArgs e) { //Set loading grid visibility LoadingGrid.Visibility = Visibility.Visible; Spinner.Spin = true; //Clear branch information try { NovaAPI.APIBranch.branch.Clear(); } catch (Exception) {} //Clear product data try { NovaAPI.APIInventory.products.Clear(); } catch (Exception) {} //Request branch information bool BranchRequest = await NovaAPI.APIBranch.GetValues("4", DataConfig.LocalAPI, null); if (!BranchRequest) { MessageBox.Show($"Error al cargar datos {NovaAPI.APIBranch.Message}"); } //Create branch data columns for (int i = 0; i < NovaAPI.APIBranch.branch.Count; i++) { foreach (var item in ProductsGrid.Columns) { if (item.Header != null) { if (item.Header.ToString() == NovaAPI.APIBranch.branch[i].name) { FilterTX.Focus(); LoadProducts(); return; } } } DataGridTextColumn column = new DataGridTextColumn(); column.Header = NovaAPI.APIBranch.branch[i].name; column.Binding = new Binding($"branch_data[{i}].count"); column.CellStyle = (Style)Application.Current.TryFindResource("DataGridCellStyledRight"); column.MinWidth = 100; column.HeaderStyle = (Style)Application.Current.TryFindResource("DataGridHeaderStyledRight"); ProductsGrid.Columns.Insert(ProductsGrid.Columns.Count - 2, column); } //H Columns H.Header = "H"; H.Binding = new Binding($"branch_data[{NovaAPI.APIBranch.branch.Count}].count"); H.CellStyle = (Style)Application.Current.TryFindResource("DataGridCellStyledRight"); H.MinWidth = 100; H.HeaderStyle = (Style)Application.Current.TryFindResource("DataGridHeaderStyledRight"); H.Visibility = Visibility.Collapsed; //Insert H Column ProductsGrid.Columns.Insert(ProductsGrid.Columns.Count - 2, H); FilterTX.Focus(); LoadProducts(); }