private void button1_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(txtDescrizione.Text)) { lblMessaggio.Text = "La descrizione è obbligaoria"; return; } if (chkCopiaPrecedente.Checked && ddlVersionePrecedente.SelectedIndex == -1) { lblMessaggio.Text = "Selezionare la versione precedente da copiare"; return; } lblMessaggio.Text = string.Empty; Articolo articolo = new Articolo(string.Empty); lblMessaggio.Text = articolo.CreaPreventivoCosto(_versioni, txtDescrizione.Text, _preventivoModel.IdPreventivo, txtNota.Text, _account); List <PreventivoCostoModel> lista = articolo.CreaListaPreventivoCostiModel(_preventivoModel.IdPreventivo); PreventivoCostoModel preventivoCreato = lista.Where(x => x.Preventvo.IdPreventivo == _preventivoModel.IdPreventivo && x.Versione == _versioni).FirstOrDefault(); List <ElementoCostoPreventivoModel> elementiNuovi = creaElementiCostoPreventivo(preventivoCreato.IdPreventivoCosto); if (chkCopiaPrecedente.Checked) { PreventivoCostoModel preventivoDaCopiare = (PreventivoCostoModel)ddlVersionePrecedente.SelectedItem; List <ElementoCostoPreventivoModel> elementiDaCopiare = articolo.CreaListaElementoCostoPreventivoModel(preventivoDaCopiare.IdPreventivoCosto); foreach (ElementoCostoPreventivoModel elemento in elementiDaCopiare) { ElementoCostoPreventivoModel elementoNuovo = new ElementoCostoPreventivoModel(); elementoNuovo.IdElementoCosto = Articolo.EstraId(); elementoNuovo.ElementoPreventivo = elemento.ElementoPreventivo; elementoNuovo.IdPreventivoCosto = preventivoCreato.IdPreventivoCosto; elementoNuovo.Ricarico = elemento.Ricarico; elementoNuovo.CostoOrario = elemento.CostoOrario; elementoNuovo.IncludiPreventivo = elemento.IncludiPreventivo; elementoNuovo.IdEsterna = elemento.IdEsterna; elementoNuovo.TabellaEsterna = elemento.TabellaEsterna; elementoNuovo.PezziOrari = elemento.PezziOrari; elementoNuovo.Quantita = elemento.Quantita; elementoNuovo.CostoArticolo = elemento.CostoArticolo; elementoNuovo.CostoCompleto = elemento.CostoCompleto; elementoNuovo.CostoFigli = elemento.CostoFigli; elementiNuovi.Add(elementoNuovo); } } articolo.SalvaElementiCostoPreventivo(elementiNuovi, preventivoCreato.IdPreventivoCosto, _account); }