Exemplo n.º 1
0
        //Este Método busca los productos relacionados a la formula que contiene al insumo y les actualiza el precio despues de actualizar el precio de la formula
        void ActuaizarPrecioProductos(int IdFormula, double PrecioUnitarioFormula)
        {
            CNProductos Productos  = new CNProductos(conexion);
            CNFormulas  Formulas   = new CNFormulas(conexion);
            DataTable   _Productos = Productos.ConsultaPorFormula(IdFormula);

            foreach (DataRow row in _Productos.Rows)
            {
                double CostoDetallesProducto = Convert.ToDouble(row["CostoTotalProducto"]) - Convert.ToDouble(row["CostoUnitario"]);
                row["CostoUnitario"]      = PrecioGranel(PrecioUnitarioFormula, Convert.ToString(row["UnidadMedida"]), Convert.ToDouble(row["Cantidad"]));
                row["CostoTotalProducto"] = Convert.ToDouble(row["CostoUnitario"]) + CostoDetallesProducto;

                Productos.Actualizar(new ProductosModel
                {
                    IdProducto         = Convert.ToInt32(row["IdProducto"]),
                    IdFormula          = Convert.ToInt32(row["IdFormula"]),
                    NombreProducto     = Convert.ToString(row["NombreProducto"]),
                    Cantidad           = Convert.ToDecimal(row["Cantidad"]),
                    UnidadMedida       = Convert.ToString(row["UnidadMedida"]),
                    CostoUnitario      = Convert.ToDecimal(row["CostoUnitario"]),
                    CostoTotalProducto = Convert.ToDecimal(row["CostoTotalProducto"]),
                    Activo             = (bool)(row["Activo"]),
                });
            }
        }
Exemplo n.º 2
0
        public int ActualizarFormula(int IdFormula, FormulasModel F)
        {
            DataTable TablaProductosOld = cnProductos.ConsultaPorFormula(IdFormula);

            cnFormulas.Borrar(IdFormula);
            int id = 0;// Convert.ToInt32(BLF.Guardar(F));

            MoverProductos(id, TablaProductosOld);
            cnProductos.BorrarPorFormula(IdFormula);
            return(id);
        }
Exemplo n.º 3
0
        public void ActualizarFormulasConDivisaExtranjera(int IdUsuario, double dolar)
        {
            this.dolar = dolar;
            DataTable TablaFormulas = cnDetFormula.ConsultaPorMoneda();

            int[] IdFormulas = new int[TablaFormulas.Rows.Count];
            for (int i = 0; i < TablaFormulas.Rows.Count; i++)
            {
                bool exists = false;
                for (int j = 0; j < IdFormulas.Length; j++)
                {
                    if (Convert.ToInt32(TablaFormulas.Rows[i]["IdFormula"].ToString()) == IdFormulas[j])
                    {
                        exists = true;
                    }
                }
                if (!exists)
                {
                    IdFormulas[i] = Convert.ToInt32(TablaFormulas.Rows[i]["IdFormula"]);
                }
            }
            for (int i = 0; i < IdFormulas.Length; i++)
            {
                if (IdFormulas[i] != 0)
                {
                    DataTable Detalles          = cnDetFormula.ConsultaPorFormula(IdFormulas[i]);
                    DataTable Formula           = cnFormulas.ConsultaPorId(IdFormulas[i]);
                    DataTable TablaProductosOld = cnProductos.ConsultaPorFormula(IdFormulas[i]);
                    int       IdFormula         = Convert.ToInt32(cnFormulas.Guardar(IdUsuario, CreaObjetoFormula(Formula), Detalles));
                    MoverProductos(IdFormula, TablaProductosOld);
                    cnProductos.BorrarPorFormula(IdFormulas[i]);
                    cnFormulas.Borrar(IdFormulas[i]);
                    for (int k = 0; k < Detalles.Rows.Count; k++)
                    {
                        cnDetFormula.Guardar(CreaObjetoDetalleFormula(k, IdFormula, Detalles, dolar, IdUsuario));
                    }
                }
            }
        }
