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