private void ButtonApri_Click(object sender, RoutedEventArgs e)
        {
            //controllo selezione clienti
            if (cmbClienti.SelectedIndex == -1)
            {
                MessageBox.Show("selezionare un cliente");
                return;
            }

            //dati modificati
            if (_DatiCambiati)
            {
                //Utilities u = new Utilities();
                //if (MessageBoxResult.No == u.AvvisoPerditaDati("Alcuni dati sono stati modificati, confermi apertura?"))
                //    return;

                //Salvataggio automatico come richiesto da 2.3
                App.TipoAttivitaScheda OLDTipologiaAttivita = TipologiaAttivita;
                TipologiaAttivita = App.TipoAttivitaScheda.Edit;
                buttonComando_Click(sender, e);
                TipologiaAttivita = OLDTipologiaAttivita;
            }

            //disponibile: blocco cliente
            int        IDCliente = Convert.ToInt32(htClienti[cmbClienti.SelectedIndex].ToString());
            MasterFile mf        = MasterFile.Create();

            App.TipoAnagraficaStato anaStato = mf.GetAnafraficaStato(IDCliente);

            if (anaStato == App.TipoAnagraficaStato.Disponibile && TipologiaAttivita != App.TipoAttivitaScheda.View)
            {
                mf.SetAnafraficaStato(Convert.ToInt32(IDCliente), App.TipoAnagraficaStato.InUso);
            }

            //apre treee
            int IDPianificazioniVerifica = App.MasterFile_NewID;

            try
            {
                IDPianificazioniVerifica = Convert.ToInt32(htDate[cmbData.SelectedIndex].ToString());
            }
            catch (Exception ex)
            {
                cBusinessObjects.logger.Error(ex, "wSchedaPianificazioneVerifica.ButtonApri_Click exception");
                string log = ex.Message;
            }

            if (IDPianificazioniVerifica == -1)
            {
                MessageBox.Show("selezionare una sessione");
            }
            else
            {
                bool isSchedaReadOnly = TipologiaAttivita == App.TipoAttivitaScheda.View || anaStato == App.TipoAnagraficaStato.InUso;
                cBusinessObjects.VerificaSessione("PianificazioniVerifica", cmbData.SelectedValue.ToString(), IDPianificazioniVerifica, IDCliente);

                Accedi_Click(IDPianificazioniVerifica.ToString(), isSchedaReadOnly);
            }
        }
