private List <ElementoCostoPreventivoModel> creaElementiCostoPreventivo(decimal idPreventivoCosto) { Articolo a = new Articolo(); List <ElementoCostoPreventivoModel> lista = new List <ElementoCostoPreventivoModel>(); List <ElementoPreventivoModel> elementiPreventivo = a.CreaListaElementoPreventivoModel(_preventivoModel.IdPreventivo); foreach (ElementoPreventivoModel elemento in elementiPreventivo) { ElementoCostoPreventivoModel elementoCosto = new ElementoCostoPreventivoModel(); elementoCosto.IdElementoCosto = Articolo.EstraId(); elementoCosto.ElementoPreventivo = elemento; elementoCosto.IdPreventivoCosto = idPreventivoCosto; elementoCosto.Ricarico = elemento.Ricarico; elementoCosto.CostoOrario = elemento.CostoOrario; elementoCosto.IncludiPreventivo = elemento.IncludiPreventivo; elementoCosto.IdEsterna = elemento.IdEsterna; elementoCosto.TabellaEsterna = elemento.TabellaEsterna; elementoCosto.PezziOrari = elemento.PezziOrari; elementoCosto.Quantita = elemento.Quantita; decimal costoPezzo = elemento.PezziOrari == 0 ? 0 : elemento.CostoOrario / elemento.PezziOrari; elementoCosto.CostoArticolo = (1 + elemento.Ricarico / 100) * costoPezzo; elementoCosto.CostoFigli = 0; elementoCosto.CostoCompleto = 0; lista.Add(elementoCosto); } Articolo.RicalcolaCostoFigliListaElementiCostoPreventiviModel(lista); return(lista); }
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); }
private void ddlPreventivi_SelectedIndexChanged(object sender, EventArgs e) { abilitaControlli(true); if (ddlPreventivi.SelectedIndex == -1) { return; } txtNota.Text = _preventivoSelezionato.Nota; ddlProcessiGalvanici.SelectedIndex = -1; if (_preventivoSelezionato.Processo != null) { ProcessoModel processoSelezionato = _processiGalvanici.Where(x => x.IdProcesso == _preventivoSelezionato.Processo.IdProcesso).FirstOrDefault(); if (processoSelezionato != null) { ddlProcessiGalvanici.SelectedItem = processoSelezionato; } } treeView1.Nodes.Clear(); TreeNode radice = treeView1.Nodes.Add("-1", prodottoFinitoUC1.ProdottoFinitoModel.ToString()); radice.Tag = prodottoFinitoUC1.ProdottoFinitoModel; _elementiPreventivo = _articolo.CreaListaElementoPreventivoModel(_preventivoSelezionato.IdPreventivo); creaAlberoDistinta(radice); treeView1.ExpandAll(); caricaGrigliaElementiPreventivo(); if (_preventivoSelezionato != null) { if (_articolo.CreaListaPreventivoCostiModel(_preventivoSelezionato.IdPreventivo).Count() > 0) { abilitaControlli(false); } } }