using System; using System.Collections; using System.Collections.Generic; using System.Data; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using AyABL; using AyABL.AUT.Autenticacion; //using AyABL.APL; using AyADAL; using System.Configuration; using AyABL.RCS; using AyABL; using AyABL.Usuario; using AyABL.APL; using AyABL.Tran; using AyABL.TRA; using System.Collections; using System.Data; public partial class Forms_TRA_frwDevolucionActividadesSolicitud : General { #region Inicializar Formulario (R0) override protected void OnInit(EventArgs e) //M0 { try { base.OnInit(e); InicializarFormulario(); } catch (Exception ex) { MensajeError("Error en R0M0", ex); } } private void InicializarFormulario() //M1 { try { Response.Cache.SetCacheability(HttpCacheability.NoCache); Javascript.CheckAllGridViewItems(Page); } catch (Exception ex) { MensajeError("Error en R0M1", ex); } } #endregion #region Variables (R1) // GridView grvListaDatosCantonalesTemp, grvCantonalesADTemp; AutenticacionBL objAutenticacionBL; UsuarioRolBL objUsuarioRolBL; RolItemMenuComandoBL objRolItemMenuComandoBL; string strNumSolicitudTMP = "0"; ObservacionesActividadesBL objObservacionesBL; int nPKSolicitud = 0; AplicacionBL objAplicacionBL; RolBL objRolBL; ArrayList arlCondicionesFiltroBusqueda = new ArrayList(); #region variables del estandar string strPagina = string.Empty; string strScript = string.Empty; #endregion #endregion #region Eventos Formulario (R2) protected void Page_Load(object sender, EventArgs e) //M0 { try { ScriptManager.GetCurrent(Page).RegisterPostBackControl(btnGuarda); if (Session["SOLICITUD"] != null ) { strNumSolicitudTMP = Session["SOLICITUD"].ToString(); nPKSolicitud = int.Parse(Session["PKSOLICITUD"].ToString()); lblActividad.Text = Session["NACTIVIDAD"].ToString(); if ((!IsPostBack) && (Session.Count > 0)) { Session["Pagina"] = ""; mostrarDatos(); //mostrarFilaTabla(1); ComandosxMenu(); } } else Response.Redirect("../wfrLogin.aspx?sesion=expiro", false); //{ ClientScript.RegisterStartupScript(this.GetType(), "Error", ""); } } catch (Exception ex) { MensajeError("Error en R2M0", ex); } } #endregion #region Eventos Controles Web (R3) /// /// Activa el evento del boton guardar.1 /// /// /// /// protected void btnGuardar_Click(object sender, EventArgs e) { try { if (txtIngresoObsevacion.Text == string.Empty) { ClientScript.RegisterStartupScript(this.GetType(), "Error", ""); } else { ViewState["MODO"] = "Nuevo"; int nResultado = GuardarDatos(); //llenarGridView(true); limpiarCampos(); mostrarFilaTabla(1); MensajeInformativo(AyABL.BASESDEDATOS.ADS + "Interfaz: " + MensajesAplicacion.GuardadoExitoso.ToString()); } } catch (Exception ex) { MensajeError("Error en R3M14", ex); } } #endregion #region Metodos Personalizados (R4) /// /// Oculta las filas que lo requieran /// /// /// private void mostrarFilaTabla(int p_intFila) //M0 { try { divDatosSuperiores.Visible = false; //divDatosInferiores.Visible = false; switch (p_intFila) { case 1: mostrarDatos(); divDatosSuperiores.Visible = true; break; case 2: mostrarDatos(); //divDatosInferiores.Visible = true; break; case 3: mostrarDatos(); //divDatosInferiores.Visible = true; break; } } catch (Exception ex) { throw ex; } } /// /// Metodo que se utiliza para el despliegue de los botones /// private void ComandosxMenu() //M4 { try { DataSet dsComandos = getComandos(); if (dsComandos != null) { foreach (DataRow drTemp in dsComandos.Tables[0].Rows) { switch (drTemp["NOMBRECOMANDO"].ToString().ToUpper()) { case "NUEVO": break; case "MODIFICA": //Inicio de variable tipo VIEWSTATE ViewState["PUEDEMODIFICAR"] = true; break; } } } } catch (Exception ex) { throw ex; } } #endregion #region Metodos Controles a Datos (R5) /// /// guarda y modifica registros en la tabla. /// /// /// private int GuardarDatos() { int nValorRetornado = 0; try { string strModo = ViewState["MODO"].ToString(); int nPkSolicitud = 0; int nResultadoActualizar = 0; string strPiePagina = "