Example #2
0
        private void GestoreEvento_ChiusuraFinestra(object sender, CancelEventArgs e)
        {
            if (IDClienteImport != "-1")
            {
                return;
            }

            if (cmbClienti.SelectedIndex != -1 && TipologiaAttivita == App.TipoAttivitaScheda.Edit)
            {
                App.TipoAttivitaScheda OLDTipologiaAttivita = TipologiaAttivita;
                //TipologiaAttivita = App.TipoAttivitaScheda.Edit;
                buttonComando_Click(sender, new RoutedEventArgs());
                TipologiaAttivita = OLDTipologiaAttivita;
            }

            return;
        }
        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 IDRelazioneBV = App.MasterFile_NewID;

            try
            {
                IDRelazioneBV = Convert.ToInt32(htDate[cmbData.SelectedIndex].ToString());
            }
            catch (Exception ex)
            {
                cBusinessObjects.logger.Error(ex, "wSchedaRelazioneBV.buttonComando_Click exception");
                string log = ex.Message;
            }

            if (TipologiaAttivita == App.TipoAttivitaScheda.Delete && IDRelazioneBV == -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 { }));
            }

            switch (TipologiaAttivita)
            {
            //Nuovo e salva
            case App.TipoAttivitaScheda.New:
            case App.TipoAttivitaScheda.Edit:
                //Campi Obbligatorio
                if (dtpDataNomina.SelectedIndex == -1)// !u.ConvalidaDatiInterfaccia(dtpDataNomina, "Data mancante."))
                {
                    cBusinessObjects.hide_workinprogress();
                    MessageBox.Show("Selezionare un Esercizio.");
                    return;
                }

                //Controllo che questa data non sia già stata presa
                if (!mf.CheckDoppio_RelazioneBV(IDRelazioneBV, 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());

                IDRelazioneBV = mf.SetRelazioneBV(ht, IDRelazioneBV, 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()) == IDRelazioneBV)
                        {
                            cmbData.SelectedIndex = Convert.ToInt32(item.Key.ToString());
                        }
                    }

                    functionCmbDataChanged(cmbData);
                    cBusinessObjects.AddSessione("RelazioneBV", cmbData.SelectedValue.ToString(), IDRelazioneBV, IDCliente);
                }

                _DatiCambiati = false;
                break;

            case App.TipoAttivitaScheda.Delete:
                //richiesta conferma
                if (MessageBoxResult.No == u.ConfermaCancellazione())
                {
                    return;
                }
                //cancellazione
                mf.DeleteRelazioneBV(IDRelazioneBV, 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(IDRelazioneBV.ToString(), false);
            }

            //chiudo maschera
            if (TipologiaAttivita != App.TipoAttivitaScheda.Edit)
            {
                base.Close();
            }
        }
        private void functionCmbClientiChanged(ComboBox cmb)
        {
            if (_cmbInCaricamento)
            {
                return;
            }

            if (oldTipologiaAttivita != App.TipoAttivitaScheda.View)
            {
                TipologiaAttivita = oldTipologiaAttivita;
            }

            _InCaricamento              = true;
            cmbData.SelectedIndex       = -1;
            dtpDataNomina.SelectedIndex = -1;
            txtNota.Text          = "";
            imageStato.Visibility = System.Windows.Visibility.Hidden;

            if (cmb.SelectedIndex != -1)
            {
                try
                {
                    string IDCliente = htClienti[cmb.SelectedIndex].ToString();

                    OldSelectedCmbClienti = Convert.ToInt32(IDCliente);

                    MasterFile mf = MasterFile.Create();

                    int index = 0;
                    htDate.Clear();
                    cmbData.Items.Clear();

                    List <KeyValuePair <string, string> > myList = new List <KeyValuePair <string, string> >();

                    foreach (Hashtable item in mf.GetRelazioniBV(IDCliente))
                    {
                        myList.Add(new KeyValuePair <string, string>(item["ID"].ToString(), ConvertDataToEsercizio(item["Data"].ToString(), item)));
                    }

                    myList.Sort
                    (
                        delegate(KeyValuePair <string, string> firstPair, KeyValuePair <string, string> nextPair)
                    {
                        try
                        {
                            return(Convert.ToInt32(nextPair.Value).CompareTo(Convert.ToInt32(firstPair.Value)));
                        }
                        catch (Exception ex)
                        {
                            cBusinessObjects.logger.Error(ex, "wSchedaRelazioneBV.functionCmbClientiChanged1 exception");
                            string log = ex.Message;
                            return(1);
                        }
                    }
                    );

                    foreach (KeyValuePair <string, string> item in myList)
                    {
                        cmbData.Items.Add(item.Value);
                        htDate.Add(index, item.Key);
                        index++;
                    }

                    index = 0;
                    htSelectedDate.Clear();
                    dtpDataNomina.Items.Clear();

                    for (int i = 2009; i <= (DateTime.Now.Year + 1); i++)
                    {
                        Hashtable clientetmp = mf.GetAnagrafica(Convert.ToInt32(IDCliente));

                        string datatmp = "";

                        switch ((App.TipoAnagraficaEsercizio)(Convert.ToInt32(clientetmp["Esercizio"].ToString())))
                        {
                        case App.TipoAnagraficaEsercizio.ACavallo:
                            datatmp = "31/12/" + i.ToString();
                            break;

                        case App.TipoAnagraficaEsercizio.AnnoSolare:
                        case App.TipoAnagraficaEsercizio.Sconosciuto:
                        default:
                            datatmp = "01/01/" + i.ToString();
                            break;
                        }

                        if (!cmbData.Items.Contains(ConvertDataToEsercizio(datatmp)))
                        {
                            dtpDataNomina.Items.Add(ConvertDataToEsercizio(datatmp));
                            htSelectedDate.Add(index, datatmp);
                            index++;
                        }
                    }

                    //stato
                    if (IDClienteImport == "-1")
                    {
                        App.TipoAnagraficaStato anaStato = mf.GetAnafraficaStato(Convert.ToInt32(IDCliente));

                        //non disponibile: configuro interfaccia
                        if (anaStato != App.TipoAnagraficaStato.Disponibile)
                        {
                            oldTipologiaAttivita = TipologiaAttivita;
                            TipologiaAttivita    = App.TipoAttivitaScheda.View;
                        }
                    }


                    if (TipologiaAttivita != App.TipoAttivitaScheda.New)
                    {
                        cmbData.IsEnabled        = true;
                        dtpDataNomina.IsEnabled  = false;
                        label2.Visibility        = System.Windows.Visibility.Collapsed;
                        dtpDataNomina.Visibility = System.Windows.Visibility.Collapsed;
                        label3.Visibility        = System.Windows.Visibility.Visible;
                        cmbData.Visibility       = System.Windows.Visibility.Visible;
                        txtNota.IsEnabled        = false;
                    }
                    else
                    {
                        cmbData.IsEnabled        = false;
                        dtpDataNomina.IsEnabled  = true;
                        label2.Visibility        = System.Windows.Visibility.Visible;
                        dtpDataNomina.Visibility = System.Windows.Visibility.Visible;
                        label3.Visibility        = System.Windows.Visibility.Collapsed;
                        cmbData.Visibility       = System.Windows.Visibility.Collapsed;
                        txtNota.IsEnabled        = true;
                    }
                }
                catch (Exception ex)
                {
                    cBusinessObjects.logger.Error(ex, "wSchedaRelazioneBV.functionCmbClientiChanged2 exception");
                    string log = ex.Message;

                    cmbData.IsEnabled       = false;
                    dtpDataNomina.IsEnabled = false;
                    txtNota.IsEnabled       = false;
                }
            }
        }
        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());

            IDPianificazioniVigilanza = App.MasterFile_NewID;

            try
            {
                IDPianificazioniVigilanza = Convert.ToInt32(htDate[cmbData.SelectedIndex].ToString());
            }
            catch (Exception ex)
            {
                cBusinessObjects.logger.Error(ex, "wSchedaPianificazioneVigilanza.buttonComando_Click1 exception");
                string log = ex.Message;
            }

            if (TipologiaAttivita == App.TipoAttivitaScheda.Delete && IDPianificazioniVigilanza == -1)
            {
                MessageBox.Show("selezionare una sessione");
                return;
            }

            App.TipoAttivitaScheda oldTipo = TipologiaAttivita;
            if (TipologiaAttivita == App.TipoAttivitaScheda.New)
            {
                stackPanel1.IsEnabled = false;
                //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:
                //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, "wSchedaPianificazioneVigilanza.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, "wSchedaPianificazioneVigilanza.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_PianificazioniVigilanza(IDPianificazioniVigilanza, IDCliente, dtpDataInizio.SelectedDate.Value.ToShortDateString(), dtpDataFine.SelectedDate.Value.ToShortDateString()))
                {
                    cBusinessObjects.hide_workinprogress();
                    MessageBox.Show("Data già pianificata");
                    return;
                }

                Hashtable htSelected = mf.GetPianificazioniVigilanza(IDPianificazioniVigilanza.ToString());

                if (htSelected.Count != 0)
                {
                    XmlDataProviderManager x = new XmlDataProviderManager(App.AppDataDataFolder + "\\" + htSelected["FileData"].ToString());

                    string    firstdata   = "";
                    string    lastData    = "";
                    DataTable datiTestata = cBusinessObjects.GetData(100003, typeof(PianificazioneVerificheTestata), IDCliente, IDPianificazioniVigilanza, 27);
                    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()));

                IDPianificazioniVigilanza = mf.SetPianificazioniVigilanza(ht, IDPianificazioniVigilanza, 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()) == IDPianificazioniVigilanza)
                        {
                            cmbData.SelectedIndex = Convert.ToInt32(item.Key.ToString());
                        }
                    }

                    functionCmbDataChanged(cmbData);
                    cBusinessObjects.AddSessione("PianificazioniVigilanza", cmbData.SelectedValue.ToString(), IDPianificazioniVigilanza, IDCliente);

                    //Process wait - STOP
                    //pw.Close();
                }
                _DatiCambiati = false;
                break;

            case App.TipoAttivitaScheda.Delete:
                //richiesta conferma
                if (MessageBoxResult.No == u.ConfermaCancellazione())
                {
                    return;
                }
                //cancellazione
                mf.DeletePianificazioniVigilanza(IDPianificazioniVigilanza, 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");
                AccediVigilanza_Click(IDPianificazioniVigilanza.ToString(), false);
            }

            //chiudo maschera
            if (TipologiaAttivita != App.TipoAttivitaScheda.Edit)
            {
                base.Close();
            }
        }
        private void functionCmbClientiChanged(ComboBox cmb)
        {
            if (_cmbInCaricamento)
            {
                return;
            }

            if (oldTipologiaAttivita != App.TipoAttivitaScheda.View)
            {
                TipologiaAttivita = oldTipologiaAttivita;
            }

            _InCaricamento        = true;
            cmbData.SelectedIndex = -1;
            try
            {
                cmbDataDaVigilanza.SelectedIndex = -1;
            }
            catch (Exception ex)
            {
                cBusinessObjects.logger.Error(ex, "wSchedaPianificazioneVigilanza.functionCmbClientiChanged1 exception");
                string log = ex.Message;
            }

            dtpDataInizio.Text = "";
            dtpDataFine.Text   = "";

            if (cmb.SelectedIndex != -1)
            {
                try
                {
                    string IDCliente = htClienti[cmb.SelectedIndex].ToString();

                    OldSelectedCmbClienti = Convert.ToInt32(IDCliente);

                    MasterFile mf = MasterFile.Create();

                    int index = 0;
                    htDate.Clear();
                    htDateVigilanze.Clear();
                    cmbData.Items.Clear();
                    cmbDataDaVigilanza.Items.Clear();

                    List <KeyValuePair <string, string> > myList = new List <KeyValuePair <string, string> >();

                    foreach (Hashtable item in mf.GetPianificazioniVigilanze(IDCliente))
                    {
                        myList.Add(new KeyValuePair <string, string>(item["ID"].ToString(), item["DataInizio"].ToString() + " - " + item["DataFine"].ToString()));
                    }

                    myList.Sort
                    (
                        delegate(KeyValuePair <string, string> firstPair, KeyValuePair <string, string> nextPair)
                    {
                        return(Convert.ToDateTime(nextPair.Value.Split(' ')[0]).CompareTo(Convert.ToDateTime(firstPair.Value.Split(' ')[0])));
                    }
                    );

                    foreach (KeyValuePair <string, string> item in myList)
                    {
                        cmbData.Items.Add(item.Value);
                        htDate.Add(index, item.Key);
                        index++;
                    }

                    index = 0;
                    List <KeyValuePair <string, string> > myListVigilanza = new List <KeyValuePair <string, string> >();

                    foreach (Hashtable item in mf.GetPianificazioniVerifiche(IDCliente))
                    {
                        myListVigilanza.Add(new KeyValuePair <string, string>(item["ID"].ToString(), item["DataInizio"].ToString() + " - " + item["DataFine"].ToString()));
                    }

                    myListVigilanza.Sort
                    (
                        delegate(KeyValuePair <string, string> firstPair, KeyValuePair <string, string> nextPair)
                    {
                        return(Convert.ToDateTime(nextPair.Value.Split(' ')[0]).CompareTo(Convert.ToDateTime(firstPair.Value.Split(' ')[0])));
                    }
                    );

                    foreach (KeyValuePair <string, string> item in myListVigilanza)
                    {
                        cmbDataDaVigilanza.Items.Add(item.Value);
                        htDateVigilanze.Add(index, item.Key);
                        index++;
                    }


                    //stato
                    if (IDClienteImport == "-1")
                    {
                        App.TipoAnagraficaStato anaStato = mf.GetAnafraficaStato(Convert.ToInt32(IDCliente));

                        //non disponibile: configuro interfaccia
                        if (anaStato != App.TipoAnagraficaStato.Disponibile)
                        {
                            oldTipologiaAttivita = TipologiaAttivita;
                            TipologiaAttivita    = App.TipoAttivitaScheda.View;
                        }
                    }

                    if (TipologiaAttivita != App.TipoAttivitaScheda.New)
                    {
                        cmbData.IsEnabled            = true;
                        cmbDataDaVigilanza.IsEnabled = false;
                        dtpDataInizio.IsEnabled      = false;
                        dtpDataFine.IsEnabled        = false;
                    }
                    else
                    {
                        cmbData.IsEnabled            = false;
                        cmbDataDaVigilanza.IsEnabled = true;
                        dtpDataInizio.IsEnabled      = true;
                        dtpDataFine.IsEnabled        = true;
                    }
                }
                catch (Exception ex)
                {
                    cBusinessObjects.logger.Error(ex, "wSchedaPianificazioneVigilanza.functionCmbClientiChanged2 exception");
                    string log = ex.Message;

                    cmbData.IsEnabled            = false;
                    cmbDataDaVigilanza.IsEnabled = false;
                    dtpDataInizio.IsEnabled      = false;
                    dtpDataFine.IsEnabled        = false;
                }
            }
        }
