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"])
                        });
                    }
                }
            }
        }