void MoverProductos(int IdFormula, DataTable TablaProductosOld)
        {
            for (int i = 0; i < TablaProductosOld.Rows.Count; i++)
            {
                DataTable Detalles = cnDetProducto.ConsultaDetallesPorProducto(Convert.ToInt32(TablaProductosOld.Rows[i]["IdProducto"]));

                ProductosModel Producto = new ProductosModel
                {
                    Activo             = (bool)(TablaProductosOld.Rows[i]["Activo"]),
                    Cantidad           = Convert.ToDecimal(TablaProductosOld.Rows[i]["Cantidad"].ToString()),
                    CostoTotalProducto = Convert.ToDecimal(TablaProductosOld.Rows[i]["CostoTotalProducto"].ToString()),
                    CostoUnitario      = Convert.ToDecimal(TablaProductosOld.Rows[i]["CostoUnitario"].ToString()),
                    IdFormula          = IdFormula,
                    NombreProducto     = (TablaProductosOld.Rows[i]["NombreProducto"].ToString()),
                    UnidadMedida       = (TablaProductosOld.Rows[i]["UnidadMedida"].ToString()),
                };
                int     id         = Convert.ToInt32(cnProductos.Guardar(Producto));
                decimal CostoTotal = 0;
                foreach (DataRow row in Detalles.Rows)
                {
                    DetallesProductosModel detalle = new DetallesProductosModel
                    {
                        IdDetalle   = 0,
                        IdProducto  = id,
                        IdInsumo    = Convert.ToInt32(row["IdInsumo"]),
                        CostoInsumo = Convert.ToDecimal(CalculaPrecioInsumo(Convert.ToInt32(row["IdInsumo"]))),
                    };
                    CostoTotal += detalle.CostoInsumo;
                    cnDetProducto.Guardar(detalle);
                }
                Producto.CostoTotalProducto = CostoTotal + Producto.CostoUnitario;
                Producto.IdProducto         = id;
                cnProductos.Actualizar(Producto);
            }
        }
Beispiel #2
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"])
                        });
                    }
                }
            }
        }
Beispiel #3
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);
        }