Example #1
0
        private void button1_Click(object sender, EventArgs e)
        {
            Viaggio scarico = new Viaggio();

            if (txtBustaDoc.Text == "")
            {
                MessageBox.Show("Inserisci Busta Documenti", "Errore", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            scarico.BustaDocumenti = txtBustaDoc.Text;
            scarico.Camion         = cmbCamion.SelectedItem.ToString();
            //dal nome del camionista prende il codice fiscale
            var cf = from d in database.Tables["DIPENDENTE"].AsEnumerable()
                     where d.Field <string>("Nome") == cmbCamionista.SelectedItem.ToString()
                     select new { CF = d.Field <string>("CodiceFiscale") };

            scarico.Camionista = cf.ElementAt(0).CF;
            //prende ultimo codice
            if (database.Tables["VIAGGIO_DI_SCARICO"].Rows.Count == 0)
            {
                scarico.Codice = 1;
            }
            else
            {
                //leggo il massimo codice inserito nel database
                var codici = from v in database.Tables["VIAGGIO_DI_SCARICO"].AsEnumerable()
                             orderby v.Field <int>("Codice") descending
                             select v.Field <int>("Codice");

                int max = codici.ElementAt(0);

                scarico.Codice = max + 1;
            }

            scarico.Container1 = cmbContainer1.SelectedItem.ToString();
            scarico.Data       = dateTimePicker1.Value.Day.ToString() + "/" + dateTimePicker1.Value.Month.ToString() + "/" + dateTimePicker1.Value.Year.ToString();

            //riempie informazioni per container 1
            List <Informazioni_In_Viaggio> info = new List <Informazioni_In_Viaggio>();
            Informazioni_In_Viaggio        in1  = new Informazioni_In_Viaggio();
            //prende l'iva dal nome dell'impianto 1
            var iva = from i in database.Tables["IMPIANTO"].AsEnumerable()
                      where i.Field <string>("Nome") == cmbImpianto1.SelectedItem.ToString()
                      select new { Iva = i.Field <string>("PartitaIva") };

            in1.Iva     = iva.ElementAt(0).Iva;
            in1.Viaggio = scarico.Codice;
            in1.Soa     = cmbSoa1.SelectedItem.ToString();
            //controllo se il peso è inserito correttamente
            try
            {
                in1.PesoSoa = int.Parse(txtPeso1.Text);
            }
            catch
            {
                MessageBox.Show("Inserisci un peso > 0", "Errore", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            //se <= 0 errore
            if (in1.PesoSoa <= 0)
            {
                MessageBox.Show("Inserisci un peso > 0", "Errore", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            info.Add(in1);

            //controllo rimorchio
            if (chkRimorchio.Checked)
            {
                scarico.Rimorchio.Container2 = cmbContainer2.SelectedItem.ToString();
                scarico.Rimorchio.Rimorchio  = cmbRimorchio.SelectedItem.ToString();
                //inserisce le informazioni anche per il rimorchio
                //prende l'iva dal nome dell'impianto 2
                var iva2 = from i in database.Tables["IMPIANTO"].AsEnumerable()
                           where i.Field <string>("Nome") == cmbImpianto2.SelectedItem.ToString()
                           select new { Iva = i.Field <string>("PartitaIva") };

                in1.Iva = iva2.ElementAt(0).Iva;
                in1.Soa = cmbSoa2.SelectedItem.ToString();
                //controllo se il peso è inserito correttamente
                try
                {
                    in1.PesoSoa = int.Parse(txtPeso2.Text);
                }
                catch
                {
                    MessageBox.Show("Inserisci un peso > 0", "Errore", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
                //se <= 0 errore
                if (in1.PesoSoa <= 0)
                {
                    MessageBox.Show("Inserisci un peso > 0", "Errore", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                info.Add(in1);
            }
            else
            {
                scarico.Rimorchio.Rimorchio = "";
            }

            //assegna alle proprietà di output i valori
            Scarico = scarico;
            Infos   = info;
            //chiude form
            this.Close();
        }
Example #2
0
        private void button1_Click(object sender, EventArgs e)
        {
            Viaggio carico = new Viaggio();

            if (txtBustaDoc.Text == "")
            {
                MessageBox.Show("Inserisci Busta Documenti", "Errore", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            carico.BustaDocumenti = txtBustaDoc.Text;
            carico.Camion         = cmbCamion.SelectedItem.ToString();

            //se è un viaggio ottimizzato il camionista ha già il codice fiscale
            if (cmbCamionista.Enabled)
            {
                //dal nome del camionista prende il codice fiscale
                var cf = from d in database.Tables["DIPENDENTE"].AsEnumerable()
                         where d.Field <string>("Nome") == cmbCamionista.SelectedItem.ToString()
                         select new { CF = d.Field <string>("CodiceFiscale") };

                carico.Camionista = cf.ElementAt(0).CF;
            }
            else
            {
                carico.Camionista = cmbCamionista.SelectedItem.ToString();
            }

            //prende ultimo codice
            if (database.Tables["VIAGGIO_DI_CARICO"].Rows.Count == 0)
            {
                carico.Codice = 1;
            }
            else
            {
                //leggo il massimo codice inserito nel database
                var codici = from v in database.Tables["VIAGGIO_DI_CARICO"].AsEnumerable()
                             orderby v.Field <int>("Codice") descending
                             select v.Field <int>("Codice");

                int max = codici.ElementAt(0);

                carico.Codice = max + 1;
            }

            carico.Container1 = cmbContainer1.SelectedItem.ToString();
            carico.Data       = dateTimePicker1.Value.Day.ToString() + "/" + dateTimePicker1.Value.Month.ToString() + "/" + dateTimePicker1.Value.Year.ToString();

            //riempie informazioni per container 1
            List <Informazioni_In_Viaggio> info = new List <Informazioni_In_Viaggio>();
            Informazioni_In_Viaggio        in1  = new Informazioni_In_Viaggio();
            //prende l'iva dal nome dell'impianto 1
            var iva = from i in database.Tables["CLIENTE"].AsEnumerable()
                      where i.Field <string>("Nome") == cmbCliente1.SelectedItem.ToString()
                      select new { Iva = i.Field <string>("PartitaIva") };

            in1.Iva     = iva.ElementAt(0).Iva;
            in1.Viaggio = carico.Codice;
            in1.Soa     = cmbSoa1.SelectedItem.ToString();
            //controllo se il peso è inserito correttamente
            try
            {
                in1.PesoSoa = int.Parse(txtPeso1.Text);
            }
            catch
            {
                MessageBox.Show("Inserisci un peso > 0", "Errore", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            //se <= 0 errore
            if (in1.PesoSoa <= 0)
            {
                MessageBox.Show("Inserisci un peso > 0", "Errore", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            info.Add(in1);

            //controllo separatore per il container 1
            if (chkSeparatore1.Checked)
            {
                //aggiunge un'altra informazione carico
                in1.Soa = cmbSoa2.SelectedItem.ToString();
                //controllo se il peso è inserito correttamente
                try
                {
                    in1.PesoSoa = int.Parse(txtPeso2.Text);
                }
                catch
                {
                    MessageBox.Show("Inserisci un peso > 0", "Errore", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
                //se <= 0 errore
                if (in1.PesoSoa <= 0)
                {
                    MessageBox.Show("Inserisci un peso > 0", "Errore", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
                info.Add(in1);
            }

            //controllo rimorchio
            if (chkRimorchio.Checked)
            {
                carico.Rimorchio.Container2 = cmbContainer2.SelectedItem.ToString();
                carico.Rimorchio.Rimorchio  = cmbRimorchio.SelectedItem.ToString();
                //inserisce le informazioni anche per il rimorchio
                //prende l'iva dal nome dell'impianto 2
                var iva2 = from i in database.Tables["CLIENTE"].AsEnumerable()
                           where i.Field <string>("Nome") == cmbCliente2.SelectedItem.ToString()
                           select new { Iva = i.Field <string>("PartitaIva") };

                in1.Iva = iva2.ElementAt(0).Iva;
                in1.Soa = cmbSoa3.SelectedItem.ToString();
                //controllo se il peso è inserito correttamente
                try
                {
                    in1.PesoSoa = int.Parse(txtPeso3.Text);
                }
                catch
                {
                    MessageBox.Show("Inserisci un peso > 0", "Errore", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
                //se <= 0 errore
                if (in1.PesoSoa <= 0)
                {
                    MessageBox.Show("Inserisci un peso > 0", "Errore", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                info.Add(in1);

                //controllo separatore per il container 2 nel rimorchio
                if (chkSeparatore2.Checked)
                {
                    //aggiungo un'altra informazione carico
                    in1.Soa = cmbSoa4.SelectedItem.ToString();
                    //controllo se il peso è inserito correttamente
                    try
                    {
                        in1.PesoSoa = int.Parse(txtPeso4.Text);
                    }
                    catch
                    {
                        MessageBox.Show("Inserisci un peso > 0", "Errore", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }
                    //se <= 0 errore
                    if (in1.PesoSoa <= 0)
                    {
                        MessageBox.Show("Inserisci un peso > 0", "Errore", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }
                    info.Add(in1);
                }
            }
            else
            {
                carico.Rimorchio.Rimorchio = "";
            }

            //ottiene giorno precedente per il confronto, perchè il datetimepicker ha anche l'ora
            //nel database l'ora nn c'è
            DateTime precedente = dateTimePicker1.Value.AddDays(-1);
            DateTime attuale    = dateTimePicker1.Value;
            //genero il numero viaggio = numeroviaggio di camionista e data più alto + 1
            //leggo il massimo codice inserito nel database
            var numeri_viaggio = from v in database.Tables["VIAGGIO_DI_CARICO"].AsEnumerable()
                                 where v.Field <string>("Camionista") == carico.Camionista && v.Field <DateTime>("Data").CompareTo(precedente) > 0 && v.Field <DateTime>("Data").CompareTo(attuale) <= 0
                                 orderby v.Field <int>("NumeroViaggio") descending
                                 select v.Field <int>("NumeroViaggio");

            int max_num = 0;

            if (numeri_viaggio.Count() > 0)
            {
                //c'era almeno un viaggio di carico con lo stesso camionista e data
                max_num = numeri_viaggio.ElementAt(0);
            }

            carico.NumeroViaggio = max_num + 1; //è progressivo

            //assegna alle proprietà di output i valori
            Carico = carico;
            Infos  = info;
            //chiude form
            this.Close();
        }