AVISO DE CONFIDENCIALIDAD: este mensaje y la información incluida en él es confidencial y está dirigida únicamente al destinatario. Puede contener información privilegiada, confidencial, amparada por el secreto profesional o que no debe ser revelada. Si usted ha recibido este correo por error, por favor comunicarlo inmediatamente vía correo y tener la amabilidad de eliminarlo de su sistema. Queda notificado que no deberá copiar este mensaje, ni utilizar, divulgar, publicar o distribuir su contenido de modo alguno. Todo mensaje enviado a esta dirección de correo electrónico puede ser sujeto a inspección por alguien distinto de su receptor originario. La transmisión de correos no garantiza que el correo electrónico sea seguro o libre de error. Por consiguiente, se advierte que esta información pueda estar incompleta o ser poco precisa ya que toda información está sujeta a alterarse sin previo aviso.”"; objObservacionesBL = new ObservacionesActividadesBL(); //objObservacionesBL.objobservacionesEL.FKNUMSOLICITUD = strNumSolicitudTMP; objObservacionesBL.objobservacionesEL.DESCRIPCION = "\n" + DateTime.Now.ToString()+ " - " + Session["NOMBREEMPLEADO"].ToString() + " - Devolución de la actividad: " + txtIngresoObsevacion.Text; objObservacionesBL.objobservacionesEL.FKUSUARIOXDEPENDENCIA = int.Parse(Session["PKUSUARIOXDEPENDENCIA"].ToString()); objObservacionesBL.objobservacionesEL.PKRESPONSABLEACTIVIDAD = int.Parse(Session["PKRESPONSABLEACTIVIDAD"].ToString()); objObservacionesBL.objobservacionesEL.Fecha = DateTime.Now; objObservacionesBL.objobservacionesEL.TIPO = 2;//DEVOLUCION //objObservacionesBL.objobservacionesEL.FKSOLICITUD = nPKSolicitud; //objObservacionesBL.objobservacionesEL.USUARIO = Session["LOGIN"].ToString(); nValorRetornado = objObservacionesBL.insertarObservacionActividad(); if (nValorRetornado != 0) { solicitudBL objSolicitud = new solicitudBL(); objSolicitud.objresponsableActividadEL.FECHADEVOLUCION = DateTime.Now; //objSolicitud.objresponsableActividadEL.PK = int.Parse(Session["PKRESPONSABLEACTIVIDAD"].ToString()); //poner la actividad actual en estado de devolucion solicitudBL objSolicitudBL = new solicitudBL(); objSolicitudBL.objSolicitudEL.PK = int.Parse(Session["PKPROGRAMACION"].ToString()); objSolicitudBL.objSolicitudEL.ORDEN = int.Parse(Session["NACTIVIDAD"].ToString()); DataSet dsEncargadosActividades = objSolicitudBL.dsListaActividadesEncargado(arlCondicionesFiltroBusqueda); foreach (DataRow row in dsEncargadosActividades.Tables[0].Rows) { objSolicitud.objresponsableActividadEL.PK = int.Parse(row["PKRESPONSABLEACTIVIDAD"].ToString()); ; objSolicitud.objresponsableActividadEL.FKESTADO = 6;//devolucion t_sgm_estadoactividad nResultadoActualizar = objSolicitud.actualizarActividadSolicitud(); } //actualizarEstadoActividad(objSolicitud, 2); if (objSolicitudBL.objSolicitudEL.ORDEN == 5) { actualizarEstadoActividad(objSolicitud, 6); //Instancia el objeto cartaBL objCartaBL = new cartaBL(); //Asigna un valor al atributo de referencia del objeto objCartaBL.objCartaEL.FKNUMSOLICITUD = nPKSolicitud; objCartaBL.objCartaEL.NOMBREDOCUMENTO = string.Empty; //objCartaBL.objCartaEL.FKREUTILIZA = nPKReutilizaTMP; //Carga en un dataset la información DataSet ds = objCartaBL.listarCartas(); if (ds.Tables[0].Rows.Count > 0) { foreach (DataRow row in ds.Tables[0].Rows) { int nPK = int.Parse(row["PKCARTA"].ToString()); eliminarCartaSolicitud(nPK); } } } if (objSolicitudBL.objSolicitudEL.ORDEN == 6) { actualizarEstadoActividad(objSolicitud, 5); //Instancia el objeto cartaBL objCartaBL = new cartaBL(); //Asigna un valor al atributo de referencia del objeto objCartaBL.objCartaEL.FKNUMSOLICITUD = nPKSolicitud; objCartaBL.objCartaEL.NOMBREDOCUMENTO = string.Empty; //objCartaBL.objCartaEL.FKREUTILIZA = nPKReutilizaTMP; //Carga en un dataset la información DataSet ds = objCartaBL.listarCartas(); if (ds.Tables[0].Rows.Count > 0) { foreach (DataRow row in ds.Tables[0].Rows) { int nPK = int.Parse(row["PKCARTA"].ToString()); eliminarCartaSolicitud(nPK); } } } #region Envio de correo arlCondicionesFiltroBusqueda = new ArrayList(); int nActividad = int.Parse(Session["NACTIVIDAD"].ToString()); #region Criterio tecnico if (nActividad == 3 || nActividad == 4 ) { strPiePagina = "


