double CalculaPrecioUnitarioProducto(int IdFormula, int IdProducto) { #region "Calcula PrecioUnitario Formula" DataRow PrecioFormula = cnFormulas.ConsultaPorId(IdFormula).Rows[0]; double CostoTotal = Convert.ToDouble(PrecioFormula["CostoTotal"]); string UnidadMedidaFormula = Convert.ToString(PrecioFormula["Capacidad"]); int Cantidad = Convert.ToInt32(PrecioFormula["Cantidad"]); double CostoUnitario = 0; switch (UnidadMedidaFormula.ToUpper()) { case "LITROS": CostoUnitario = CostoTotal / Cantidad; break; case "MILILITROS": CostoUnitario = (1000 * CostoTotal) / Cantidad; break; case "KILOGRAMOS": CostoUnitario = CostoTotal / Cantidad; break; case "GRAMOS": CostoUnitario = (1000 * CostoTotal) / Cantidad; break; case "MILIGRAMOS": CostoUnitario = (10000 * CostoTotal) / Cantidad; break; } #endregion DataRow listaProducto = cnProductos.ConsultaConsultaPorId(IdProducto).Rows[0]; PrecioDetalles = Convert.ToDouble(listaProducto["CostoTotalProducto"]) - Convert.ToDouble(listaProducto["CostoUnitario"]); string UnidadMedida = Convert.ToString(listaProducto["UnidadMedida"]); double CantidadProducto = Convert.ToInt32(listaProducto["Cantidad"]); double PrecioProducto = 0; switch (UnidadMedida.ToUpper()) { case "LITROS": PrecioProducto = CostoUnitario * CantidadProducto; break; case "MILILITROS": PrecioProducto = (1000 * CostoUnitario) / CantidadProducto; break; case "KILOGRAMOS": PrecioProducto = CostoUnitario * CantidadProducto; break; case "GRAMOS": PrecioProducto = (1000 * CostoUnitario) / CantidadProducto; break; case "MILIGRAMOS": PrecioProducto = (10000 * CostoUnitario) / CantidadProducto; break; } return(PrecioProducto); }
double CalculaPrecioInsumo(int IdFormula) { CNFormulas Formula = new CNFormulas(conexion); DataTable TablaFormula = Formula.ConsultaPorId(IdFormula); double CostoFormula = Convert.ToDouble(TablaFormula.Rows[0]["CostoTotal"]); string unidadMedida = Convert.ToString(TablaFormula.Rows[0]["Capacidad"]); double Cantidad = Convert.ToDouble(TablaFormula.Rows[0]["Cantidad"]); return(CalculaPrecioUnitarioFormula(unidadMedida, CostoFormula, Cantidad)); }
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)); } } } }
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); }