Exemplo n.º 4
0
        void CrearNuevoPrducto(List <int> lista, int IdFormula)//Este método crea un nuevo producto si se creo una nueva formula
        {
            for (int i = 0; i < lista.Count; i++)
            {
                DataTable listaProductos = cnProductos.ConsultaPorFormula(lista[i]);
                for (int j = 0; j < listaProductos.Rows.Count; j++)
                {
                    DataTable DetallesProductos = cnDetProducto.ConsultaDetallesPorProducto(Convert.ToInt32(listaProductos.Rows[j]["IdProducto"]));
                    cnProductos.Borrar(Convert.ToInt32(listaProductos.Rows[j]["IdProducto"]));

                    ProductosModel _Productos = new ProductosModel
                    {
                        IdProducto     = Convert.ToInt32(listaProductos.Rows[j]["IdProducto"]),
                        IdFormula      = IdFormula,
                        NombreProducto = Convert.ToString(listaProductos.Rows[j]["NombreProducto"]),
                        Cantidad       = Convert.ToDecimal(listaProductos.Rows[j]["Cantidad"]),
                        UnidadMedida   = Convert.ToString(listaProductos.Rows[j]["UnidadMedida"]),
                        CostoUnitario  = Convert.ToDecimal(CalculaPrecioUnitarioProducto(IdFormula, Convert.ToInt32(listaProductos.Rows[j]["IdProducto"]))),
                        Activo         = (bool)(listaProductos.Rows[j]["Activo"]),
                    };
                    _Productos.CostoTotalProducto = _Productos.CostoUnitario + Convert.ToDecimal(PrecioDetalles);

                    int id = Convert.ToInt32(cnProductos.Guardar(_Productos));
                    foreach (DataRow row in DetallesProductos.Rows)
                    {
                        cnDetProducto.Guardar(new DetallesProductosModel
                        {
                            IdDetalle   = 0,
                            IdProducto  = id,
                            IdInsumo    = Convert.ToInt32(row["IdInsumo"]),
                            CostoInsumo = Convert.ToDecimal(row["Precio"])
                        });
                    }
                }
            }
        }
Exemplo n.º 5
0
        public DataSet PrintAFormula(int[] Idformula)
        {
            DataSet dtsret = new DataSet();

            #region "ConsultandoFormulas"
            DataTable Formula = new DataTable();
            if (Idformula.Length == 1)
            {
                Formula = cnFormulas.ConsultaPorId(Idformula[0]).Copy();
            }
            else
            {
                Formula = cnFormulas.ConsultaPorId(Idformula[0]).Copy();
                for (int i = 1; i < Idformula.Length; i++)
                {
                    Formula.ImportRow(cnFormulas.ConsultaPorId(Idformula[i]).Rows[0]);
                }
            }
            Formula.TableName = "Formula";
            dtsret.Tables.Add(Formula);
            #endregion
            #region "DetallesFormulas"
            DataTable DetallesFormula = new DataTable();
            if (Idformula.Length == 1)
            {
                DetallesFormula = cnDetFormula.ConsultaPorFormula(Idformula[0]).Copy();
            }
            else
            {
                DetallesFormula = cnDetFormula.ConsultaPorFormula(Idformula[0]).Copy();
                for (int i = 1; i < Idformula.Length; i++)
                {
                    DataTable Detalles = new DataTable();
                    Detalles = cnDetFormula.ConsultaPorFormula(Idformula[i]).Copy();
                    foreach (DataRow item in Detalles.Rows)
                    {
                        DetallesFormula.ImportRow(item);
                    }
                }
            }
            DetallesFormula.TableName = "DetallesFormula";
            dtsret.Tables.Add(DetallesFormula);
            #endregion
            #region "ConsultandoProductos"
            DataTable ProductosTerminados = new DataTable();
            if (Idformula.Length == 1)
            {
                ProductosTerminados = cnProductos.ConsultaPorFormula(Idformula[0]).Copy();
            }
            else
            {
                ProductosTerminados = cnProductos.ConsultaPorFormula(Idformula[0]).Copy();
                for (int i = 1; i < Idformula.Length; i++)
                {
                    DataTable Productos = cnProductos.ConsultaPorFormula(Idformula[i]).Copy();
                    foreach (DataRow item in Productos.Rows)
                    {
                        ProductosTerminados.ImportRow(item);
                    }
                }
            }
            ProductosTerminados.TableName = "ProductosTerminados";
            dtsret.Tables.Add(ProductosTerminados);
            #endregion
            #region "DetallesProductos"
            DataTable DetallesProducto = new DataTable();
            try
            {
                DetallesProducto = cnDetProducto.ConsultaDetallesPorProducto(Convert.ToInt32(ProductosTerminados.Rows[0]["IdProducto"])).Copy();
                if (ProductosTerminados.Rows.Count > 1)
                {
                    foreach (DataRow item in ProductosTerminados.Rows)
                    {
                        DataTable DetProd = new DataTable();
                        DetProd = cnDetProducto.ConsultaDetallesPorProducto(Convert.ToInt32(item["IdProducto"])).Copy();
                        foreach (DataRow item1 in DetProd.Rows)
                        {
                            DetallesProducto.ImportRow(item1);
                        }
                    }
                }
            }
            catch
            {
            }

            DetallesProducto.TableName = "DetallesProducto";
            dtsret.Tables.Add(DetallesProducto);
            #endregion
            return(dtsret);
        }