private void buttonComando_Click(object sender, RoutedEventArgs e) { checkdatecorreto = false; //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()); IDPianificazioniVerifica = App.MasterFile_NewID; try { IDPianificazioniVerifica = Convert.ToInt32(htDate[cmbData.SelectedIndex].ToString()); } catch (Exception ex) { cBusinessObjects.logger.Error(ex, "wSchedaPianificazioneVerifica.buttonComando_Click1 exception"); string log = ex.Message; } if (TipologiaAttivita == App.TipoAttivitaScheda.Delete && IDPianificazioniVerifica == -1) { MessageBox.Show("selezionare una sessione"); return; } App.TipoAttivitaScheda oldTipo = TipologiaAttivita; if (TipologiaAttivita == App.TipoAttivitaScheda.New) { stackPanel1.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: //convalida dati //Campi Obbligatorio if (!u.ConvalidaDatiInterfaccia(dtpDataInizio, "Data Inizio periodo mancante.")) { cBusinessObjects.hide_workinprogress(); return; } if (!u.ConvalidaDatiInterfaccia(dtpDataFine, "Data Fine periodo mancante.")) { cBusinessObjects.hide_workinprogress(); return; } DateTime dtinizio = new DateTime(); DateTime dtfine = new DateTime(); try { dtinizio = Convert.ToDateTime(dtpDataInizio.SelectedDate.Value.ToShortDateString()); } catch (Exception ex) { cBusinessObjects.logger.Error(ex, "wSchedaPianificazioneVerifica.buttonComando_Click2 exception"); string log = ex.Message; cBusinessObjects.hide_workinprogress(); MessageBox.Show("Attenzione data inizio inserita non valida"); return; } try { dtfine = Convert.ToDateTime(dtpDataFine.SelectedDate.Value.ToShortDateString()); } catch (Exception ex) { cBusinessObjects.logger.Error(ex, "wSchedaPianificazioneVerifica.buttonComando_Click3 exception"); string log = ex.Message; cBusinessObjects.hide_workinprogress(); MessageBox.Show("Attenzione data fine inserita non valida"); return; } if (dtinizio.CompareTo(dtfine) > 0) { cBusinessObjects.hide_workinprogress(); MessageBox.Show("Attenzione data fine precedente a data inizio"); return; } //Controllo che questa data non sia già stata presa if (!mf.CheckDoppio_PianificazioniVerifica(IDPianificazioniVerifica, IDCliente, dtpDataInizio.SelectedDate.Value.ToShortDateString(), dtpDataFine.SelectedDate.Value.ToShortDateString())) { cBusinessObjects.hide_workinprogress(); MessageBox.Show("Data già pianificata"); return; } Hashtable htSelected = mf.GetPianificazioniVerifica(IDPianificazioniVerifica.ToString()); if (htSelected.Count != 0) { string firstdata = ""; string lastData = ""; DataTable datiTestata = cBusinessObjects.GetData(100013, typeof(PianificazioneVerificheTestata), IDCliente, IDPianificazioniVerifica, 26); foreach (DataRow item in datiTestata.Rows) { DateTime datehere = new DateTime(); try { datehere = Convert.ToDateTime(item["Data"].ToString()); } catch (Exception ex) { cBusinessObjects.logger.Error(ex, "wSchedaPianificazioneVerifica.buttonComando_Click4 exception"); string log = ex.Message; continue; } if (firstdata == "") { firstdata = item["Data"].ToString(); } if (lastData == "") { lastData = item["Data"].ToString(); } if (datehere.CompareTo(Convert.ToDateTime(firstdata)) < 0) { firstdata = item["Data"].ToString(); } if (datehere.CompareTo(Convert.ToDateTime(lastData)) > 0) { lastData = item["Data"].ToString(); } } if (firstdata != "") { if (dtinizio.CompareTo(Convert.ToDateTime(firstdata)) > 0) { cBusinessObjects.hide_workinprogress(); MessageBox.Show("Attenzione data inizio successiva alla prima data pianificata."); return; } if (dtfine.CompareTo(Convert.ToDateTime(lastData)) < 0) { cBusinessObjects.hide_workinprogress(); MessageBox.Show("Attenzione data fine precedente all ultima data pianificata"); return; } } } checkdatecorreto = true; //setto dati Hashtable ht = new Hashtable(); ht.Add("Cliente", IDCliente); ht.Add("DataInizio", dtpDataInizio.SelectedDate.Value.ToShortDateString()); ht.Add("DataFine", ((dtpDataFine.SelectedDate != null) ? dtpDataFine.SelectedDate.Value.ToShortDateString() : dtpDataInizio.SelectedDate.Value.ToShortDateString())); IDPianificazioniVerifica = mf.SetPianificazioniVerifica(ht, IDPianificazioniVerifica, IDCliente); RegistrazioneEffettuata = true; if (TipologiaAttivita == App.TipoAttivitaScheda.New) { if (IDClienteImport != "-1") { cBusinessObjects.hide_workinprogress(); this.Close(); } //Process wait - START //ProgressWindow pw = new ProgressWindow(); 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()) == IDPianificazioniVerifica) { cmbData.SelectedIndex = Convert.ToInt32(item.Key.ToString()); } } functionCmbDataChanged(cmbData); cBusinessObjects.AddSessione("PianificazioniVerifica", cmbData.SelectedValue.ToString(), IDPianificazioniVerifica, IDCliente); //Process wait - STOP //pw.Close(); } _DatiCambiati = false; break; case App.TipoAttivitaScheda.Delete: //richiesta conferma if (MessageBoxResult.No == u.ConfermaCancellazione()) { return; } //cancellazione mf.DeletePianificazioniVerifica(IDPianificazioniVerifica, 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"); AccediVerifica_Click(IDPianificazioniVerifica.ToString(), false); } //chiudo maschera if (TipologiaAttivita != App.TipoAttivitaScheda.Edit) { base.Close(); } }