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);
        }
Beispiel #3
0
        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);
                }
            }
        }