AVISO DE CONFIDENCIALIDAD: este mensaje y la información incluida en él es confidencial y está dirigida únicamente al destinatario. Puede contener información privilegiada, confidencial, amparada por el secreto profesional o que no debe ser revelada. Si usted ha recibido este correo por error, por favor comunicarlo inmediatamente vía correo y tener la amabilidad de eliminarlo de su sistema. Queda notificado que no deberá copiar este mensaje, ni utilizar, divulgar, publicar o distribuir su contenido de modo alguno. Todo mensaje enviado a esta dirección de correo electrónico puede ser sujeto a inspección por alguien distinto de su receptor originario. La transmisión de correos no garantiza que el correo electrónico sea seguro o libre de error. Por consiguiente, se advierte que esta información pueda estar incompleta o ser poco precisa ya que toda información está sujeta a alterarse sin previo aviso.”"; ObservacionesActividadesBL objObservacionesActividadesBL = new ObservacionesActividadesBL(); objObservacionesActividadesBL.objobservacionesEL.DESCRIPCION = "\n" + DateTime.Now.ToString() + " - " + Session["NOMBREEMPLEADO"].ToString() + " - Se devuelve los formularios asociados a la actividad por el usuario " + Session["NOMBREEMPLEADO"].ToString(); objObservacionesActividadesBL.objobservacionesEL.FKUSUARIOXDEPENDENCIA = int.Parse(Session["PKUSUARIOXDEPENDENCIA"].ToString()); objObservacionesActividadesBL.objobservacionesEL.PKRESPONSABLEACTIVIDAD = int.Parse(Session["PKRESPONSABLEACTIVIDAD"].ToString()); objObservacionesActividadesBL.objobservacionesEL.Fecha = DateTime.Now; objObservacionesBL.objobservacionesEL.TIPO = 2; nValorRetornado = objObservacionesActividadesBL.insertarObservacionActividad(); if (nActividad == 3 ) { inspeccionapBL objInspeccionBL = new inspeccionapBL(); objInspeccionBL.objinspeccionapEL.FKSOLICITUD = int.Parse(Session["PKSOLICITUD"].ToString()); //objInspeccionBL.objinspeccionapEL.FKESTADOINSPECCION = 3;//reinspeccion //objInspeccionBL.objinspeccionapEL.PKINSPECCION = p_nPKInspeccion; DataSet dsInspeccion = objInspeccionBL.listarInspecciones(null); if (dsInspeccion.Tables[0].Rows.Count != 0) { int nValorRetornadoRevision = 0; foreach (DataRow row in dsInspeccion.Tables[0].Rows) { //SE CAMBIA EL ESTADO A LA INSPECCION GENERAL A TODOS LOS FORMULARIOS t_dis_inspeccion objInspeccionBL.objinspeccionapEL.PKINSPECCION = int.Parse(row["PKINSPECCION"].ToString()); nValorRetornadoRevision = objInspeccionBL.modificarEstadoInspecciongeneral(); //cambia el estado de la revision del formulario t_dis_revisionformulario if (row["PKREVISIONFORMULARIO"].ToString() != string.Empty) { objInspeccionBL = new inspeccionapBL(); objInspeccionBL.objinspeccionapEL.PKREVISIONFORMULARIO = int.Parse(row["PKREVISIONFORMULARIO"].ToString()); objInspeccionBL.objinspeccionapEL.REVISIONREVISIONFORMULARIO = false; objInspeccionBL.objinspeccionapEL.FECHAREVISIONREVISIONFORMULARIO = DateTime.Now; nValorRetornadoRevision = objInspeccionBL.modificarRevisionFormulario(); } } } actualizarEstadoActividad(objSolicitud, 3); } //se desactivan los formularios de inspeccion if (nActividad == 4 ) { inspeccionasBL objInspeccionBL = new inspeccionasBL(); objInspeccionBL.objinspeccionasEL.FKSOLICITUD = int.Parse(Session["PKSOLICITUD"].ToString()); //objInspeccionBL.objinspeccionasEL.FKESTADOINSPECCION = 3;//reinspeccion //objInspeccionBL.objinspeccionapEL.PKINSPECCION = p_nPKInspeccion; DataSet dsInspeccion = objInspeccionBL.listarInspeccionesAS(null); if (dsInspeccion.Tables[0].Rows.Count != 0) { int nValorRetornadoRevision = 0; foreach (DataRow row in dsInspeccion.Tables[0].Rows) { //SE CAMBIA EL ESTADO A LA INSPECCION GENERAL A TODOS LOS FORMULARIOS t_dis_inspeccion objInspeccionBL.objinspeccionasEL.PKINSPECCION = int.Parse(row["PKINSPECCION"].ToString()); nValorRetornadoRevision = objInspeccionBL.modificarEstadoInspecciongeneral(); //cambia el estado de la revision del formulario t_dis_revisionformulario if (row["PKREVISIONFORMULARIO"].ToString() != string.Empty) { objInspeccionBL = new inspeccionasBL(); objInspeccionBL.objinspeccionasEL.PKREVISIONFORMULARIO = int.Parse(row["PKREVISIONFORMULARIO"].ToString()); objInspeccionBL.objinspeccionasEL.REVISIONREVISIONFORMULARIO = false; objInspeccionBL.objinspeccionasEL.FECHAREVISIONREVISIONFORMULARIO = DateTime.Now; nValorRetornadoRevision = objInspeccionBL.modificarRevisionFormulario(); } } } actualizarEstadoActividad(objSolicitud, 4); } if (nActividad == 6) { actualizarEstadoActividad(objSolicitud, 5); } } #endregion if (nActividad > 2) nActividad = 0;//SE ENVIA PARA REPROGRAMAR11 else nActividad = 1; objSolicitudBL.objSolicitudEL.PK = int.Parse(Session["PKPROGRAMACION"].ToString()); objSolicitudBL.objSolicitudEL.FKACTIVIDAD = nActividad; objSolicitudBL.objSolicitudEL.ORDEN = 0; dsEncargadosActividades = objSolicitudBL.dsListaActividadesEncargado(arlCondicionesFiltroBusqueda); if (dsEncargadosActividades.Tables[0].Rows.Count > 0)//SE LE ENVIA EL CORREO A TODOS LOS RESPONSABLES DE LAS OTRAS ACTIVIDADES { foreach (DataRow row in dsEncargadosActividades.Tables[0].Rows) { nPkSolicitud = Convert.ToInt32(row[1].ToString());//AQUI INSERTAMOS LA PK DE LA SOLICITUD AyABL.TRA.correoBL objcorreoBL = new AyABL.TRA.correoBL(); objcorreoBL.objcorreoEL.FKNUMSOLICITUD = nPkSolicitud; // objcorreoBL.objcorreoEL.CORREO = dsActividad.Tables[0].Rows[0]["LOGINUSUARIO"].ToString() + "@aya.go.cr"; objcorreoBL.objcorreoEL.ASUNTO = "Devolución de actividad - SIGDD"; objcorreoBL.objcorreoEL.CONTENIDO = "La actividad " + Session["NACTIVIDAD"].ToString() + " de la solicitud N° " + Session["SOLICITUD"].ToString() + " ha sido devuelta para ver los detalles, " + Session["NOMBREEMPLEADO"].ToString() + " - Devolución de la actividad: " + txtIngresoObsevacion.Text + " ,ingrese al sistema SIGDD" + strPiePagina; objcorreoBL.objcorreoEL.FKUSUARIO = Convert.ToInt32(row["FKUSUARIOXDEPENDENCIA"].ToString()); objcorreoBL.objcorreoEL.Fecha = DateTime.Now; nValorRetornado = objcorreoBL.insertarCorreo(); } } #endregion } mostrarDatos(); GuardarEventoBitacora( Session["LOGIN"].ToString(), AccionBitacora.UPDATE.ToString(), MensajesBitacora.IngresarRegistro + ": Se ingreso una nueva observacion por devolución de la actividad: " + Session["NACTIVIDAD"].ToString() + ", OBSERVACION:" + txtobservaciones.Text.Trim() + " para la solicitud numero: " + strNumSolicitudTMP, "frwDevolucionActividadesSolicitud.aspx", Convert.ToInt32(ConfigurationManager.AppSettings["pkApp"]) ); } catch(Exception ex) { throw ex; } return nValorRetornado; } /// /// Metodo que se utiliza para remover el role asignado al usuario /// /// private bool eliminarCartaSolicitud(int p_nPk) //M1 { bool blnValorRetornado = false; try { cartaBL objCartaBL = new cartaBL(); objCartaBL.objCartaEL.PK = p_nPk; objCartaBL.objCartaEL.FKESTADOCARTA = 3;//eliminado objCartaBL.activarInactivarCarta(); blnValorRetornado = true; } catch (Exception ex) { throw ex; } return blnValorRetornado; } public int actualizarEstadoActividad(solicitudBL p_objSolicitud,int p_nOrden) { int nResultadoActualizar = 0; try { //Poner la actividad 2 programacion en pendiente(3) solicitudBL objSolicitudBL = new solicitudBL(); objSolicitudBL.objSolicitudEL.PK = int.Parse(Session["PKPROGRAMACION"].ToString()); objSolicitudBL.objSolicitudEL.ORDEN = p_nOrden; DataSet dsEncargadosActividades = objSolicitudBL.dsListaActividadesEncargado(arlCondicionesFiltroBusqueda); foreach (DataRow row in dsEncargadosActividades.Tables[0].Rows) { p_objSolicitud.objresponsableActividadEL.PK = int.Parse(row["PKRESPONSABLEACTIVIDAD"].ToString()); ; p_objSolicitud.objresponsableActividadEL.FKESTADO = 3;//pendiente t_sgm_estadoactividad nResultadoActualizar = p_objSolicitud.actualizarActividadSolicitud(); } } catch (Exception ex) { throw ex; } return nResultadoActualizar; } #endregion #region Metodos Datos a Controles (R6) /// /// Muestra los datos del registro /// /// /// private void mostrarDatos() //M1 { try { limpiarCampos(); objObservacionesBL = new ObservacionesActividadesBL(); objObservacionesBL.objobservacionesEL.PKSOLICITUD = int.Parse(Session["PKSOLICITUD"].ToString()); objObservacionesBL.objobservacionesEL.PKPROGRAMACIONSOLICITUD = int.Parse(Session["PKPROGRAMACION"].ToString()); //objObservacionesBL.objobservacionesEL.PKACTIVIDAD = int.Parse(Session["NACTIVIDAD"].ToString()); objObservacionesBL.objobservacionesEL.ORDEN = int.Parse(Session["NACTIVIDAD"].ToString()); objObservacionesBL.objobservacionesEL.PKRESPONSABLEACTIVIDAD = int.Parse(Session["PKRESPONSABLEACTIVIDAD"].ToString()); objObservacionesBL.objobservacionesEL.TIPO = 2;//DEVOLUCION DataSet dsObservaciones = objObservacionesBL.dsListarObservacionesActividades(null); if (dsObservaciones.Tables[0].Rows.Count > 0) { //Información de la cantonal foreach (DataRow row in dsObservaciones.Tables[0].Rows) { txtobservaciones.Text += row["DESCRIPCIONOBSERVACIONACTIVIDAD"].ToString() + "\n"; } } else { } } catch (Exception ex) { throw ex; } } private void limpiarCampos() { txtobservaciones.Text = string.Empty; txtIngresoObsevacion.Text = string.Empty; } /// /// Carga el grid principal /// /// /// //private void buscarGridView() //M2 //{ // try // { // { // objObservacionesBL = new ObservacionesBL(); // objObservacionesBL.objobservacionesEL.FKNUMSOLICITUD = strNumSolicitudTMP; // DataSet dsObservaciones = objObservacionesBL.dsListarObservaciones(); // } // } // catch (Exception ex) // { // throw ex; // } //} #endregion }