Example #7
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();
            }
        }
Example #8
0
        //----------------------------------------------------------------------------+
        //                         functionCmbClientiChanged                          |
        //----------------------------------------------------------------------------+
        private void functionCmbClientiChanged(ComboBox cmb)
        {
            if (_cmbInCaricamento)
            {
                return;
            }
            if (oldTipologiaAttivita != App.TipoAttivitaScheda.View)
            {
                TipologiaAttivita = oldTipologiaAttivita;
            }
            _InCaricamento                  = true;
            cmbData.SelectedIndex           = -1;
            dtpDataNomina.Text              = "";
            rdbAttivitaNomina.IsChecked     = false;
            rdbAttivitaRiesame.IsChecked    = false;
            rdbCollegioSindacale.IsChecked  = false;
            rdbRevisoreSincoUnico.IsChecked = false;
            txtNota.Text = "";
            if (cmb.SelectedIndex != -1)
            {
                try
                {
                    string IDCliente = htClienti[cmb.SelectedIndex].ToString();
                    OldSelectedCmbClienti = Convert.ToInt32(IDCliente);
                    MasterFile mf    = MasterFile.Create();
                    int        index = 0;
                    htDate.Clear();
                    cmbData.Items.Clear();
                    Hashtable attivita = new Hashtable();
                    List <KeyValuePair <string, string> > myList = new List <KeyValuePair <string, string> >();
                    foreach (Hashtable item in mf.GetIncarichi(IDCliente, area1))
                    {
                        switch ((App.TipoIncaricoAttivita)(Convert.ToInt32(item["Attivita"].ToString())))
                        {
                        case App.TipoIncaricoAttivita.Nomina:
                            attivita.Add(item["ID"].ToString(), " (Incarico)");
                            break;

                        case App.TipoIncaricoAttivita.Riesame:
                            attivita.Add(item["ID"].ToString(), " (Riesame___Incarico)");
                            break;

                        case App.TipoIncaricoAttivita.Sconosciuto:
                        default:
                            attivita.Add(item["ID"].ToString(), "");
                            break;
                        }
                        myList.Add(new KeyValuePair <string, string>(item["ID"].ToString(), item["DataNomina"].ToString()));
                    }
                    myList.Sort
                    (
                        delegate(KeyValuePair <string, string> firstPair, KeyValuePair <string, string> nextPair)
                    {
                        return(Convert.ToDateTime(nextPair.Value).CompareTo(Convert.ToDateTime(firstPair.Value)));
                    }
                    );
                    foreach (KeyValuePair <string, string> item in myList)
                    {
                        cmbData.Items.Add(item.Value + attivita[item.Key].ToString());
                        htDate.Add(index, item.Key);
                        index++;
                    }
                    //stato
                    if (IDClienteImport == "-1")
                    {
                        App.TipoAnagraficaStato anaStato = mf.GetAnafraficaStato(Convert.ToInt32(IDCliente));
                        //non disponibile: configuro interfaccia
                        if (anaStato != App.TipoAnagraficaStato.Disponibile)
                        {
                            oldTipologiaAttivita = TipologiaAttivita;
                            TipologiaAttivita    = App.TipoAttivitaScheda.View;
                        }
                    }
                    if (TipologiaAttivita != App.TipoAttivitaScheda.New)
                    {
                        cmbData.IsEnabled               = true;
                        dtpDataNomina.IsEnabled         = false;
                        rdbAttivitaNomina.IsEnabled     = false;
                        rdbAttivitaRiesame.IsEnabled    = false;
                        rdbCollegioSindacale.IsEnabled  = false;
                        rdbRevisoreSincoUnico.IsEnabled = false;
                        txtNota.IsEnabled               = false;
                    }
                    else
                    {
                        cmbData.IsEnabled               = false;
                        dtpDataNomina.IsEnabled         = true;
                        rdbAttivitaNomina.IsEnabled     = true;
                        rdbAttivitaRiesame.IsEnabled    = true;
                        rdbCollegioSindacale.IsEnabled  = true;
                        rdbRevisoreSincoUnico.IsEnabled = true;
                        txtNota.IsEnabled               = true;
                    }
                }
                catch (Exception ex)
                {
                    cBusinessObjects.logger.Error(ex, "wSchedaIncarico.functionCmbClientiChanged exception");
                    string log = ex.Message;
                    cmbData.IsEnabled               = false;
                    dtpDataNomina.IsEnabled         = false;
                    rdbAttivitaNomina.IsEnabled     = false;
                    rdbAttivitaRiesame.IsEnabled    = false;
                    rdbCollegioSindacale.IsEnabled  = false;
                    rdbRevisoreSincoUnico.IsEnabled = false;
                    txtNota.IsEnabled               = false;
                }
            }
        }
