예제 #1
0
        //----------------------------------------------------------------------------+
        //                            buttonComando_Click                             |
        //----------------------------------------------------------------------------+
        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        IDIncarico = App.MasterFile_NewID;

            try
            {
                IDIncarico = Convert.ToInt32(htDate[cmbData.SelectedIndex].ToString());
            }
            catch (Exception ex)
            {
                string log = ex.Message;
            }
            if (TipologiaAttivita == App.TipoAttivitaScheda.Delete && IDIncarico == -1)
            {
                MessageBox.Show("selezionare un incarico");
                return;
            }
            App.TipoAttivitaScheda oldTipo = TipologiaAttivita;
            switch (TipologiaAttivita)
            {
            //Nuovo e salva
            case App.TipoAttivitaScheda.New:
            case App.TipoAttivitaScheda.Edit:
                //convalida dati
                //Campi Obbligatorio
                if (!u.ConvalidaDatiInterfaccia(dtpDataNomina, "Data mancante."))
                {
                    return;
                }
                //if (!u.ConvalidaDatiInterfaccia(rdbCollegioSindacale, "Selezionare Collegio o Revisore."))
                //    return;
                //if (!u.ConvalidaDatiInterfaccia(rdbAttivitaNomina, "Selezionare tipologia Attività.") && Riesame == null)
                //    return;
                //Controllo che questa data non sia già stata presa
                if (!mf.CheckDoppio_incarico(IDIncarico, IDCliente, dtpDataNomina.SelectedDate.Value.ToShortDateString(), area1))
                {
                    MessageBox.Show("Data già presente per questo cliente");
                    return;
                }
                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...");
                }
                //setto dati
                Hashtable ht = new Hashtable();
                ht.Add("Cliente", IDCliente);
                ht.Add("DataNomina", dtpDataNomina.SelectedDate.Value.ToShortDateString());
                ht.Add("Note", txtNota.Text.Trim());
                if (rdbCollegioSindacale.IsChecked == false && rdbRevisoreSincoUnico.IsChecked == false)
                {
                    ht.Add("Composizione", (int)(App.TipoIncaricoComposizione.Sconosciuto));
                }
                else
                {
                    if (rdbCollegioSindacale.IsChecked == true)
                    {
                        ht.Add("Composizione", (int)(App.TipoIncaricoComposizione.CollegioSindacale));
                    }
                    if (rdbRevisoreSincoUnico.IsChecked == true)
                    {
                        ht.Add("Composizione", (int)(App.TipoIncaricoComposizione.SindacoUnico));
                    }
                }
                //if (rdbAttivitaNomina.IsChecked == false && rdbAttivitaRiesame.IsChecked == false)
                //{
                //    ht.Add("Attivita", (int)(App.TipoIncaricoAttivita.Sconosciuto));
                //}
                //else
                {
                    if (rdbAttivitaNomina.IsChecked == true || Riesame == false)
                    {
                        ht.Add("Attivita", (int)(App.TipoIncaricoAttivita.Nomina));
                    }
                    if (rdbAttivitaRiesame.IsChecked == true || Riesame == true)
                    {
                        ht.Add("Attivita", (int)(App.TipoIncaricoAttivita.Riesame));
                    }
                }
                ht.Add("Area1", area1);
                IDIncarico = mf.SetIncarico(ht, IDIncarico, 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()) == IDIncarico)
                        {
                            cmbData.SelectedIndex = Convert.ToInt32(item.Key.ToString());
                        }
                    }
                    functionCmbDataChanged(cmbData);

                    if (area1 == "CS")
                    {
                        cBusinessObjects.AddSessione("IncaricoCS", cmbData.SelectedValue.ToString(), IDIncarico, IDCliente);
                    }
                    if (area1 == "SU")
                    {
                        cBusinessObjects.AddSessione("IncaricoSU", cmbData.SelectedValue.ToString(), IDIncarico, IDCliente);
                    }
                    if (area1 == "REV")
                    {
                        cBusinessObjects.AddSessione("IncaricoREV", cmbData.SelectedValue.ToString(), IDIncarico, IDCliente);
                    }
                }
                _DatiCambiati = false;
                break;

            case App.TipoAttivitaScheda.Delete:
                //richiesta conferma
                if (MessageBoxResult.No == u.ConfermaCancellazione())
                {
                    return;
                }
                //cancellazione
                mf.DeleteIncarico(IDIncarico, IDCliente.ToString(), area1);
                RegistrazioneEffettuata = true;
                break;

            case App.TipoAttivitaScheda.Export:
                break;
            }
            //apro tree appena creato
            if (oldTipo == App.TipoAttivitaScheda.New)
            {
                Accedi_Click(IDIncarico.ToString(), false);
                //MessageBox.Show("apro tree appena creato");
            }
            //chiudo maschera
            if (TipologiaAttivita != App.TipoAttivitaScheda.Edit)
            {
                base.Close();
            }
        }