double CalculaPrecioInsumo(int IdInsumo) { //DataRow ConsultaInsumo = Insumo.ConsultarInsumoPorId(IdInsumo).Tables["Insumos"].Rows[0]; DataRow ConsultaInsumo = cnInsumos.ConsultaPorId(IdInsumo).Rows[0]; double Precio = Convert.ToDouble(ConsultaInsumo["PrecioUnitario"]); if (Convert.ToInt32(ConsultaInsumo["IdMoneda"]) == 2) { Precio = dolar * Precio; } return(Precio); }
public void inputUpdater(int IdInsumo, decimal PrecioInsumo, double dolar) { listaFormulas.Clear(); this.dolar = dolar; this.IdInsumo = IdInsumo; this.PrecioInsumo = PrecioInsumo; DataTable BusquedaInsumo = cnInsumos.ConsultaPorId(IdInsumo); //ActualizaPrecioInsumo(BusquedaInsumo, PrecioInsumo); DataTable BusquedaFormulas = cnDetFormula.ConsultaPorInsumo(IdInsumo); if (BusquedaFormulas.Rows.Count != 0) {//SI ENTRA, ES PORQUE EL INSUMO ES UN REACTIVO foreach (DataRow row in BusquedaFormulas.Rows) { if (!listaFormulas.Contains(Convert.ToInt32(row["IdFormula"]))) { listaFormulas.Add(Convert.ToInt32(row["IdFormula"])); } } int Id = CrearFormulaNueva(listaFormulas); CrearNuevoPrducto(listaFormulas, Id); DataRow Formulanueva = cnFormulas.ConsultaPorId(Id).Rows[0]; BusquedaInsumo = cnInsumos.ConsultaPorNombre(Formulanueva["NombreFormula"].ToString()); if (BusquedaInsumo.Rows.Count != 0) { for (int i = 0; i < BusquedaInsumo.Rows.Count; i++) { inputUpdater(Convert.ToInt32(BusquedaInsumo.Rows[i]["IdInsumo"]), Convert.ToDecimal(CalculaPrecioUnitarioFormula(Id)), dolar); } } } else {//SE VA POR ESTE LADO SI Y SOLO SI EL INSUMO ES DE EMPAQUETADO DataTable Productos = cnDetProducto.ConsultaDetallesPorInsumo(IdInsumo); if (Productos.Rows.Count != 0) { foreach (DataRow row in Productos.Rows) { if (!listaProductos.Contains(Convert.ToInt32(row["IdProducto"]))) { listaProductos.Add(Convert.ToInt32(row["IdProducto"])); } } CreaProducto(listaProductos); } } }