private void AplicarPorcentajes() { var frmCalculo = new MasterCostos(); frmCalculo.Text = "Porcentajes"; frmCalculo.ModoPrecios = false; if (frmCalculo.ShowDialog(Principal.Instance) == DialogResult.OK) { foreach (DataGridViewRow Fila in this.dgvDatos.Rows) { if (!Util.Logico(Fila.Cells["Procesar"].Value)) { continue; } // Se afectan los porcentajes Fila.Cells["Por1"].Value = frmCalculo.Porcentajes[0]; Fila.Cells["Por2"].Value = frmCalculo.Porcentajes[1]; Fila.Cells["Por3"].Value = frmCalculo.Porcentajes[2]; Fila.Cells["Por4"].Value = frmCalculo.Porcentajes[3]; Fila.Cells["Por5"].Value = frmCalculo.Porcentajes[4]; // Se actualizan los precios, si aplica if (frmCalculo.ActualizarPrecios) { decimal mCosto = Util.Decimal(Fila.Cells["Costo"].Value); Fila.Cells["Precio1"].Value = UtilTheos.AplicarRedondeo(mCosto * frmCalculo.Porcentajes[0]); Fila.Cells["Precio2"].Value = UtilTheos.AplicarRedondeo(mCosto * frmCalculo.Porcentajes[1]); Fila.Cells["Precio3"].Value = UtilTheos.AplicarRedondeo(mCosto * frmCalculo.Porcentajes[2]); Fila.Cells["Precio4"].Value = UtilTheos.AplicarRedondeo(mCosto * frmCalculo.Porcentajes[3]); Fila.Cells["Precio5"].Value = UtilTheos.AplicarRedondeo(mCosto * frmCalculo.Porcentajes[4]); } } } frmCalculo.Dispose(); }
private void AplicarPrecio(string sColumna) { var frmCalculo = new MasterCostos(); bool bCosto = (sColumna == "Costo"); frmCalculo.MostrarActualizarPrecios = bCosto; frmCalculo.Text = (bCosto ? "Costo" : ("Precio " + sColumna.Derecha(1))); if (frmCalculo.ShowDialog(Principal.Instance) == DialogResult.OK) { foreach (DataGridViewRow Fila in this.dgvDatos.Rows) { if (!Util.Logico(Fila.Cells["Procesar"].Value)) continue; // Se aplica el nuevo costo / precio, según aplique if (frmCalculo.TipoDePrecio == 1) { Fila.Cells[sColumna].Value = frmCalculo.Importe; if (bCosto) { Fila.Cells["CostoConDescuento"].Value = frmCalculo.Importe; this.dgvDatos.Columns[sColumna].Tag = ("Importe fijo: " + frmCalculo.Importe.ToString(GlobalClass.FormatoMoneda)); } } else if (frmCalculo.TipoDePrecio == 2) { Fila.Cells[sColumna].Value = Math.Round(Util.Decimal(Fila.Cells[sColumna].Value) * (1 + (frmCalculo.Porcentaje / 100)), 2); if (bCosto) { Fila.Cells["CostoConDescuento"].Value = Math.Round(Util.Decimal(Fila.Cells["CostoConDescuento"].Value) * (1 + (frmCalculo.Porcentaje / 100)), 2); this.dgvDatos.Columns[sColumna].Tag = ("Incremento o descuento: " + frmCalculo.Porcentaje.ToString() + "%"); } } else { Fila.Cells[sColumna].Value = (Util.Decimal(Fila.Cells[sColumna].Value) + frmCalculo.Importe); if (bCosto) { Fila.Cells["CostoConDescuento"].Value = (Util.Decimal(Fila.Cells["CostoConDescuento"].Value) + frmCalculo.Importe); this.dgvDatos.Columns[sColumna].Tag = ("Incremento o descuento: " + frmCalculo.Importe.ToString(GlobalClass.FormatoMoneda)); } } // Si es un precio, se aplica el redondeo if (!bCosto) Fila.Cells[sColumna].Value = UtilTheos.AplicarRedondeo(Util.Decimal(Fila.Cells[sColumna].Value)); // Se actualizan los precios, si aplica if (frmCalculo.ActualizarPrecios) { decimal mCosto = Util.Decimal(Fila.Cells["Costo"].Value); Fila.Cells["Precio1"].Value = UtilTheos.AplicarRedondeo(mCosto * Util.Decimal(Fila.Cells["Por1"].Value)); Fila.Cells["Precio2"].Value = UtilTheos.AplicarRedondeo(mCosto * Util.Decimal(Fila.Cells["Por2"].Value)); Fila.Cells["Precio3"].Value = UtilTheos.AplicarRedondeo(mCosto * Util.Decimal(Fila.Cells["Por3"].Value)); Fila.Cells["Precio4"].Value = UtilTheos.AplicarRedondeo(mCosto * Util.Decimal(Fila.Cells["Por4"].Value)); Fila.Cells["Precio5"].Value = UtilTheos.AplicarRedondeo(mCosto * Util.Decimal(Fila.Cells["Por5"].Value)); } } } frmCalculo.Dispose(); }
private void AplicarPorcentajes() { var frmCalculo = new MasterCostos(); frmCalculo.Text = "Porcentajes"; frmCalculo.ModoPrecios = false; if (frmCalculo.ShowDialog(Principal.Instance) == DialogResult.OK) { foreach (DataGridViewRow Fila in this.dgvDatos.Rows) { if (!Util.Logico(Fila.Cells["Procesar"].Value)) continue; // Se afectan los porcentajes Fila.Cells["Por1"].Value = frmCalculo.Porcentajes[0]; Fila.Cells["Por2"].Value = frmCalculo.Porcentajes[1]; Fila.Cells["Por3"].Value = frmCalculo.Porcentajes[2]; Fila.Cells["Por4"].Value = frmCalculo.Porcentajes[3]; Fila.Cells["Por5"].Value = frmCalculo.Porcentajes[4]; // Se actualizan los precios, si aplica if (frmCalculo.ActualizarPrecios) { decimal mCosto = Util.Decimal(Fila.Cells["Costo"].Value); Fila.Cells["Precio1"].Value = UtilTheos.AplicarRedondeo(mCosto * frmCalculo.Porcentajes[0]); Fila.Cells["Precio2"].Value = UtilTheos.AplicarRedondeo(mCosto * frmCalculo.Porcentajes[1]); Fila.Cells["Precio3"].Value = UtilTheos.AplicarRedondeo(mCosto * frmCalculo.Porcentajes[2]); Fila.Cells["Precio4"].Value = UtilTheos.AplicarRedondeo(mCosto * frmCalculo.Porcentajes[3]); Fila.Cells["Precio5"].Value = UtilTheos.AplicarRedondeo(mCosto * frmCalculo.Porcentajes[4]); } } } frmCalculo.Dispose(); }
private void AplicarPrecio(string sColumna) { var frmCalculo = new MasterCostos(); bool bCosto = (sColumna == "Costo"); frmCalculo.MostrarActualizarPrecios = bCosto; frmCalculo.Text = (bCosto ? "Costo" : ("Precio " + sColumna.Derecha(1))); if (frmCalculo.ShowDialog(Principal.Instance) == DialogResult.OK) { foreach (DataGridViewRow Fila in this.dgvDatos.Rows) { if (!Util.Logico(Fila.Cells["Procesar"].Value)) { continue; } // Se aplica el nuevo costo / precio, según aplique if (frmCalculo.TipoDePrecio == 1) { Fila.Cells[sColumna].Value = frmCalculo.Importe; if (bCosto) { Fila.Cells["CostoConDescuento"].Value = frmCalculo.Importe; this.dgvDatos.Columns[sColumna].Tag = ("Importe fijo: " + frmCalculo.Importe.ToString(GlobalClass.FormatoMoneda)); } } else if (frmCalculo.TipoDePrecio == 2) { Fila.Cells[sColumna].Value = Math.Round(Util.Decimal(Fila.Cells[sColumna].Value) * (1 + (frmCalculo.Porcentaje / 100)), 2); if (bCosto) { Fila.Cells["CostoConDescuento"].Value = Math.Round(Util.Decimal(Fila.Cells["CostoConDescuento"].Value) * (1 + (frmCalculo.Porcentaje / 100)), 2); this.dgvDatos.Columns[sColumna].Tag = ("Incremento o descuento: " + frmCalculo.Porcentaje.ToString() + "%"); } } else { Fila.Cells[sColumna].Value = (Util.Decimal(Fila.Cells[sColumna].Value) + frmCalculo.Importe); if (bCosto) { Fila.Cells["CostoConDescuento"].Value = (Util.Decimal(Fila.Cells["CostoConDescuento"].Value) + frmCalculo.Importe); this.dgvDatos.Columns[sColumna].Tag = ("Incremento o descuento: " + frmCalculo.Importe.ToString(GlobalClass.FormatoMoneda)); } } // Si es un precio, se aplica el redondeo if (!bCosto) { Fila.Cells[sColumna].Value = UtilTheos.AplicarRedondeo(Util.Decimal(Fila.Cells[sColumna].Value)); } // Se actualizan los precios, si aplica if (frmCalculo.ActualizarPrecios) { decimal mCosto = Util.Decimal(Fila.Cells["Costo"].Value); Fila.Cells["Precio1"].Value = UtilTheos.AplicarRedondeo(mCosto * Util.Decimal(Fila.Cells["Por1"].Value)); Fila.Cells["Precio2"].Value = UtilTheos.AplicarRedondeo(mCosto * Util.Decimal(Fila.Cells["Por2"].Value)); Fila.Cells["Precio3"].Value = UtilTheos.AplicarRedondeo(mCosto * Util.Decimal(Fila.Cells["Por3"].Value)); Fila.Cells["Precio4"].Value = UtilTheos.AplicarRedondeo(mCosto * Util.Decimal(Fila.Cells["Por4"].Value)); Fila.Cells["Precio5"].Value = UtilTheos.AplicarRedondeo(mCosto * Util.Decimal(Fila.Cells["Por5"].Value)); } } } frmCalculo.Dispose(); }