protected void imgBtnEntradaSalida_Click(object sender, ImageClickEventArgs e) { EntradaSalida.Visible = true; pnlCatalogo.Visible = false; pnlFiltroReportes.Visible = false; MedDAL.DAL.inventario oInventario = blInventarios.ObtenerUltimoMovimiento(); string sPedimento = oInventario != null ? oInventario.Pedimento : ""; txbPedimento.Text = sPedimento != "" ? (Convert.ToInt32(oInventario.Pedimento) + 1).ToString() : "1"; }
void imbCancelarMovimiento_Click(object sender, ImageClickEventArgs e) { if (pnlCatalogo.Visible) { int idMovimiento = (int)gdvDatos.SelectedValue; MedDAL.DAL.inventario oInventario = blInventarios.BuscarPorId(idMovimiento); if (oInventario.Concepto.ToUpper() == "ENTRADA") { oInventario.Concepto = "Entrada Cancelada"; } else if (oInventario.Concepto.ToUpper() == "SALIDA") { oInventario.Concepto = "Salida Cancelada"; } blInventarios = new BlInventarios(); if (blInventarios.EditarRegistro(oInventario)) { //GestionarExistenciasPorPartida decimal dPrecioTotal = 0; foreach (MedDAL.DAL.inventario_partida oInventarioPartida in oInventario.inventario_partida) { blInventarios.GestionarCancelacion(oInventario.idAlmacen, oInventarioPartida.idProducto, oInventarioPartida.Lote, oInventarioPartida.NoSerie, Convert.ToDecimal(oInventarioPartida.Cantidad), oInventario.Concepto); dPrecioTotal += Convert.ToDecimal(oInventarioPartida.Cantidad) * oInventarioPartida.Precio; } //Si el concepto era de entrada, hay que ponerle el credito a la linea if (oInventario.Concepto == "Entrada Cancelada") { blInventarios.AumentarCreditoALinea(oInventario.idLineaCredito, dPrecioTotal); } //Checar si los lotes quedan en 0 y eliminarlos Buscar(txbBuscar.Text); } } else { EntradaSalida.Visible = false; pnlFiltroReportes.Visible = false; pnlCatalogo.Visible = true; } }
public void FinalizaEntradaSalida() { if (grvEntSalArticulos.Rows.Count > 0) { decimal costoTotal = 0M; foreach (Producto p in ((List<MedNeg.Inventarios.Producto>)Session["invEntSalLsProductos"])) { costoTotal += p.costo; } if (costoTotal <= blInventarios.BuscarCantCreditoLineaCredito(int.Parse(ddlEntSalLineasDeCredito.SelectedValue))) { try { int idAlmacen = int.Parse(ddlEntSalAlmacenes.SelectedValue); foreach (Producto p in ((List<MedNeg.Inventarios.Producto>)Session["invEntSalLsProductos"])) { blInventarios.GestionarExistenciaProducto(idAlmacen, p.dbProducto.idProducto, p.lote, p.serie, p.fechaCaducidad, p.cantidad, ddlEntSalConceptoMov.SelectedValue, Convert.ToInt32(ddlEntSalLineasDeCredito.SelectedValue.ToString())); } MedDAL.DAL.inventario inventario = new MedDAL.DAL.inventario(); inventario.idLineaCredito = int.Parse(ddlEntSalLineasDeCredito.SelectedValue); inventario.idTipoMovimiento = int.Parse(ddlEntSalTiposMovimiento.SelectedValue); inventario.idAlmacen = idAlmacen; inventario.Observaciones = txtEntSalComentarios.Text; inventario.Fecha = DateTime.Now; inventario.Concepto = ddlEntSalConceptoMov.SelectedValue; inventario.Pedimento = txbPedimento.Text; if (inventario.Concepto == "Salida") { inventario.idAlmacenSalida = int.Parse(ddlEntSalAlmacenSalida.SelectedValue); } List<MedDAL.DAL.inventario_partida> lpartida = new List<MedDAL.DAL.inventario_partida>(); ; MedDAL.DAL.inventario_partida partida; costoTotal = 0M; foreach (Producto p in ((List<MedNeg.Inventarios.Producto>)Session["invEntSalLsProductos"])) { partida = new MedDAL.DAL.inventario_partida(); partida.idProducto = p.dbProducto.idProducto; partida.Cantidad = p.cantidad.ToString(); partida.Precio = p.costo; partida.Lote = p.lote; partida.NoSerie = p.serie; costoTotal += p.costo; lpartida.Add(partida); } blInventarios.agregarRegistroInventario(inventario, lpartida); foreach (MedDAL.DAL.inventario_partida oInventarioPartida in lpartida) { if (!blInventarios.BuscarAlmacenProductoStocks(idAlmacen, oInventarioPartida.idProducto)) { MedDAL.DAL.productos_almacen_stocks oProductoAlmacenStock = new MedDAL.DAL.productos_almacen_stocks(); oProductoAlmacenStock.idAlmacen = idAlmacen; oProductoAlmacenStock.idProducto = oInventarioPartida.idProducto; oProductoAlmacenStock.StockMax = 0; oProductoAlmacenStock.StockMin = 0; blInventarios.NuevoProductosAlmacenStock(oProductoAlmacenStock); } List<MedDAL.DAL.recetas_partida_faltantes> lstRetecasPartidaFaltantes = oblRecetasPartidaFaltantes.BuscarPorProductoAlmacen(oInventarioPartida.idProducto, idAlmacen); if (lstRetecasPartidaFaltantes.Count > 0) { foreach (MedDAL.DAL.recetas_partida_faltantes oRecetaPartidaFaltante in lstRetecasPartidaFaltantes) { oblRecetasPartidaFaltantes.EliminarRegistro(oRecetaPartidaFaltante); } } } if (ddlEntSalConceptoMov.SelectedValue.Equals("Entrada")) blInventarios.DescontarCreditoALinea(int.Parse(ddlEntSalLineasDeCredito.SelectedValue), costoTotal); lbEntSalAvisos.Text = "Proceso finalizado con éxito"; Session["invEntSalLsProductos"] = new List<MedNeg.Inventarios.Producto>(); LimpiarPantallaEntradaSalida(); } catch (Exception ex) { lbEntSalAvisos.Text = ex.Message; } } else lbEntSalAvisos.Text = "Fondos insuficientes en Línea de crédito: " + ddlEntSalLineasDeCredito.SelectedItem.Text; } else { if (ddlEntSalConceptoMov.SelectedIndex == 0) { lbEntSalAvisos.Text = "La entrada no tiene productos registrados"; } else if (ddlEntSalConceptoMov.SelectedIndex == 1) { lbEntSalAvisos.Text = "La salida no tiene productos registrados"; } } }
public void FinalizaEntradaSalida() { decimal costoTotal = 0M; foreach (Producto p in ((List <MedNeg.Inventarios.Producto>)Session["invEntSalLsProductos"])) { costoTotal += p.costo; } if (costoTotal <= blInventarios.BuscarCantCreditoLineaCredito(int.Parse(ddlEntSalLineasDeCredito.SelectedValue))) { try { int idAlmacen = int.Parse(ddlEntSalAlmacenes.SelectedValue); foreach (Producto p in ((List <MedNeg.Inventarios.Producto>)Session["invEntSalLsProductos"])) { blInventarios.GestionarExistenciaProducto(idAlmacen, p.dbProducto.idProducto, p.lote, p.serie, p.fechaCaducidad, p.cantidad, ddlEntSalConceptoMov.SelectedValue, Convert.ToInt32(ddlEntSalLineasDeCredito.SelectedValue.ToString())); } MedDAL.DAL.inventario inventario = new MedDAL.DAL.inventario(); inventario.idLineaCredito = int.Parse(ddlEntSalLineasDeCredito.SelectedValue); inventario.idTipoMovimiento = int.Parse(ddlEntSalTiposMovimiento.SelectedValue); inventario.idAlmacen = idAlmacen; inventario.Observaciones = txtEntSalComentarios.Text; inventario.Fecha = DateTime.Now; inventario.Concepto = ddlEntSalConceptoMov.SelectedValue; inventario.Pedimento = txbPedimento.Text; List <MedDAL.DAL.inventario_partida> lpartida = new List <MedDAL.DAL.inventario_partida>();; MedDAL.DAL.inventario_partida partida; costoTotal = 0M; foreach (Producto p in ((List <MedNeg.Inventarios.Producto>)Session["invEntSalLsProductos"])) { partida = new MedDAL.DAL.inventario_partida(); partida.idProducto = p.dbProducto.idProducto; partida.Cantidad = p.cantidad.ToString(); partida.Precio = p.costo; partida.Lote = p.lote; partida.NoSerie = p.serie; costoTotal += p.costo; lpartida.Add(partida); } blInventarios.agregarRegistroInventario(inventario, lpartida); //Codigo Renard, para que funcione el modulo de inventarios. foreach (MedDAL.DAL.inventario_partida oInventarioPartida in lpartida) { if (!blInventarios.BuscarAlmacenProductoStocks(idAlmacen, oInventarioPartida.idProducto)) { MedDAL.DAL.productos_almacen_stocks oProductoAlmacenStock = new MedDAL.DAL.productos_almacen_stocks(); oProductoAlmacenStock.idAlmacen = idAlmacen; oProductoAlmacenStock.idProducto = oInventarioPartida.idProducto; oProductoAlmacenStock.StockMax = 0; oProductoAlmacenStock.StockMin = 0; blInventarios.NuevoProductosAlmacenStock(oProductoAlmacenStock); } List <MedDAL.DAL.recetas_partida_faltantes> lstRetecasPartidaFaltantes = oblRecetasPartidaFaltantes.BuscarPorProductoAlmacen(oInventarioPartida.idProducto, idAlmacen); if (lstRetecasPartidaFaltantes.Count > 0) { foreach (MedDAL.DAL.recetas_partida_faltantes oRecetaPartidaFaltante in lstRetecasPartidaFaltantes) { oblRecetasPartidaFaltantes.EliminarRegistro(oRecetaPartidaFaltante); } } } if (ddlEntSalConceptoMov.SelectedValue.Equals("Entrada")) { blInventarios.DescontarCreditoALinea(int.Parse(ddlEntSalLineasDeCredito.SelectedValue), costoTotal); } lbEntSalAvisos.Text = "Proceso finalizado con éxito"; } catch (Exception ex) { lbEntSalAvisos.Text = ex.Message; } } else { lbEntSalAvisos.Text = "Fondos insuficientes en Línea de crédito: " + ddlEntSalLineasDeCredito.SelectedItem.Text; } }