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 IDRelazioneV = App.MasterFile_NewID; try { IDRelazioneV = Convert.ToInt32(htDate[cmbData.SelectedIndex].ToString()); } catch (Exception ex) { cBusinessObjects.logger.Error(ex, "wSchedaRelazioneV.buttonComando_Click exception"); string log = ex.Message; } if (TipologiaAttivita == App.TipoAttivitaScheda.Delete && IDRelazioneV == -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_RelazioneV(IDRelazioneV, IDCliente, htSelectedDate[dtpDataNomina.SelectedIndex].ToString())) { cBusinessObjects.hide_workinprogress(); 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()); IDRelazioneV = mf.SetRelazioneV(ht, IDRelazioneV, 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()) == IDRelazioneV) { cmbData.SelectedIndex = Convert.ToInt32(item.Key.ToString()); } } functionCmbDataChanged(cmbData); cBusinessObjects.AddSessione("RelazioneV", cmbData.SelectedValue.ToString(), IDRelazioneV, IDCliente); } _DatiCambiati = false; break; case App.TipoAttivitaScheda.Delete: //richiesta conferma if (MessageBoxResult.No == u.ConfermaCancellazione()) { return; } //cancellazione mf.DeleteRelazioneV(IDRelazioneV, 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(IDRelazioneV.ToString(), false); } //chiudo maschera if (TipologiaAttivita != App.TipoAttivitaScheda.Edit) { base.Close(); } }