private async void LoadBoxes(string BranchID) { //Set loading grid visibility LoadingBoxGrid.Visibility = Visibility.Visible; BoxSpinner.Spin = true; //Try to clear existent branch list try { NovaAPI.APIBoxes.boxes.Clear(); } catch (Exception) { } var data = new NovaAPI.APIBoxes.BoxesData { branch_id = BranchID }; //branch json data string requestData = JsonConvert.SerializeObject(data); //Load branch bool response = await NovaAPI.APIBoxes.GetValues("5", DataConfig.LocalAPI, requestData); if (response) { //Set rol data to DataGrid BoxDataGrid.ItemsSource = NovaAPI.APIBoxes.boxes; BoxDataGrid.Items.Refresh(); } else { //Set loading grid visibility LoadingBoxGrid.Visibility = Visibility.Collapsed; BoxSpinner.Spin = false; //On load error MessageBox.Show($"{NovaAPI.APIBoxes.Message}"); BoxDataGrid.ItemsSource = null; BoxDataGrid.Items.Refresh(); return; } await Task.Delay(100); //Set loading grid visibility LoadingBoxGrid.Visibility = Visibility.Collapsed; BoxSpinner.Spin = false; }
//Save box point data private async void SavePointBT_Click(object sender, RoutedEventArgs e) { NewPointBT.Focus(); if (BoxNameTX.Text.Length == 0 || BoxNameTX.Text.Length < 5) { MessageBox.Show("El nombre del punto de venta no puede ir en blanco o ser inferior a 5 caracteres"); BoxNameTX.Focus(); return; } //Get/Set box parameters var Data = new NovaAPI.APIBoxes.BoxesData(); Data.id = SelectedBoxIndex; Data.name = BoxNameTX.Text; Data.branch_id = NovaAPI.APIBranch.branch[BranchCB.SelectedIndex].id; Data.status = StatusCB.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.APIBoxes.GetValues("8", DataConfig.LocalAPI, requestData); } else { response = await NovaAPI.APIBoxes.GetValues("7", DataConfig.LocalAPI, requestData); } //Request response if (response) { if (Data.id.Length > 0) { //On supplier modified var Boxdata = NovaAPI.APIBoxes.boxes.Find(x => x.id == Data.id); Boxdata.name = Data.name; Boxdata.status = Data.status; BoxDataGrid.Items.Refresh(); BoxFormGrid.BeginStoryboard((Storyboard)Application.Current.TryFindResource("FadeInGrid")); BoxNameTX.Clear(); } else { //On new supplier created response var Boxdata = new NovaAPI.APIBoxes.BoxesClass(); Boxdata.name = Data.name; Boxdata.status = Data.status; Boxdata.id = NovaAPI.APIBoxes.LastID; BoxFormGrid.BeginStoryboard((Storyboard)Application.Current.TryFindResource("FadeInGrid")); BoxNameTX.Clear(); NovaAPI.APIBoxes.boxes.Add(Boxdata); //Reload box data LoadBoxes(NovaAPI.APIBranch.branch[BranchCB.SelectedIndex].id); } } else { MessageBox.Show($"Error al crear el punto de venta, INFO: {Environment.NewLine}{NovaAPI.APIBoxes.Message}"); } SavePointBT.IsEnabled = false; SelectedBoxIndex = ""; }