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"; }
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); } } }
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); } } }
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); } }
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); } }
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); } } }
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); } } }
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); } }
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)); } }
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"; }
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); } }
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); } }
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"; }
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); } }
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(); } } }
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() } ); } } }
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); } }