private void buttonComando_Click(object sender, RoutedEventArgs e) { //controllo selezione clienti if (cmbClienti.SelectedIndex == -1) { MessageBox.Show("selezionare un cliente"); return; } MasterFile mf = MasterFile.Create(); Utilities u = new Utilities(); int IDCliente = Convert.ToInt32(htClienti[cmbClienti.SelectedIndex].ToString()); int IDRelazioneB = App.MasterFile_NewID; try { IDRelazioneB = Convert.ToInt32(htDate[cmbData.SelectedIndex].ToString()); } catch (Exception ex) { cBusinessObjects.logger.Error(ex, "wSchedaRelazioneB.buttonComando_Click exception"); string log = ex.Message; } if (TipologiaAttivita == App.TipoAttivitaScheda.Delete && IDRelazioneB == -1) { MessageBox.Show("selezionare una sessione"); return; } App.TipoAttivitaScheda oldTipo = TipologiaAttivita; if (TipologiaAttivita == App.TipoAttivitaScheda.New) { tabControl1.IsEnabled = false; gridButtons.IsEnabled = false; loading.Visibility = Visibility; Application.Current.Dispatcher.Invoke(DispatcherPriority.Background, new Action(delegate { })); //cBusinessObjects.show_workinprogress("Prima creazione dell'albero in corso..."); } switch (TipologiaAttivita) { //Nuovo e salva case App.TipoAttivitaScheda.New: case App.TipoAttivitaScheda.Edit: //Campi Obbligatorio if (dtpDataNomina.SelectedIndex == -1)// !u.ConvalidaDatiInterfaccia(dtpDataNomina, "Data mancante.")) { MessageBox.Show("Selezionare un Esercizio."); return; } //Controllo che questa data non sia già stata presa if (!mf.CheckDoppio_RelazioneB(IDRelazioneB, IDCliente, htSelectedDate[dtpDataNomina.SelectedIndex].ToString())) { MessageBox.Show("Data già presente per questo cliente"); return; } //setto dati Hashtable ht = new Hashtable(); ht.Add("Cliente", IDCliente); ht.Add("Data", htSelectedDate[dtpDataNomina.SelectedIndex].ToString()); ht.Add("Note", txtNota.Text.Trim()); IDRelazioneB = mf.SetRelazioneB(ht, IDRelazioneB, IDCliente); RegistrazioneEffettuata = true; if (TipologiaAttivita == App.TipoAttivitaScheda.New) { if (IDClienteImport != "-1") { cBusinessObjects.hide_workinprogress(); this.Close(); } cBusinessObjects.SessioneIsNew = true; TipologiaAttivita = App.TipoAttivitaScheda.Edit; mf.SetAnafraficaStato(Convert.ToInt32(IDCliente), App.TipoAnagraficaStato.Disponibile); ConfiguraMaschera(); foreach (DictionaryEntry item in htClienti) { if (Convert.ToInt32(item.Value.ToString()) == IDCliente) { cmbClienti.SelectedIndex = Convert.ToInt32(item.Key.ToString()); } } functionCmbClientiChanged(cmbClienti); cmbData.IsEnabled = true; foreach (DictionaryEntry item in htDate) { if (Convert.ToInt32(item.Value.ToString()) == IDRelazioneB) { cmbData.SelectedIndex = Convert.ToInt32(item.Key.ToString()); } } functionCmbDataChanged(cmbData); cBusinessObjects.AddSessione("RelazioneB", cmbData.SelectedValue.ToString(), IDRelazioneB, IDCliente); } _DatiCambiati = false; break; case App.TipoAttivitaScheda.Delete: //richiesta conferma if (MessageBoxResult.No == u.ConfermaCancellazione()) { return; } //cancellazione mf.DeleteRelazioneB(IDRelazioneB, IDCliente.ToString()); RegistrazioneEffettuata = true; base.Close(); break; case App.TipoAttivitaScheda.Export: break; } //apro tree appena creato if (oldTipo == App.TipoAttivitaScheda.New) { //MessageBox.Show("apro tree appena creato"); Accedi_Click(IDRelazioneB.ToString(), false); } //chiudo maschera if (TipologiaAttivita != App.TipoAttivitaScheda.Edit) { base.Close(); } }