Example #9
0
        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());

            IDPianificazioniVigilanza = App.MasterFile_NewID;

            try
            {
                IDPianificazioniVigilanza = Convert.ToInt32(htDate[cmbData.SelectedIndex].ToString());
            }
            catch (Exception ex)
            {
                cBusinessObjects.logger.Error(ex, "wSchedaPianificazioneVigilanzaOLD.buttonComando_Click exception");
                string log = ex.Message;
            }

            if (TipologiaAttivita == App.TipoAttivitaScheda.Delete && IDPianificazioniVigilanza == -1)
            {
                MessageBox.Show("selezionare una sessione");
                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(dtpDataInizio, "Data Inizio periodo mancante."))
                {
                    return;
                }

                if (!u.ConvalidaDatiInterfaccia(dtpDataFine, "Data Fine periodo mancante."))
                {
                    return;
                }

                //Controllo che questa data non sia già stata presa
                if (!mf.CheckDoppio_PianificazioniVigilanza(IDPianificazioniVigilanza, IDCliente, dtpDataInizio.SelectedDate.Value.ToShortDateString(), dtpDataFine.SelectedDate.Value.ToShortDateString()))
                {
                    MessageBox.Show("Data già pianificata");
                    return;
                }

                //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()));


                IDPianificazioniVigilanza = mf.SetPianificazioniVigilanza(ht, IDPianificazioniVigilanza, IDCliente);

                RegistrazioneEffettuata = true;

                if (TipologiaAttivita == App.TipoAttivitaScheda.New)
                {
                    if (IDClienteImport != "-1")
                    {
                        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()) == IDPianificazioniVigilanza)
                        {
                            cmbData.SelectedIndex = Convert.ToInt32(item.Key.ToString());
                        }
                    }


                    functionCmbDataChanged(cmbData);
                    cBusinessObjects.AddSessione("PianificazioniVigilanza", cmbData.SelectedValue.ToString(), IDPianificazioniVigilanza, IDCliente);
                }
                _DatiCambiati = false;
                break;

            case App.TipoAttivitaScheda.Delete:
                //richiesta conferma
                if (MessageBoxResult.No == u.ConfermaCancellazione())
                {
                    return;
                }
                //cancellazione
                mf.DeletePianificazioniVigilanza(IDPianificazioniVigilanza, 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");
                AccediVigilanza_Click(IDPianificazioniVigilanza.ToString(), false);
            }

            //chiudo maschera
            if (TipologiaAttivita != App.TipoAttivitaScheda.Edit)
            {
                base.Close();
            }
        }