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