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.CreaPreventivo(_versioni, txtDescrizione.Text, _prodottoFinito.IdProdottoFinito, txtNota.Text, _account); if (!chkCopiaPrecedente.Checked) { return; } Articolo a = new Articolo(); List <PreventivoModel> lista = a.CreaListaPreventivoModel(_prodottoFinito.IdProdottoFinito); PreventivoModel preventivoCreato = lista.Where(x => x.ProdottoFinito.IdProdottoFinito == _prodottoFinito.IdProdottoFinito && x.Versione == _versioni).FirstOrDefault(); PreventivoModel preventivoDaCopiare = (PreventivoModel)ddlVersionePrecedente.SelectedItem; a.ModificaPreventivo(preventivoCreato.IdPreventivo, preventivoCreato.Processo.IdProcesso, preventivoCreato.Nota, _account); List <ElementoPreventivoModel> elementiDaCopiare = a.CreaListaElementoPreventivoModel(preventivoDaCopiare.IdPreventivo); List <ElementoPreventivoModel> elementiNuovi = new List <ElementoPreventivoModel>(); foreach (ElementoPreventivoModel elemento in elementiDaCopiare.Where(x => x.IdPadre == -1)) { copiaElemento(elementiNuovi, elemento, -1, preventivoCreato.IdPreventivo, elementiDaCopiare); } a.SalvaElementiPreventivo(elementiNuovi, preventivoCreato.IdPreventivo, _account); }