public FormInserimentiAmministratore(Studio callingForm, int codiceMatricola)
        {
            mainForm  = callingForm;
            matricola = codiceMatricola;
            InitializeComponent();
            this.execution = "";
            this.tipo      = false;

            using (var db = new DataModel.StudioprofessionaleDB())
            {
                var queryDipendente =
                    (from d in db.Dipendentes
                     select d);

                var queryCategoria =
                    (from c in db.Categorias
                     select c);

                foreach (var x in queryCategoria)
                {
                    comboBoxCategoria.Items.Add(x.CodiceCategoria + " - " + x.Nome);
                }
                foreach (var x in queryDipendente)
                {
                    comboBoxDipendente.Items.Add(x.Matricola + " - " + x.Nome + " " + x.Cognome);
                }
            }
        }
        private void buttonDipendente_Click(object sender, EventArgs e)
        {
            initializePersonLabels();
            LabelCognome_e_CF.Visible  = true;
            LabelCostoOrario.Visible   = true;
            textBoxCostoOrario.Visible = true;
            LabelStipendio.Visible     = true;
            LabelStipendio.Enabled     = false;
            checkBoxImpiegato.Visible  = true;

            LabelRuolo.Text = "Ruolo";

            using (var db = new DataModel.StudioprofessionaleDB())
            {
                var queryRuolo =
                    (from r in db.Ruoloes
                     select r);

                foreach (var x in queryRuolo)
                {
                    comboBoxRuolo.Items.Add(x.CodiceRuolo + " - " + x.Nome);
                }
            }

            this.execution = "Dipendente";
        }
