private void ddlMateriali_SelectedIndexChanged(object sender, EventArgs e) { if (ddlMateriali.SelectedIndex == -1) { return; } Anagrafica a = new Anagrafica(); List <PrezzoMaterialeModel> prezzi = a.CreaListaPrezzoMaterialeModel(); _prezzi = prezzi.Where(x => x.Materiale.IdMateriale == _materialeSelezionato.IdMateriale).ToList(); caricaGrigliaPrezzi(); }
private void btnAggiungi_Click(object sender, EventArgs e) { if (ddlMateriali.SelectedIndex == -1) { MessageBox.Show("Selezionare il materiale per cui si inserisce il prezzo.", "ATTENZIONE", MessageBoxButtons.OK, MessageBoxIcon.Warning); lblMessaggio.Text = string.Empty; return; } Anagrafica a = new Anagrafica(); lblMessaggio.Text = a.CreaPrezzoMateriale(nuPrezzo.Value, txtNota.Text, _materialeSelezionato.IdMateriale, dtDataValidita.Value, _utenteConnesso); List <PrezzoMaterialeModel> prezzi = a.CreaListaPrezzoMaterialeModel(); _prezzi = prezzi.Where(x => x.Materiale.IdMateriale == _materialeSelezionato.IdMateriale).ToList(); caricaGrigliaPrezzi(); }
private void caricaGrigliaPrezzi() { // dgvMateriali.AutoGenerateColumns = false; if (ddlMateriali.SelectedIndex == -1) { return; } Anagrafica a = new Anagrafica(); List <PrezzoMaterialeModel> prezzi = a.CreaListaPrezzoMaterialeModel(); _prezzi = prezzi.Where(x => x.Materiale.IdMateriale == _materialeSelezionato.IdMateriale).ToList(); _source.DataSource = _prezzi; dgvMateriali.DataSource = _source; dgvMateriali.Columns[0].Visible = false; dgvMateriali.Columns[4].Visible = false; }
private void calcolaCostiGalvanica() { List <ElementoGrigliaCostoGalvanica> elementiCostiGalvanica = new List <ElementoGrigliaCostoGalvanica>(); List <ElementoCostoPreventivoModel> elementiGalvanici = _elementiCostoPreventivo.Where(x => x.ElementoPreventivo.Reparto != null && x.ElementoPreventivo.Reparto.Codice == Reparti.Galvanica).ToList(); if (elementiGalvanici.Count == 0) { MessageBox.Show("Non sono presenti elementi associati al reparto galvanica GALVA", "ATTENZIONE", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } Anagrafica a = new Anagrafica(); List <PrezzoMaterialeModel> prezzi = a.CreaListaPrezzoMaterialeModel(); foreach (ElementoCostoPreventivoModel elementoGalvanico in elementiGalvanici) { decimal dm2 = 0.1M * 0.1M; decimal micron = (1M / 1000) * (1M / 1000); ElementoPreventivoModel elementoPreventivo = elementoGalvanico.ElementoPreventivo; if (elementoPreventivo.IdEsterna == ElementiVuoti.ProcessoGalvanicoVuoto) { continue; } ProcessoModel processoGalvanico = _processi.Where(x => x.IdProcesso == elementoPreventivo.IdEsterna).FirstOrDefault(); // _preventivoCostoSelezionato.Preventvo.Processo; decimal costo = 0; foreach (FaseProcessoModel fase in processoGalvanico.Fasi) { if (fase.Vasca.AbilitaStrato) { if (fase.Vasca.Materiale.IdMateriale == ElementiVuoti.NessunMateriale) { continue; } ElementoGrigliaCostoGalvanica elementoCostoGalvanica = new ElementoGrigliaCostoGalvanica(); elementiCostiGalvanica.Add(elementoCostoGalvanica); elementoCostoGalvanica.Articolo = elementoPreventivo.Articolo; elementoCostoGalvanica.Elemento = elementoPreventivo.Codice; elementoCostoGalvanica.Superficie = elementoPreventivo.Superficie; elementoCostoGalvanica.Materiale = fase.Vasca.Materiale.Descrizione; elementoCostoGalvanica.Spessore = fase.SpessoreNominale; elementoCostoGalvanica.PesoSpecifico = fase.Vasca.Materiale.PesoSpecifico; decimal volumeMetriCubi = (elementoPreventivo.Superficie * dm2) * (fase.SpessoreNominale * micron); decimal volumeDecimetriCubi = volumeMetriCubi * 1000; elementoCostoGalvanica.Volume = volumeDecimetriCubi; decimal pesoInKg = volumeDecimetriCubi * fase.Vasca.Materiale.PesoSpecifico;// peso speficifico espresso in kg/dm3 decimal pesoInGr = pesoInKg * 1000; elementoCostoGalvanica.Peso = pesoInGr; decimal prezzoGrammo = 0; PrezzoMaterialeModel prezzo = prezzi.Where(x => x.Materiale.IdMateriale == fase.Vasca.Materiale.IdMateriale).FirstOrDefault(); if (prezzo == null) { string messaggio = string.Format("Prezzo materiale {0} non presente. Il prezzo sarà pre-impostato a zero", fase.Vasca.Materiale); MessageBox.Show(messaggio, "ATTENZIONE", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { prezzoGrammo = prezzo.Prezzo; } elementoCostoGalvanica.PrezzoGrammo = prezzoGrammo; decimal costoFase = Math.Round(prezzoGrammo * pesoInGr, 4); costo += costoFase; elementoCostoGalvanica.Costo = costoFase; } } elementoGalvanico.CostoOrario = costo; elementoGalvanico.CostoArticolo = costo * (1 + elementoGalvanico.Ricarico / 100); } dgvCostiGalvanica.DataSource = elementiCostiGalvanica; RefreshGridViewElementi(); }