Beispiel #1
0
        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();
        }
Beispiel #2
0
        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();
        }
Beispiel #3
0
        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();
        }
Beispiel #4
0
        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();
        }