//Open client form for edit private void Edit_Click(object sender, RoutedEventArgs e) { //Hide filter if (FilterGrid.Opacity != 0) { FilterGrid.BeginStoryboard((Storyboard)Application.Current.TryFindResource("FadeInGrid")); } //Get button control Button Control = (Button)sender; var Client = NovaAPI.APIClient.clients.Find(x => x.id == Control.Tag.ToString()); if (FormGrid.Opacity == 0) { FormGrid.BeginStoryboard((Storyboard)Application.Current.TryFindResource("PopUpGrid")); } //Set supplier information to controls ClientNameTX.Text = Client.name; ClientIDTX.Text = Client.documentid; ClientTypeCB.SelectedIndex = Convert.ToInt32(Client.type); ClientPhoneTX.Text = Client.phone; ClientCelphoneTX.Text = Client.celphone; ClientAddressTX.Text = Client.address; ClientMailTX.Text = Client.mail; ClientCreditCB.IsChecked = Client.cancredit == "0" ? false : true; //Set selected supplier id index for edition save SelectedIndex = Control.Tag.ToString(); //Focus editable rol ClientNameTX.Focus(); SaveBT.IsEnabled = true; }
//Open new client form private async void NewClientBT_Click(object sender, RoutedEventArgs e) { if (FilterGrid.Opacity != 0) { FilterGrid.BeginStoryboard((Storyboard)Application.Current.TryFindResource("FadeInGrid")); await Task.Delay(100); } //From grid animation if (FormGrid.Opacity == 0) { FormGrid.BeginStoryboard((Storyboard)Application.Current.TryFindResource("PopUpGrid")); ClientNameTX.Focus(); SaveBT.IsEnabled = true; } else if (ClientNameTX.Text.Length == 0) { FormGrid.BeginStoryboard((Storyboard)Application.Current.TryFindResource("FadeInGrid")); ClearFormData(); } //Clear supplier values if (ClientNameTX.Text.Length > 0) { ClearFormData(); } }
//New client BT public void NewClient_Click(object sender, RoutedEventArgs e) { if (NewClient.IsEnabled == true) { BillDock.IsEnabled = false; CreateClientPopUp.IsOpen = true; ClientNameTX.Focus(); } }
//Client exit BT private void ClientExitBT_Click(object sender, RoutedEventArgs e) { //Clear controls values ClientNameTX.Clear(); ClientIDTX.Clear(); ClientIDType.SelectedIndex = 0; ClientPhoneTX.Clear(); //Close popup SaveClientBT.IsEnabled = false; //Set controls BillDock.IsEnabled = true; CreateClientPopUp.IsOpen = false; ClientFilterTX.Focus(); }
//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; }
//Save client private async void SaveBT_Click(object sender, RoutedEventArgs e) { NewClientBT.Focus(); if (ClientNameTX.Text.Length == 0) { MessageBox.Show("El nombre del cliente no puede estar en blanco"); ClientNameTX.Focus(); return; } //Get/Set client parameters var Data = new NovaAPI.APIClient.ClientClass(); Data.id = SelectedIndex; Data.name = ClientNameTX.Text; Data.type = ClientTypeCB.SelectedIndex.ToString(); Data.documentid = ClientIDTX.Text; Data.phone = ClientPhoneTX.Text; Data.celphone = ClientCelphoneTX.Text; Data.mail = ClientMailTX.Text; Data.address = ClientAddressTX.Text; Data.cancredit = ClientCreditCB.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.APIClient.GetValues("2", DataConfig.LocalAPI, requestData); } else { response = await NovaAPI.APIClient.GetValues("1", DataConfig.LocalAPI, requestData); } //Request response if (response) { if (Data.id.Length > 0) { //On client modified var ClientData = NovaAPI.APIClient.clients.Find(x => x.id == Data.id); ClientData.name = Data.name; ClientData.documentid = Data.documentid; ClientData.type = Data.type; ClientData.address = Data.address; ClientData.phone = Data.phone; ClientData.mail = Data.mail; ClientData.celphone = Data.celphone; ClientData.cancredit = Data.cancredit; ClientGrid.Items.Refresh(); FormGrid.BeginStoryboard((Storyboard)Application.Current.TryFindResource("FadeInGrid")); ClearFormData(); } else { //On new supplier created response var ClientData = new NovaAPI.APIClient.ClientClass(); ClientData.name = Data.name; ClientData.documentid = Data.documentid; ClientData.type = Data.type; ClientData.address = Data.address; ClientData.phone = Data.phone; ClientData.mail = Data.mail; ClientData.celphone = Data.celphone; ClientData.cancredit = Data.cancredit; ClientData.id = NovaAPI.APIClient.LastID; FormGrid.BeginStoryboard((Storyboard)Application.Current.TryFindResource("FadeInGrid")); ClearFormData(); NovaAPI.APIClient.clients.Add(ClientData); //Reload rol data LoadClients(); } } else { MessageBox.Show($"Error al crear el cliente, INFO: {Environment.NewLine}{NovaAPI.APIClient.Message}"); } }