/// <summary> /// Eliminar /// </summary> /// <param name="iIdRemision"></param> private void Eliminar(int iIdRemision) { //Eliminar primero la partida para la integridad referencial oblRemision = new MedNeg.Remisiones.BlRemisiones(); string sDatosBitacora= string.Empty; //Guardar los datos del pedido para la bitacora oRemision = new MedDAL.DAL.remisiones(); oRemision = oblRemision.BuscarRemision(iIdRemision); sDatosBitacora += "Folio:" + oRemision.Folio.ToString()+" "; sDatosBitacora += "Fecha:" + oRemision.Fecha.ToShortDateString()+" "; switch (oRemision.Estatus) { case "1": sDatosBitacora += "Estatus:Pedido "; break; case "2": sDatosBitacora +="Estatus:Remitido "; break; case "3": sDatosBitacora +="Estatus:Facturado "; break; case "4": sDatosBitacora += "Estatus:Cancelado "; break; } //Recuperar la partida del pedido oblRemision = new MedNeg.Remisiones.BlRemisiones(); var oQuery = oblRemision.RecuperarPartidaRemision(iIdRemision); //Recorrer el resultado y meterlo al datagridview foreach (MedDAL.DAL.remisiones_partida oDetalle in oQuery) { sDatosBitacora += "Producto:" + oDetalle.productos.Nombre.ToString()+" "; sDatosBitacora += "Cantidad:" + oDetalle.Cantidad.ToString()+ " "; sDatosBitacora += "IEPS:" + oDetalle.IEPS.ToString() + " "; sDatosBitacora += "Iva:" + oDetalle.Iva.ToString() + " "; sDatosBitacora += "Precio:" + oDetalle.Precio.ToString()+ " "; sDatosBitacora += "Total:" + Convert.ToDecimal((oDetalle.Cantidad * oDetalle.Precio) + oDetalle.IEPS + oDetalle.Iva)+ ", "; } if (oblRemision.EliminarRemisionPartida(iIdRemision)) { oblRemision= new MedNeg.Remisiones.BlRemisiones(); if (oblRemision.EliminarRegistro(iIdRemision)) { MedDAL.DAL.bitacora oBitacora = new MedDAL.DAL.bitacora(); MedNeg.Bitacora.BlBitacora oblBitacora = new MedNeg.Bitacora.BlBitacora(); oBitacora.FechaEntradaSrv = DateTime.Now; oBitacora.FechaEntradaCte = DateTime.Now;//Linea Temporal oBitacora.Modulo = "Remisiones"; oBitacora.Usuario = Session["usuario"].ToString(); oBitacora.Nombre = Session["nombre"].ToString(); oBitacora.Accion = "Eliminación de Remisión"; oBitacora.Descripcion = sDatosBitacora; if (!oblBitacora.NuevoRegistro(oBitacora)) { lblDatos.Text = "El evento no pudo ser registrado en la bitácora"; } } else { lblDatos.Text = "No se pudo eliminar la remisión, por favor vuelva a intentarlo"; } } else { lblDatos.Text = "No se pudo eliminar la remisión, por favor vuelva a intentarlo"; } }
/// <summary> /// Editar /// </summary> private void Editar() { oRemision = new MedDAL.DAL.remisiones(); oblRemision = new MedNeg.Remisiones.BlRemisiones(); //oRemision.idRemision = int.Parse(dgvDatos.SelectedDataKey.Value.ToString()); oRemision = oblRemision.BuscarRemisionFolio(txbFolio.Text); oRemision.Estatus = cmbEstatus.SelectedValue.ToString(); oblRemision = new MedNeg.Remisiones.BlRemisiones(); if(oblRemision.EditarRegistro(oRemision)) { //Datos de la bitacora sDatosBitacora += "Tipo:" + cmbTipoRemision.SelectedValue.ToString() + " "; sDatosBitacora += "Folio:" + txbFolio.Text + " "; sDatosBitacora += "Fecha:" + txbFecha.Text + " "; sDatosBitacora += "Estatus:" + cmbEstatus.SelectedItem.ToString() + " "; sDatosBitacora += "Cliente:" + txbCliente.Text + " "; oblRemision = new MedNeg.Remisiones.BlRemisiones(); if (oblRemision.EliminarRemisionPartida(oRemision.idRemision)) { bool bRegistroFallido = false; //Recorrer el objeto de sesion lstDetallePartida que contiene los datos de la partida foreach (MedNeg.Facturas.BlDetallePartida pedidoDetalle in (List<MedNeg.Facturas.BlDetallePartida>)Session["lstDetallePartida"]) { //Saber si es un ensamble el que se esta registrando if (pedidoDetalle.bEsEnsamble == true) { AgregarDetalleEnsamble(pedidoDetalle, oRemision.idRemision); } else { oblRemision = new MedNeg.Remisiones.BlRemisiones(); MedDAL.DAL.remisiones_partida oRemisionPartida = new MedDAL.DAL.remisiones_partida(); oRemisionPartida.idRemision = oRemision.idRemision; oRemisionPartida.idProducto = pedidoDetalle.iIdProducto; oRemisionPartida.Cantidad = pedidoDetalle.dCantidad; oRemisionPartida.IEPS = pedidoDetalle.dIeps; oRemisionPartida.Iva = pedidoDetalle.dIva; oRemisionPartida.Precio = pedidoDetalle.dPrecio; //Registrar el detalle del pedido if (!oblRemision.NuevoDetallePartida(oRemisionPartida)) { bRegistroFallido = true; } else { sDatosBitacora += "Producto:" + pedidoDetalle.iIdProducto.ToString() + " "; sDatosBitacora += "Cant:" + pedidoDetalle.dCantidad.ToString() + " "; sDatosBitacora += "IEPS:" + pedidoDetalle.dIeps.ToString() + " "; sDatosBitacora += "Iva:" + pedidoDetalle.dIva.ToString() + " "; sDatosBitacora += "Precio:" + pedidoDetalle.dPrecio.ToString() + " "; sDatosBitacora += "Total:" + Convert.ToDecimal((pedidoDetalle.dCantidad * pedidoDetalle.dPrecio) + pedidoDetalle.dIeps + pedidoDetalle.dIva) + ", "; } } } /****** GT: Modificar las existencias de los productos nuevos ***************/ MedNeg.Usuarios.BlUsuarios oblUsuario = new MedNeg.Usuarios.BlUsuarios(); MedNeg.Productos.BlProductos oblProductos = new MedNeg.Productos.BlProductos(); MedDAL.DAL.usuarios oUsuario = new MedDAL.DAL.usuarios(); bool bModificarExistenciasError = false; bool bStockMin = false; oUsuario = (MedDAL.DAL.usuarios)oblUsuario.Buscar(Session["usuario"].ToString()); oblRemision = new MedNeg.Remisiones.BlRemisiones(); foreach (MedNeg.Facturas.BlDetallePartida remisionDetalleNuevos in (List<MedNeg.Facturas.BlDetallePartida>)Session["lstremisionespartidaedicion"]) { if (oblRemision.ModificarExistenciaProducto(oUsuario.idAlmacen, remisionDetalleNuevos.iIdProducto, remisionDetalleNuevos.dCantidad, 1)) { //Si el proceso de extraer se da exitosamente, se revisa ahora las existencias de todos los lotes de ese almacen //Posteriormente se revisa si la existencia esta por igual o debajo del Stock Minimo requerido decimal dCantidad = 0; foreach (MedDAL.DAL.productos_almacen oProductoAlmacen in oblProductos.ObtenerExistenciaProducto(remisionDetalleNuevos.iIdProducto, oUsuario.idAlmacen)) { dCantidad += oProductoAlmacen.Cantidad; } MedDAL.DAL.productos_almacen_stocks oProductoAlmacenStocks = oblProductos.ObtenerProductoAlmacenStock(oUsuario.idAlmacen, remisionDetalleNuevos.iIdProducto); if (dCantidad <= oProductoAlmacenStocks.StockMin) { bStockMin = true; } } else { bModificarExistenciasError = true; } } if (bModificarExistenciasError == true) { lblDatos.Text = "No se pudo modificar la existencia de los productos, por favor contacte al administrador"; } if (bStockMin) { ScriptManager.RegisterStartupScript(pnlFormulario, pnlFormulario.GetType(), "alertstock", "alertarStock(1);", true); } /****** GT: Modificar las existencias de los productos nuevos ***************/ //Anotar en la bitacora la modificación a la remision oBitacora = new MedDAL.DAL.bitacora(); oblBitacora = new MedNeg.Bitacora.BlBitacora(); oBitacora.FechaEntradaSrv = DateTime.Now; oBitacora.FechaEntradaCte = DateTime.Now;//Linea Temporal oBitacora.Modulo = "Remisiones"; oBitacora.Usuario = Session["usuario"].ToString(); oBitacora.Nombre = Session["nombre"].ToString(); oBitacora.Accion = "Edición de Remision"; oBitacora.Descripcion = sDatosBitacora; if (!oblBitacora.NuevoRegistro(oBitacora)) { //lblAviso2.Text = "El evento no pudo ser registrado en la bitácora"; } Session["sTotalFactura"] = 0; } } }