예제 #3
0
        public FormPerDipendente(Studio callingForm, int codiceMatricola)
        {
            mainForm  = callingForm;
            matricola = codiceMatricola;
            InitializeComponent();
            using (var db = new DataModel.StudioprofessionaleDB())
            {
                var queryCliente =
                    (from c in db.Clientes
                     select c);

                var queryPratica =
                    (from p in db.Praticas
                     select p);

                foreach (var x in queryCliente)
                {
                    comboboxCliente.Items.Add(x.Nominativo + " - " + x.CodiceFiscale);
                }
                foreach (var x in queryPratica)
                {
                    comboboxPratica.Items.Add(x.CodicePratica + " - " + x.Nome + " - " + x.DataRichiesta.ToShortDateString());
                }
            }
        }
        private void insertCliente()
        {
            using (var db = new DataModel.StudioprofessionaleDB())
            {
                try
                {
                    DataModel.Cliente newElem = new DataModel.Cliente();
                    newElem.Nominativo    = textBoxNome.Text;
                    newElem.CodiceFiscale = textBoxCognomeCF.Text;
                    newElem.Via           = textBoxVia.Text;
                    newElem.Citta         = textBoxCittàCosto.Text;
                    newElem.CAP           = textBoxCAP.Text;
                    newElem.CodiceSede    = Int32.Parse(comboBoxRuolo.Text.Split('-')[0].ToString());
                    newElem.Tipo          = 'p';
                    if (tipo)
                    {
                        newElem.Tipo       = 'a';
                        newElem.PartitaIVA = textBoxTipo.Text;
                    }

                    db.Insert(newElem);
                    MessageBox.Show("Operazione effettuata con successo");
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }
 /**************************** QUERY DI INSERIMENTO *************************************/
 private void insertDipendente()
 {
     using (var db = new DataModel.StudioprofessionaleDB())
     {
         try
         {
             DataModel.Dipendente newElem = new DataModel.Dipendente();
             newElem.Matricola   = matricola;
             newElem.Nome        = textBoxNome.Text;
             newElem.Cognome     = textBoxCognomeCF.Text;
             newElem.Via         = textBoxVia.Text;
             newElem.Citta       = textBoxCittàCosto.Text;
             newElem.CAP         = textBoxCAP.Text;
             newElem.CostoOrario = Int32.Parse(textBoxCostoOrario.Text);
             newElem.CodiceRuolo = Int32.Parse(comboBoxRuolo.Text.Split('-')[0].ToString());
             newElem.Tipo        = 'c';
             if (tipo)
             {
                 newElem.Tipo      = 'i';
                 newElem.Stipendio = Int32.Parse(textBoxTipo.Text);
             }
             db.Insert(newElem);
             MessageBox.Show("Operazione effettuata con successo");
         }
         catch (Exception ex)
         {
             MessageBox.Show(ex.Message);
         }
     }
 }
예제 #6
0
        private void button5_Click(object sender, EventArgs e)
        {
            using (var db = new DataModel.StudioprofessionaleDB())
            {
                try
                {
                    DataModel.Pratica newPratica = new DataModel.Pratica();
                    newPratica.CodiceFiscale = codiceFiscaleSelected;
                    newPratica.DataRichiesta = dateTimePickerDataPratica.Value;
                    newPratica.Nome          = textBoxNomePratica.Text;

                    db.Insert(newPratica);
                    MessageBox.Show("Pratica inserita correttamente!");
                    var query =
                        (from pratica in db.Praticas
                         where pratica.CodiceFiscale == codiceFiscaleSelected
                         select new
                    {
                        pratica.Nome,
                        numeroPratica = pratica.CodicePratica,
                        pratica.DataRichiesta
                    });
                    dataGridView1.DataSource = query.ToList();
                    lblStep.Text             = "Step: pratica";
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }
        private void insertResponsabilita()
        {
            using (var db = new DataModel.StudioprofessionaleDB())
            {
                DataModel.Responsabile newElem = new DataModel.Responsabile();
                String codFiscale;

                try
                {
                    foreach (var c in checkedListBox.CheckedItems)
                    {
                        codFiscale = c.ToString().Split('-')[1].ToString().Trim(' ');

                        db.Responsabiles
                        .Where(r => r.CodiceFiscale == codFiscale)
                        .Set(p => p.DataFine, dateTimePickerResponsabilità.Value)
                        .Update();

                        newElem.CodiceFiscale = codFiscale;
                        newElem.Matricola     = Int32.Parse(comboBoxDipendente.Text.Split('-')[0].ToString());
                        newElem.DataInizio    = dateTimePickerResponsabilità.Value;

                        db.Insert(newElem);
                        MessageBox.Show("Operazione effettuata con successo");
                    }
                } catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }
예제 #8
0
        private void comboBoxCategoria_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                comboBoxSottocategoria.Items.Clear();
                comboBoxSottocategoria.Text = "";
                using (var db = new DataModel.StudioprofessionaleDB())
                {
                    var querySottocategoria =
                        (from sc in db.Sottocategorias
                         join ca in db.Categorias on sc.CodiceCategoria equals ca.CodiceCategoria
                         where sc.CodiceCategoria == comboBoxCategoria.SelectedIndex + 1
                         select new
                    {
                        Attivita = sc.Nome,
                        sc.CodiceSottocategoria
                    }).OrderBy(x => x.CodiceSottocategoria);

                    foreach (var x in querySottocategoria)
                    {
                        comboBoxSottocategoria.Items.Add(x.Attivita);
                    }
                }
            }catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
예제 #9
0
 private void button2_Click(object sender, EventArgs e)
 {
     try
     {
         groupBox2.Enabled = false;
         groupBox3.Enabled = false;
         using (var db = new DataModel.StudioprofessionaleDB())
         {
             var query =
                 (from pratica in db.Praticas
                  where pratica.CodiceFiscale == codiceFiscaleSelected
                  select new
             {
                 pratica.Nome,
                 numeroPratica = pratica.CodicePratica,
                 pratica.DataRichiesta
             });
             dataGridView1.DataSource = query.ToList();
             lblStep.Text             = "Step: pratica";
         }
     }catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
예제 #10
0
        public Form2(Form1 callingForm, int codiceMatricola)
        {
            mainForm  = callingForm;
            matricola = codiceMatricola;
            InitializeComponent();
            disabilitaTutto();
            using (var db = new DataModel.StudioprofessionaleDB())
            {
                var querySede =
                    (from s in db.Sedes
                     select s);
                var queryCliente =
                    (from c in db.Clientes
                     select c);



                foreach (var x in querySede)
                {
                    comboBoxSede.Items.Add(x.CodiceSede + " - " + x.Nome);
                }
                foreach (var x in queryCliente)
                {
                    comboBoxCliente.Items.Add(x.CodiceFiscale + " - " + x.Nominativo);
                }
            }
        }
예제 #11
0
        private void button4_Click(object sender, EventArgs e)
        {
            int codiceSottocategoria;

            using (var db = new DataModel.StudioprofessionaleDB())
            {
                try
                {
                    //ottengo il codice della sottocategoria tramite query
                    var querySottocategoria =
                        (from sc in db.Sottocategorias
                         where sc.Nome == comboBoxSottocategoria.Text
                         select new
                    {
                        sc.CodiceSottocategoria
                    });

                    codiceSottocategoria = querySottocategoria.ToList().First().CodiceSottocategoria;

                    DataModel.Prestazione newPrestazione = new DataModel.Prestazione();

                    newPrestazione.CodiceFiscale        = codiceFiscaleSelected;
                    newPrestazione.CodicePratica        = codicePraticaSelected;
                    newPrestazione.CodiceSottocategoria = codiceSottocategoria;
                    newPrestazione.Pagata    = checkBoxPagata.Checked;
                    newPrestazione.Terminata = checkBoxTerminata.Checked;
                    newPrestazione.Compenso  = float.Parse(numericUpDownCompenso.Value.ToString());
                    db.Insert(newPrestazione);
                    MessageBox.Show("Prestazione inserita correttamente!");
                    var qe =
                        (from p in db.Prestaziones
                         join s in db.Sottocategorias on p.CodiceSottocategoria equals s.CodiceSottocategoria
                         join ca in db.Categorias on s.CodiceCategoria equals ca.CodiceCategoria
                         where p.CodiceFiscale == codiceFiscaleSelected
                         where p.CodicePratica == codicePraticaSelected
                         select new
                    {
                        s.Nome,
                        p.Compenso,
                        p.Durata,
                        p.Pagata,
                        p.Terminata,
                        p.CodicePrestazione,
                        NomeCategoria = ca.Nome
                    }).OrderBy((x) => (x.CodicePrestazione));
                    dataGridView1.DataSource = qe.ToList();
                    dataGridView1.Columns["CodicePrestazione"].Visible = false;
                    dataGridView1.Columns["NomeCategoria"].Visible     = true;
                    lblStep.Text      = "Step: prestazione";
                    groupBox2.Enabled = true;
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }
예제 #12
0
        private void btnAggiornaPrestazione_Click(object sender, EventArgs e)
        {
            int codiceSottocategoria = 0;

            try
            {
                using (var db = new DataModel.StudioprofessionaleDB())
                {
                    var querySottocategoria =
                        (from sc in db.Sottocategorias
                         where sc.Nome == comboBoxSottocategoria.Text
                         select new
                    {
                        sc.CodiceSottocategoria
                    });

                    codiceSottocategoria = querySottocategoria.ToList().First().CodiceSottocategoria;

                    db.Prestaziones
                    .Where(r => r.CodiceFiscale == codiceFiscaleSelected)
                    .Where(r => r.CodicePrestazione == codicePrestazioneSelected)
                    .Where(r => r.CodicePratica == codicePraticaSelected)
                    .Set(p => p.CodiceSottocategoria, codiceSottocategoria)
                    .Set(p => p.Compenso, Int32.Parse(numericUpDownCompenso.Value.ToString()))
                    .Set(p => p.Pagata, checkBoxPagata.Checked)
                    .Set(p => p.Terminata, checkBoxTerminata.Checked)
                    .Update();
                    var qe =
                        (from p in db.Prestaziones
                         join s in db.Sottocategorias on p.CodiceSottocategoria equals s.CodiceSottocategoria
                         join ca in db.Categorias on s.CodiceCategoria equals ca.CodiceCategoria
                         where p.CodiceFiscale == codiceFiscaleSelected
                         where p.CodicePratica == codicePraticaSelected
                         select new
                    {
                        s.Nome,
                        p.Compenso,
                        p.Durata,
                        p.Pagata,
                        p.Terminata,
                        p.CodicePrestazione,
                        NomeCategoria = ca.Nome
                    }).OrderBy((x) => (x.CodicePrestazione));
                    dataGridView1.DataSource = qe.ToList();
                    dataGridView1.Columns["CodicePrestazione"].Visible = false;
                    dataGridView1.Columns["NomeCategoria"].Visible     = true;
                    lblStep.Text      = "Step: prestazione";
                    groupBox2.Enabled = true;
                }
            }catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
예제 #13
0
 private void costiStruttura_Shown(object sender, EventArgs e)
 {
     using (var db = new DataModel.StudioprofessionaleDB())
     {
         var q = (from s in db.Sedes
                  join a in db.Allocaziones on s.CodiceSede equals a.CodiceSede
                  where a.Matricola == dip
                  select new
         {
             s.CodiceSede,
             s.Nome
         });
         q.ToList().ForEach(x => comboBoxSede.Items.Add(x.CodiceSede + "-" + x.Nome));
     }
 }
예제 #14
0
        private void button6_Click(object sender, EventArgs e)
        {
            string date   = dateTimeDataFase.Value.ToShortDateString().Replace('/', '-');
            string inizio = dateTimePickerInizioFase.Value.ToLongTimeString();
            string fine   = dateTimePickerFineFase.Value.ToLongTimeString();

            using (var db = new DataModel.StudioprofessionaleDB())
            {
                try
                {
                    DataModel.Fase newFase = new DataModel.Fase();
                    newFase.CodiceFiscale     = codiceFiscaleSelected;
                    newFase.CodicePratica     = codicePraticaSelected;
                    newFase.CodicePrestazione = codicePrestazioneSelected;
                    newFase.Descrizione       = textBoxDescrizioneFase.Text;
                    newFase.Matricola         = matricola;
                    newFase.Inizio            = DateTime.Parse(date + " " + inizio);
                    newFase.Fine = DateTime.Parse(date + " " + fine);

                    db.Insert(newFase);

                    MessageBox.Show("Fase inserita correttamente!");
                    var q =
                        (from f in db.Fases
                         join dip in db.Dipendentes on f.Matricola equals dip.Matricola
                         where f.CodiceFiscale == codiceFiscaleSelected
                         where f.CodicePratica == codicePraticaSelected
                         where f.CodicePrestazione == codicePrestazioneSelected
                         select new
                    {
                        dip.Cognome,
                        f.Inizio,
                        f.Fine,
                        f.Descrizione,
                    });
                    dataGridView1.DataSource = q.ToList();
                    lblStep.Text             = "Step: fase";
                    groupBox3.Enabled        = true;
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }
        private void insertRuolo()
        {
            using (var db = new DataModel.StudioprofessionaleDB())
            {
                try
                {
                    DataModel.Ruolo newElem = new DataModel.Ruolo();
                    newElem.Nome = textBoxNome.Text;

                    db.Insert(newElem);
                    MessageBox.Show("Operazione effettuata con successo");
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }
        private void buttonAllocazione_Click(object sender, EventArgs e)
        {
            initializeLabels();
            groupBoxAllocazione.Visible = true;
            groupBoxAllocazione.Text    = "Allocazione dipendente";
            label2.Text = "Seleziona un dipendente ed una o più sedi\rdove verrà allocato.";

            using (var db = new DataModel.StudioprofessionaleDB())
            {
                var querySede =
                    (from p in db.Sedes
                     select p);
                foreach (var x in querySede)
                {
                    checkedListBox.Items.Add(x.CodiceSede + " - " + x.Nome + " " + x.Via + " " + x.Citta + " " + x.CAP);
                }
            }
            this.execution = "Allocazione";
        }
예제 #17
0
 private void btnAggiornaFase_Click(object sender, EventArgs e)
 {
     try
     {
         string date   = dateTimeDataFase.Value.ToShortDateString().Replace('/', '-');
         string inizio = dateTimePickerInizioFase.Value.ToLongTimeString();
         string fine   = dateTimePickerFineFase.Value.ToLongTimeString();
         //  MessageBox.Show(DateTime.Parse(dataFase.ToString().Replace('/', '-')).ToString());
         using (var db = new DataModel.StudioprofessionaleDB())
         {
             db.Fases
             .Where(f => f.CodiceFiscale == codiceFiscaleSelected)
             .Where(f => f.CodicePratica == codicePraticaSelected)
             .Where(f => f.CodicePrestazione == codicePrestazioneSelected)
             .Where(f => f.Inizio.Equals(dataFase))
             .Where(f => f.Matricola == matricola)
             .Set(f => f.Inizio, DateTime.Parse(date + " " + inizio))
             .Set(f => f.Fine, DateTime.Parse(date + " " + fine))
             .Set(f => f.Descrizione, textBoxDescrizioneFase.Text)
             .Update();
             dataFase = DateTime.ParseExact(dateTimeDataFase.Value.ToString("dd-MM-yyyy") + " " + dateTimePickerInizioFase.Value.ToString("HH:mm:ss"), "dd-MM-yyyy HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture);
             var q =
                 (from f in db.Fases
                  join dip in db.Dipendentes on f.Matricola equals dip.Matricola
                  where f.CodiceFiscale == codiceFiscaleSelected
                  where f.CodicePratica == codicePraticaSelected
                  where f.CodicePrestazione == codicePrestazioneSelected
                  select new
             {
                 dip.Cognome,
                 f.Inizio,
                 f.Fine,
                 f.Descrizione,
             });
             dataGridView1.DataSource = q.ToList();
             lblStep.Text             = "Step: fase";
             groupBox3.Enabled        = true;
         }
     }catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
예제 #18
0
        private void Form1_Shown(object sender, EventArgs e)
        {
            try
            {
                groupBox2.Enabled = false;
                groupBox3.Enabled = false;
                using (var db = new DataModel.StudioprofessionaleDB())
                {
                    var queryCliente =
                        (from c in db.Clientes
                         from a in db.Allocaziones
                         where a.Matricola == matricola
                         where c.CodiceSede == a.CodiceSede
                         select new
                    {
                        c.Nominativo,
                        c.CodiceFiscale
                    });

                    var queryCategoria =
                        (from c in db.Categorias
                         select new
                    {
                        c.CodiceCategoria,
                        c.Nome
                    }).OrderBy(x => x.CodiceCategoria);

                    foreach (var c in queryCliente)
                    {
                        comboboxClienteNominativo.Items.Add(c.Nominativo + "-" + c.CodiceFiscale);
                    }

                    foreach (var ca in queryCategoria)
                    {
                        comboBoxCategoria.Items.Add(ca.Nome);
                    }
                }
            }
            catch (Exception ex) {
                MessageBox.Show(ex.Message);
            }
        }
예제 #19
0
 private void button1_Click(object sender, EventArgs e)
 {
     using (var db = new DataModel.StudioprofessionaleDB())
     {
         var q = (from account in db.Accounts
                  where account.Username == textBoxUsername.Text
                  where account.Password == textBoxPassword.Text
                  select account);
         if (q.ToList().Count != 1)
         {
             MessageBox.Show("Username o password errati!");
         }
         else
         {
             Studio mainForm = new Studio(this, q.ToList().First().Matricola, q.ToList().First().Amministratore);
             mainForm.Show();
             textBoxPassword.Clear();
             this.Hide();
         }
     }
 }
        private void insertSede()
        {
            using (var db = new DataModel.StudioprofessionaleDB())
            {
                try
                {
                    DataModel.Sede newElem = new DataModel.Sede();
                    newElem.Nome  = textBoxNome.Text;
                    newElem.Via   = textBoxVia.Text;
                    newElem.Citta = textBoxCittàCosto.Text;
                    newElem.CAP   = textBoxCAP.Text;

                    db.Insert(newElem);
                    MessageBox.Show("Operazione effettuata con successo");
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }
        private void buttonResponsabilità_Click(object sender, EventArgs e)
        {
            initializeLabels();
            dateTimePickerResponsabilità.Enabled = true;
            groupBoxAllocazione.Visible          = true;
            groupBoxAllocazione.Text             = "Responsabilità dipendente";
            label2.Text = "Seleziona un dipendente ed uno o più clienti\rdei quali sarà responsabile.";

            using (var db = new DataModel.StudioprofessionaleDB())
            {
                /*var queryResponsabilità =
                 *  (from c in db.Clientes
                 *   from r in db.Responsabiles
                 *   where r.CodiceFiscale == c.CodiceFiscale
                 *   where (r.DataFine == null
                 || !(from r1 in db.Responsabiles
                 ||       where r1.CodiceFiscale == c.CodiceFiscale
                 ||       select r1.CodiceFiscale).Contains(c.CodiceFiscale))
                 ||  group c by new { c.CodiceFiscale, c.Nominativo } into g
                 ||  select new
                 ||  {
                 ||      g.Key.CodiceFiscale,
                 ||      g.Key.Nominativo
                 ||  });*/
                var queryResponsabilità =
                    (from c in db.Clientes
                     select new
                {
                    c.CodiceFiscale,
                    c.Nominativo
                });


                foreach (var x in queryResponsabilità)
                {
                    checkedListBox.Items.Add(x.Nominativo + " - " + x.CodiceFiscale);
                }
            }
            this.execution = "Responsabilità";
        }
        private void insertAllocazione()
        {
            using (var db = new DataModel.StudioprofessionaleDB())
            {
                DataModel.Allocazione newElem = new DataModel.Allocazione();
                try
                {
                    foreach (var c in checkedListBox.CheckedItems)
                    {
                        var s = c.ToString();
                        newElem.Matricola  = Int32.Parse(comboBoxDipendente.Text.Split('-')[0].ToString());
                        newElem.CodiceSede = Int32.Parse(s.Split('-')[0].ToString());

                        db.Insert(newElem);
                        MessageBox.Show("Operazione effettuata con successo");
                    }
                }catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }
        private void insertSottoCategoria()
        {
            using (var db = new DataModel.StudioprofessionaleDB())
            {
                try
                {
                    DataModel.Sottocategoria newElem = new DataModel.Sottocategoria();
                    newElem.Nome                 = textBoxNome.Text;
                    newElem.Descrizione          = TextBoxDescrizione.Text;
                    newElem.CodiceCategoria      = Int32.Parse(comboBoxCategoria.Text.Split('-')[0].ToString());
                    newElem.CostoFissoPerCliente = Int32.Parse(textBoxCittàCosto.Text);
                    newElem.TipoAZ               = checkBoxAzienda.Checked;
                    newElem.TipoPF               = checkBoxPF.Checked;

                    db.Insert(newElem);
                    MessageBox.Show("Operazione effettuata con successo");
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }
        private void buttonCliente_Click(object sender, EventArgs e)
        {
            initializePersonLabels();
            LabelP_IVA.Visible      = true;
            LabelP_IVA.Enabled      = false;
            checkBoxAzienda.Visible = true;

            LabelRuolo.Text        = "Sede";
            LabelCognome_e_CF.Text = "Codice fiscale";
            using (var db = new DataModel.StudioprofessionaleDB())
            {
                var queryRuolo =
                    (from r in db.Sedes
                     select r);

                foreach (var x in queryRuolo)
                {
                    comboBoxRuolo.Items.Add(x.CodiceSede + " - " + x.Nome);
                }
            }

            this.execution = "Cliente";
        }
예제 #25
0
 private void button1_Click(object sender, EventArgs e)
 {
     try
     {
         using (var db = new DataModel.StudioprofessionaleDB())
         {
             DataModel.CostoStruttura newCosto = new DataModel.CostoStruttura();
             newCosto.CodiceSede    = Int32.Parse(comboBoxSede.SelectedItem.ToString().Substring(0, 1));
             newCosto.DataPagamento = dateTimePickerDataPagamento.Value;
             newCosto.Tipo          = char.Parse(comboBoxTipologia.SelectedItem.ToString().Substring(0, 1));
             if (newCosto.Tipo == 'M')
             {
                 newCosto.Quantita = Int32.Parse(numericUpDownQuantita.Value.ToString());
             }
             newCosto.Costo       = Int32.Parse(numericUpDownCosto.Value.ToString());
             newCosto.Descrizione = textBoxDescrizione.Text;
             db.Insert(newCosto);
             MessageBox.Show("Inserimento effettuato!");
         }
     }catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
예제 #26
0
        private void button1_Click(object sender, EventArgs e)
        {
            if (comboboxOperazioni.SelectedIndex == 0)
            {
                //query 2
                using (var db = new DataModel.StudioprofessionaleDB())
                {
                    var query =
                        (from c in db.Clientes
                         join pa in db.Praticas on c.CodiceFiscale equals pa.CodiceFiscale
                         join f in db.Fases on new { pa.CodicePratica, pa.CodiceFiscale } equals new { f.CodicePratica, f.CodiceFiscale }
                         where f.Matricola == matricola
                         select new
                    {
                        c.CodiceFiscale,
                        c.Nominativo,
                        pa.CodicePratica,
                        pa.Nome,
                        f.CodicePrestazione,
                        f.Inizio,
                        f.Fine,
                        f.Descrizione
                    });

                    dataGridView1.DataSource = query.ToList();
                }
            }
            else if (comboboxOperazioni.SelectedIndex == 1)
            {
                //query 3
                using (var db = new DataModel.StudioprofessionaleDB())
                {
                    var query =
                        (from p in db.Prestaziones
                         join s in db.Sottocategorias on p.CodiceSottocategoria equals s.CodiceSottocategoria
                         where p.CodicePratica == codicePratica
                         where p.CodiceFiscale == codiceCliente
                         select new
                    {
                        p.CodiceFiscale,
                        p.CodicePrestazione,
                        p.Compenso,
                        CompensoTotale = p.Compenso + s.CostoFissoPerCliente,
                        p.Pagata,
                        p.Terminata
                    });
                    dataGridView1.DataSource = query.ToList();
                }
            }
            else
            {
                //query 20
                using (var db = new DataModel.StudioprofessionaleDB())
                {
                    var query =
                        (from f in db.Fases
                         join pa in db.Praticas on new { f.CodiceFiscale, f.CodicePratica } equals new { pa.CodiceFiscale, pa.CodicePratica }
                         join pe in db.Prestaziones on new { f.CodiceFiscale, f.CodicePratica, f.CodicePrestazione } equals new { pe.CodiceFiscale, pe.CodicePratica, pe.CodicePrestazione }
                         join s in db.Sottocategorias on pe.CodiceSottocategoria equals s.CodiceSottocategoria
                         //  join pe in db.Prestaziones on f.CodiceFiscale equals pe.CodiceFiscale
                         //   join pa in db.Praticas on pe.CodicePratica equals pa.CodicePratica
                         where f.Matricola == matricola
                         where f.CodiceFiscale == codiceCliente
                         // where f.CodicePratica == pe.CodicePratica
                         // where pa.CodiceFiscale == pe.CodiceFiscale
                         select new
                    {
                        f.Matricola,
                        pa.Nome,
                        pa.CodicePratica,
                        pe.CodicePrestazione,
                        pe.CodiceSottocategoria,
                        pe.Compenso,
                        CompensoTotale = pe.Compenso + s.CostoFissoPerCliente,
                        pe.Durata,
                        pe.Pagata,
                        pe.Terminata
                    }).Distinct();
                    dataGridView1.DataSource = query.ToList();
                }
            }
        }
예제 #27
0
        private void buttonOperazione_Click(object sender, EventArgs e)
        {
            if (comboBox.SelectedIndex == 0)
            {//query 19
                using (var db = new DataModel.StudioprofessionaleDB())
                {
                    var query =
                        (from s in db.Sedes
                         join c in db.Clientes on s.CodiceSede equals c.CodiceSede
                         group s by new { s.CodiceSede, s.Nome, c.Nominativo, c.Citta } into g
                         select new
                    {
                        g.Key.CodiceSede,
                        g.Key.Nome,
                        g.Key.Nominativo,
                        g.Key.Citta
                    });
                    dataGridView1.DataSource = query.ToList();
                }
            }
            else if (comboBox.SelectedIndex == 1)
            {
                //query 15
                using (var db = new DataModel.StudioprofessionaleDB())
                {
                    var query =
                        (from s in db.Sedes
                         join a in db.Allocaziones on s.CodiceSede equals a.CodiceSede
                         join d in db.Dipendentes on a.Matricola equals d.Matricola
                         join r in db.Ruoloes on d.CodiceRuolo equals r.CodiceRuolo
                         where s.CodiceSede == codiceSede
                         select new
                    {
                        Ruolo = r.Nome,
                        d.Matricola,
                        d.Nome,
                        d.Cognome,
                        d.CAP,
                        d.Citta,
                        d.Tipo,
                        d.CostoOrario,
                        d.Stipendio
                    });
                    dataGridView1.DataSource = query.ToList();
                }
            }
            else if (comboBox.SelectedIndex == 2)
            {//query 7
                using (var db = new DataModel.StudioprofessionaleDB())
                {
                    var query =
                        (from s in db.Sedes
                         join cs in db.CostoStruttura on s.CodiceSede equals cs.CodiceSede
                         group s by new { s.CodiceSede, s.Nome, cs.DataPagamento, cs.Costo, cs.Descrizione, cs.Quantita, cs.Tipo } into g
                         select new
                    {
                        g.Key.CodiceSede,
                        g.Key.Nome,
                        g.Key.DataPagamento,
                        g.Key.Costo,
                        g.Key.Descrizione,
                        g.Key.Quantita,
                        g.Key.Tipo
                    });
                    dataGridView1.DataSource = query.ToList();
                }
            }
            else if (comboBox.SelectedIndex == matricola)
            { //query 6
                using (var db = new DataModel.StudioprofessionaleDB())
                {
                    var query =
                        (from r in db.Responsabiles

                         join c in db.Clientes on r.CodiceFiscale equals c.CodiceFiscale
                         join d in db.Dipendentes on r.Matricola equals d.Matricola
                         orderby c.CodiceFiscale, r.DataInizio, r.DataFine
                         group r by new { c.CodiceFiscale, c.Nominativo, d.Matricola, d.Nome, d.Cognome, r.DataInizio, r.DataFine } into g
                         select new
                    {
                        g.Key.CodiceFiscale,
                        g.Key.Nominativo,
                        g.Key.Matricola,
                        g.Key.Nome,
                        g.Key.Cognome,
                        g.Key.DataInizio,
                        g.Key.DataFine
                    }
                        );
                    dataGridView1.DataSource = query.ToList();
                }
            }
            else if (comboBox.SelectedIndex == 4)
            {//query 10
                using (var db = new DataModel.StudioprofessionaleDB())
                {
                    var query =
                        (from f in db.Fases
                         join d in db.Dipendentes on f.Matricola equals d.Matricola
                         group f by new { d.Matricola, d.Nome, d.Cognome } into g
                         orderby g.Count(), g.Key.Cognome, g.Key.Nome
                         select new
                    {
                        g.Key.Matricola,
                        g.Key.Nome,
                        g.Key.Cognome,
                        NumeroFasi = g.Count()
                    }
                        ).Take(5);
                    dataGridView1.DataSource = query.ToList();
                }
            }
            else if (comboBox.SelectedIndex == 5)
            {
                //query 8

                using (var db = new DataModel.StudioprofessionaleDB())
                {
                    var query =
                        (from c in db.Clientes
                         join pa in db.Praticas on c.CodiceFiscale equals pa.CodiceFiscale
                         join pe in db.Prestaziones on new { pa.CodiceFiscale, pa.CodicePratica } equals new { pe.CodiceFiscale, pe.CodicePratica }
                         where c.CodiceFiscale == codiceFiscale
                         group pe by new { pe.Durata, c.CodiceFiscale, c.Nominativo, c.Tipo } into g
                         select new
                    {
                        g.Key.CodiceFiscale,
                        g.Key.Nominativo,
                        g.Key.Tipo,
                        OreDedicate = g.Key.Durata
                    }
                        );
                    var list      = query.ToList();
                    var totalSpan = new TimeSpan(list.Sum(r => r.OreDedicate.Ticks));
                    MessageBox.Show(totalSpan.ToString());
                }
            }
            else if (comboBox.SelectedIndex == 6)
            {  //query 13
                MySqlConnection connection = null;

                try
                {
                    connection = new MySqlConnection(cs);
                    connection.Open();

                    string  stm = "SELECT codiceFiscale, codicePratica, codicePrestazione, durata FROM PRESTAZIONE where TIME_TO_SEC(durata) > (select AVG(TIME_TO_SEC(durata)) from PRESTAZIONE) group by codiceFiscale,codicePratica,codicePrestazione,durata";
                    var     mySqlDataAdapter = new MySqlDataAdapter(stm, connection);
                    DataSet DS = new DataSet();
                    mySqlDataAdapter.Fill(DS);
                    dataGridView1.DataSource = DS.Tables[0];
                }
                catch (MySqlException ex)
                {
                }
                finally
                {
                    if (connection != null)
                    {
                        connection.Close();
                    }
                }
            }
            else if (comboBox.SelectedIndex == 7)
            {//query 14
                using (var db = new DataModel.StudioprofessionaleDB())
                {
                    var query =
                        (from a in db.Allocaziones
                         join s in db.Sedes on a.CodiceSede equals s.CodiceSede
                         join d in db.Dipendentes on a.Matricola equals d.Matricola
                         select new
                    {
                        d.Matricola,
                        d.Nome,
                        d.Cognome,
                        NomeSede = s.Nome
                    }
                        );

                    dataGridView1.DataSource = query.ToList();
                }
            }
            else if (comboBox.SelectedIndex == 8)
            {
                //query 17
                using (var db = new DataModel.StudioprofessionaleDB())
                {
                    char tipoCliente;
                    if (radioButtonPF.Checked == true)
                    {
                        tipoCliente = 'P';
                    }
                    else
                    {
                        tipoCliente = 'A';
                    }


                    var query =
                        (from c in db.Clientes
                         where c.Tipo == tipoCliente
                         select c
                        );

                    dataGridView1.DataSource = query.ToList();
                }
            }
            else if (comboBox.SelectedIndex == 9)
            {
                //query 18
                if (radioButtonImpiegato.Checked == true)
                {
                    tipoDipendente = 'I';
                    using (var db = new DataModel.StudioprofessionaleDB())
                    {
                        var query = (
                            from d in db.Dipendentes
                            where d.Tipo == tipoDipendente
                            select new
                        {
                            d.Matricola,
                            d.Nome,
                            d.Cognome,
                            d.Stipendio
                        }
                            );
                        dataGridView1.DataSource = query.ToList();
                    }
                }
                else
                {
                    tipoDipendente = 'C';
                    if (inizio > fine)
                    {
                        MessageBox.Show("Errore data");
                    }
                    else
                    {
                        MySqlConnection connection = null;

                        try
                        {
                            connection = new MySqlConnection(cs);
                            connection.Open();

                            //  string stm = "SELECT distinct d.matricola, nome, cognome,(costoOrario/60) * (SELECT(SUM(TIMESTAMPDIFF(MINUTE, inizio, fine)))FROM DIPENDENTE D1, FASE F1 WHERE D.matricola = D1.matricola AND F.matricola = F1.matricola  AND F1.inizio >=@A AND F1.fine <=@B) AS stipendio from dipendente d,fase f where tipo IN('C') and f.matricola = d.matricola";
                            string stm = "SELECT distinct d.matricola, nome, cognome,(costoOrario / 60) * (SELECT(SUM(TIMESTAMPDIFF(MINUTE, inizio, fine)))FROM DIPENDENTE D1, FASE F1 WHERE D.matricola = D1.matricola AND F.matricola = F1.matricola  AND F1.inizio >='" + inizio.ToString("yyyy-MM-dd") + "' AND F1.fine <='" + fine.ToString("yyyy-MM-dd") + "' )AS stipendio from dipendente d,fase f where tipo IN('C') and f.matricola = d.matricola";
                            // MySqlCommand cmd = new MySqlCommand(stm,connection);
                            //  cmd.Parameters.AddWithValue("@A","'"+inizio.ToString("yyyy-MM-dd")+"'");
                            //   cmd.Parameters.AddWithValue("@B", "'"+fine.ToString("yyyy-MM-dd") + "'");
                            //  MessageBox.Show(cmd.Parameters.ToString());
                            //  var mySqlDataAdapter = new MySqlDataAdapter(cmd);
                            var     mySqlDataAdapter = new MySqlDataAdapter(stm, connection);
                            DataSet DS = new DataSet();
                            mySqlDataAdapter.Fill(DS);
                            dataGridView1.DataSource = DS.Tables[0];
                            dataGridView1.ReadOnly   = true;
                        }
                        catch (MySqlException ex)
                        {
                            MessageBox.Show(ex.Message.ToString());
                        }
                        finally
                        {
                            if (connection != null)
                            {
                                connection.Close();
                            }
                        }
                    }
                }
            }
            else if (comboBox.SelectedIndex == 10)
            {
                //query 16
                using (var db = new DataModel.StudioprofessionaleDB())
                {
                    var query = (
                        from d in db.Dipendentes
                        join r in db.Responsabiles on d.Matricola equals r.Matricola into j1
                        from r in j1.DefaultIfEmpty()
                        join c in db.Clientes on r.CodiceFiscale equals c.CodiceFiscale into j2
                        from c in j2.DefaultIfEmpty()
                        group c by new { d.Matricola, d.Nome, d.Cognome, d.Tipo, c.CodiceFiscale, c.Nominativo, r.DataInizio, r.DataFine } into g
                        orderby g.Key.Matricola ascending, g.Key.DataInizio descending
                        select new
                    {
                        g.Key.Matricola,
                        g.Key.Nome,
                        g.Key.Cognome,
                        g.Key.Tipo,
                        g.Key.CodiceFiscale,
                        g.Key.Nominativo,
                        g.Key.DataInizio,
                        g.Key.DataFine
                    }
                        );
                    dataGridView1.DataSource = query.ToList();
                }
            }
            else if (comboBox.SelectedIndex == 11)
            {
                using (var db = new DataModel.StudioprofessionaleDB())
                {
                    var query = (
                        from c in db.Clientes
                        join pa in db.Praticas on c.CodiceFiscale equals pa.CodiceFiscale
                        join pe in db.Prestaziones on new { pa.CodiceFiscale, pa.CodicePratica } equals new { pe.CodiceFiscale, pe.CodicePratica }
                        join f in db.Fases on new { pe.CodiceFiscale, pe.CodicePratica, pe.CodicePrestazione } equals new { f.CodiceFiscale, f.CodicePratica, f.CodicePrestazione }
                        where c.CodiceFiscale == codiceFiscale
                        orderby new { c.CodiceFiscale, pa.CodicePratica, pe.CodicePrestazione }
                        select new
                    {
                        c.CodiceFiscale,
                        c.Nominativo,
                        c.Tipo,
                        c.PartitaIVA,
                        pa.CodicePratica,
                        pa.Nome,
                        pe.CodicePrestazione,
                        CompensoPrestazione = pe.Compenso,
                        pe.Pagata,
                        DescrizioneFase = f.Descrizione,
                        InizioFase = f.Inizio,
                        FineFase = f.Fine,
                        f.Matricola
                    }
                        );
                    dataGridView1.DataSource = query.ToList();
                }
            }
            else if (comboBox.SelectedIndex == 12)
            {
                using (var db = new DataModel.StudioprofessionaleDB())
                {
                    var query = (
                        from c in db.Clientes
                        join pa in db.Praticas on c.CodiceFiscale equals pa.CodiceFiscale
                        join pe in db.Prestaziones on new { pa.CodiceFiscale, pa.CodicePratica } equals new { pe.CodiceFiscale, pe.CodicePratica }
                        where c.CodiceFiscale == codiceFiscale
                        where pe.Pagata == pagata
                        where pe.Terminata == terminata
                        orderby new { c.CodiceFiscale, pa.CodicePratica, pe.CodicePrestazione }
                        select new
                    {
                        c.CodiceFiscale,
                        c.Nominativo,
                        c.Tipo,
                        c.PartitaIVA,
                        pa.CodicePratica,
                        pa.Nome,
                        pe.CodicePrestazione,
                        CompensoPrestazione = pe.Compenso,
                        pe.Pagata,
                        pe.Terminata
                    }
                        );
                    dataGridView1.DataSource = query.ToList();
                }
            }
            else if (comboBox.SelectedIndex == 13)
            {
                using (var db = new DataModel.StudioprofessionaleDB())
                {
                    var query = (
                        from p in db.Prestaziones
                        join s in db.Sottocategorias on p.CodiceSottocategoria equals s.CodiceSottocategoria
                        join c in db.Categorias on s.CodiceCategoria equals c.CodiceCategoria
                        group p by new { p.CodiceSottocategoria, s.Nome } into g
                        orderby g.Count() descending
                        select new
                    {
                        codiceSottocategoria = g.Key.CodiceSottocategoria,
                        nome = g.Key.Nome,
                        numeroAttività = g.Count()
                    }
                        );
                    dataGridView1.DataSource = query.ToList();
                }
            }
            else if (comboBox.SelectedIndex == 14)
            {
                using (var db = new DataModel.StudioprofessionaleDB())
                {
                    var query = (
                        from c in db.Clientes
                        join p in db.Prestaziones on c.CodiceFiscale equals p.CodiceFiscale
                        where p.Pagata == true
                        group c by c.CodiceFiscale into g
                        orderby g.Count() descending
                        select new
                    {
                        codiceFiscale = g.Key,
                        numeroPrestazioniPagate = g.Count()
                    }
                        );
                }
            }
        }
예제 #28
0
 private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
 {
     try
     {
         if (lblStep.Text.Equals("Step: pratica"))
         {
             int codicePratica = Int32.Parse(dataGridView1["numeroPratica", e.RowIndex].Value.ToString());
             codicePraticaSelected          = codicePratica;
             textBoxNomePratica.Text        = dataGridView1["Nome", e.RowIndex].Value.ToString();
             dateTimePickerDataPratica.Text = dataGridView1["DataRichiesta", e.RowIndex].Value.ToString().Replace('/', '-');
             using (var db = new DataModel.StudioprofessionaleDB())
             {
                 var qe =
                     (from p in db.Prestaziones
                      join s in db.Sottocategorias on p.CodiceSottocategoria equals s.CodiceSottocategoria
                      join ca in db.Categorias on s.CodiceCategoria equals ca.CodiceCategoria
                      where p.CodiceFiscale == codiceFiscaleSelected
                      where p.CodicePratica == codicePraticaSelected
                      select new
                 {
                     s.Nome,
                     p.Compenso,
                     p.Durata,
                     p.Pagata,
                     p.Terminata,
                     p.CodicePrestazione,
                     NomeCategoria = ca.Nome
                 }).OrderBy((x) => (x.CodicePrestazione));
                 dataGridView1.DataSource = qe.ToList();
                 dataGridView1.Columns["CodicePrestazione"].Visible = false;
                 dataGridView1.Columns["NomeCategoria"].Visible     = true;
                 lblStep.Text      = "Step: prestazione";
                 groupBox2.Enabled = true;
                 btnAggiornaPrestazione.Enabled = false;
             }
         }
         else if (lblStep.Text.Equals("Step: prestazione"))
         {
             btnAggiornaPrestazione.Enabled = true;
             comboBoxCategoria.Text         = dataGridView1["NomeCategoria", e.RowIndex].Value.ToString();
             numericUpDownCompenso.Value    = Int32.Parse(dataGridView1["Compenso", e.RowIndex].Value.ToString());
             checkBoxPagata.Checked         = (bool)dataGridView1["Pagata", e.RowIndex].Value;
             checkBoxTerminata.Checked      = (bool)dataGridView1["Terminata", e.RowIndex].Value;
             textBoxDurata.Text             = dataGridView1["Durata", e.RowIndex].Value.ToString();
             comboBoxSottocategoria.Text    = dataGridView1["Nome", e.RowIndex].Value.ToString();
             codicePrestazioneSelected      = Int32.Parse(dataGridView1["CodicePrestazione", e.RowIndex].Value.ToString());
             using (var db = new DataModel.StudioprofessionaleDB())
             {
                 var q =
                     (from f in db.Fases
                      join dip in db.Dipendentes on f.Matricola equals dip.Matricola
                      where f.CodiceFiscale == codiceFiscaleSelected
                      where f.CodicePratica == codicePraticaSelected
                      where f.CodicePrestazione == codicePrestazioneSelected
                      select new
                 {
                     dip.Cognome,
                     f.Inizio,
                     f.Fine,
                     f.Descrizione,
                 });
                 dataGridView1.DataSource = q.ToList();
                 lblStep.Text             = "Step: fase";
                 groupBox3.Enabled        = true;
                 btnAggiornaFase.Enabled  = false;
             }
         }
         else if (lblStep.Text.Equals("Step: fase"))
         {
             groupBox2.Enabled       = false;
             btnAggiornaFase.Enabled = true;
             groupBox3.Enabled       = true;
             string data   = dataGridView1["Inizio", e.RowIndex].Value.ToString().Split(' ')[0].Replace('/', '-');
             string inizio = dataGridView1["Inizio", e.RowIndex].Value.ToString().Split(' ')[1];
             string fine   = dataGridView1["Fine", e.RowIndex].Value.ToString().Split(' ')[1];
             dateTimeDataFase.Value = DateTime.ParseExact(data, "dd-MM-yyyy", null);
             dataFase = DateTime.ParseExact(data + " " + inizio, "dd-MM-yyyy HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture);
             dateTimePickerInizioFase.Text = inizio;
             dateTimePickerFineFase.Text   = fine;
             textBoxDescrizioneFase.Text   = dataGridView1["Descrizione", e.RowIndex].Value.ToString();
         }
     }catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }