Esempio n. 1
0
        ///<remarks>
        ///   <name>BPUsuario.UpdateUsuario_Estatus</name>
        ///   <create>21-Octubre-2013</create>
        ///   <author>GCSoft - Web Project Creator BETA 1.0</author>
        ///</remarks>
        ///<summary>Activa/inactiva un Usuario</summary>
        ///<param name="oENTUsuario">Entidad de Usuario con los parámetros necesarios para actualizar su información</param>
        ///<returns>Una entidad de respuesta</returns>
        public ENTResponse UpdateUsuario_Estatus(ENTUsuario oENTUsuario)
        {
            DAUsuario oDAUsuario = new DAUsuario();
            ENTResponse oENTResponse = new ENTResponse();

            try
            {

                // Transacción en base de datos
                oENTResponse = oDAUsuario.UpdateUsuario_Estatus(oENTUsuario, this.sConnectionApplication, 0);

                // Validación de error en consulta
                if (oENTResponse.GeneratesException) { return oENTResponse; }

                // Validación de mensajes de la BD
                oENTResponse.sMessage = oENTResponse.dsResponse.Tables[0].Rows[0]["sResponse"].ToString();
                if (oENTResponse.sMessage != "") { return oENTResponse; }

            }catch (Exception ex){
                oENTResponse.ExceptionRaised(ex.Message);
            }

            // Resultado
            return oENTResponse;
        }
Esempio n. 2
0
        ///<remarks>
        ///   <name>BPUsuario.UpdateUsuario_ActualizaContrasena</name>
        ///   <create>21-Octubre-2013</create>
        ///   <author>GCSoft - Web Project Creator BETA 1.0</author>
        ///</remarks>
        ///<summary>Actualiza la contraseña de un usuario</summary>
        ///<param name="oENTUsuario">Entidad de usuario con los parámetros necesarios para actualizar la contraseña</param>
        ///<returns>Una entidad de respuesta</returns>
        public ENTResponse UpdateUsuario_ActualizaContrasena(ENTUsuario oENTUsuario)
        {
            GCEncryption gcEncryption = new GCEncryption();

            DAUsuario oDAUsuario = new DAUsuario();
            ENTResponse oENTResponse = new ENTResponse();

            try
            {

                // Encriptar el passwords
                oENTUsuario.sPassword = gcEncryption.EncryptString(oENTUsuario.sPassword, false);
                oENTUsuario.sOldPassword = gcEncryption.EncryptString(oENTUsuario.sOldPassword, false);

                // Transacción en base de datos
                oENTResponse = oDAUsuario.UpdateUsuario_ActualizaContrasena(oENTUsuario, this.sConnectionApplication, 0);

                // Validación de error en consulta
                if (oENTResponse.GeneratesException) { return oENTResponse; }

                // Validación de mensajes de la BD
                oENTResponse.sMessage = oENTResponse.dsResponse.Tables[0].Rows[0]["sResponse"].ToString();
                if (oENTResponse.sMessage != "") { return oENTResponse; }

            }catch (Exception ex){
                oENTResponse.ExceptionRaised(ex.Message);
            }

            // Resultado
            return oENTResponse;
        }
Esempio n. 3
0
        ///<remarks>
        /// <name>BPUsuario.SelectUsuario_ParaFuncionario</name>
        /// <create>06-Abril-2014</create>
        /// <author>Ruben.Cobos</author>
        ///</remarks>
        ///<summary>Consulta el catálogo de Usuarios y filtra los que son candidatos a ser funcionarios</summary>
        ///<param name="oENTUsuario">Entidad de usuario con los filtros necesarios para la consulta</param>
        ///<returns>Una entidad de respuesta</returns>
        public ENTResponse SelectUsuario_ParaFuncionario(ENTUsuario oENTUsuario)
        {
            DAUsuario oDAUsuario = new DAUsuario();
            ENTResponse oENTResponse = new ENTResponse();

            DataTable tblFuncionario;
            DataRow rowFuncionario;

            try
            {

                // Transacción en base de datos
                oENTResponse = oDAUsuario.SelectUsuario(oENTUsuario, this.sConnectionApplication, 0);

                // Validación de error en consulta
                if (oENTResponse.GeneratesException) { return oENTResponse; }

                // Mensajes de la BD
                oENTResponse.sMessage = oENTResponse.dsResponse.Tables[0].Rows[0]["sResponse"].ToString();

                // Filtrar solo los registros candidatos a funcionarios
                tblFuncionario = oENTResponse.dsResponse.Tables[1].Clone();
                foreach (DataRow rowFilter in oENTResponse.dsResponse.Tables[1].Select("FuncionarioId = 0 And idRol Not In (1, 2)")){

                    rowFuncionario = tblFuncionario.NewRow();
                    foreach (DataColumn colFilter in tblFuncionario.Columns){
                        rowFuncionario[colFilter.ColumnName] = rowFilter[colFilter.ColumnName];
                    }
                    tblFuncionario.Rows.Add(rowFuncionario);
                }

                // Reescribir DataTable de respuesta
                oENTResponse.dsResponse.Tables[1].Clear();
                foreach (DataRow rowActual in tblFuncionario.Rows){

                    rowFuncionario = oENTResponse.dsResponse.Tables[1].NewRow();
                    foreach (DataColumn colFilter in tblFuncionario.Columns){
                        rowFuncionario[colFilter.ColumnName] = rowActual[colFilter.ColumnName];
                    }
                    oENTResponse.dsResponse.Tables[1].Rows.Add(rowFuncionario);
                }

                // Validación - Consulta Vacía
                if (oENTResponse.dsResponse.Tables[1].Rows.Count == 0 && oENTResponse.sMessage != ""){
                    oENTResponse.sMessage = "No se encontraron usuarios disponibles para convertirse en funcionarios";
                }

            }catch (Exception ex){
                oENTResponse.ExceptionRaised(ex.Message);
            }

            // Resultado
            return oENTResponse;
        }
Esempio n. 4
0
        ///<remarks>
        ///   <name>BPUsuario.InsertUsuario</name>
        ///   <create>21-Octubre-2013</create>
        ///   <author>GCSoft - Web Project Creator BETA 1.0</author>
        ///</remarks>
        ///<summary>Actualiza la información de un usuario</summary>
        ///<param name="oENTUsuario">Entidad de usuario con los parámetros necesarios para actualizar su información</param>
        ///<returns>Una entidad de respuesta</returns>
        public ENTResponse InsertUsuario(ENTUsuario oENTUsuario)
        {
            GCMail gcMail = new GCMail();
            GCEncryption gcEncryption = new GCEncryption();
            GCPassword gcPassword = new GCPassword();

            DAUsuario oDAUsuario = new DAUsuario();
            ENTResponse oENTResponse = new ENTResponse();

            String sHTMLMessage = "";
            String sPassword = "";

            try
            {

                // Generar Password
                sPassword = gcPassword.Create();

                // Encriptar el Password
                oENTUsuario.sPassword = gcEncryption.EncryptString(sPassword, false);

                // Validación de creación de password
                if (oENTUsuario.sPassword.Trim() == "") { throw (new Exception("Se generó una excepción al crear el usuario. Por favor intente de nuevo")); }

                // Transacción en base de datos
                oENTResponse = oDAUsuario.InsertUsuario(oENTUsuario, this.sConnectionApplication, 300);

                // Validación de error en consulta
                if (oENTResponse.GeneratesException) { return oENTResponse; }

                // Validación de mensajes de la BD
                oENTResponse.sMessage = oENTResponse.dsResponse.Tables[0].Rows[0]["sResponse"].ToString();
                if (oENTResponse.sMessage != "") { return oENTResponse; }

                // Configuración del correo
                sHTMLMessage = "" +
                "<html>" +
                   "<head>" +
                      "<title>SIAQ - Bienvenido al sistema</title>" +
                   "</head>" +
                   "<body style='height:100%; margin:0px; padding:0px; width:100%;'>" +
                      "<div style='clear:both; height:90%; text-align:center; width:100%;'>" +
                         "<div style='height:80%; clear: both; margin:0px auto; position:relative; top:10%; width:90%;'>" +
                            "<table border='0px;' cellpadding='0' cellspacing='0' style='height:100%; width:100%;'>" +
                               "<tr>" +
                                  "<td colspan='2' valign='middle' style='color:#549CC6; font-family:Arial; font-size:12px; font-weight:bold; text-align:left;'>SIAQ - Bienvenido al sistema</td>" +
                               "</tr>" +
                               "<tr><td colspan='3'><div style='border-bottom:1px solid #549CC6;'></div></td></tr>" +
                               "<tr style='height:10px'><td colspan='3'></td></tr>" +
                               "<tr>" +
                                  "<td colspan='2' valign='top' style='font-family:Arial; font-size:12px;'>" +
                                     "El equipo de Logística le da la bienvenida al sistema de SIAQ. Los datos de acceso a la aplicación son los siguientes<br><br>" +
                                     "<table border='0px' cellpadding='0' cellspacing ='0' class='Text' style='height:100%; width:100%'>" +
                                        "<tr style='height:10px'><td></td></tr>" +
                                        "<tr>" +
                                           "<td style='text-align:left;'>" +
                                                 "<b>Usuario:</b>&nbsp;" + oENTUsuario.sEmail +
                                           "</td>" +
                                        "</tr>" +
                                        "<tr>" +
                                           "<td style='text-align:left;'>" +
                                                 "<b>Password:</b>&nbsp;" + sPassword +
                                           "</td>" +
                                        "</tr>" +
                                        "<tr>" +
                                           "<td style='font-family:Arial; font-size:12px; text-align:left;'>" +
                                                 "<br>Puede acceder al sistema haciendo click <a href='" + this.sApplicationURL + "'>aqui</a>" +
                                           "</td>" +
                                        "</tr>" +
                                        "<tr>" +
                                           "<td style='text-align:left;'>" +
                                              "<br><br>NOTA: Es recomendable que cambie su contraseña desde el menú Administración/Cambio de Contraseña." +
                                           "</td>" +
                                        "</tr>" +
                                        "<tr>" +
                                           "<td style='font-family:Arial; font-size:12px; text-align:left;'>" +
                                              "<br><br><br>Gracias por utilizar nuestros servicios informáticos" +
                                           "</td>" +
                                        "</tr>" +
                                        "<tr>" +
                                           "<td style='font-family:Arial; font-size:9px; text-align:center;'>" +
                                              "<br><br>Powered By SetUp" +
                                           "</td>" +
                                        "</tr>" +
                                     "</table>" +
                                  "</td>" +
                               "</tr>" +
                               "<tr style='height:20px'><td colspan='3'></td></tr>" +
                               "<tr style='height:20px'><td colspan='3'></td></tr>" +
                               "<tr style='height:1px'><td colspan='3' style='background:#000063 repeat-x;'></td></tr>" +
                               "<tr style='height:60px; vertical-align:top;'>" +
                                  "<td colspan='2' style='font-family:Arial; font-size:10px; color: #180A3B; text-align:justify; vertical-align:middle;'>" +
                                     "Este correo electronico es confidencial y/o puede contener informacion privilegiada. Si usted no es su destinatario o no es alguna persona autorizada por este para recibir sus correos electronicos, NO debera usted utilizar, copiar, revelar, o tomar ninguna accion basada en este correo electronico o cualquier otra informacion incluida en el, favor de notificar al remitente de inmediato mediante el reenvio de este correo electronico y borrar a continuacion totalmente este correo electronico y sus anexos.<br/><br/>Nota: Los acentos y caracteres especiales fueron omitidos para su correcta lectura en cualquier medio electronico.<br/>" +
                                  "</td>" +
                                  "<td></td>" +
                               "</tr>" +
                               "<tr><td colspan='3'></td></tr>" +
                            "</table>" +
                         "</div>" +
                      "</div>" +
                   "</body>" +
                "</html>";

                // Enviar correo
                gcMail.Send("SIAQ - Bienvenido al sistema", oENTUsuario.sEmail, "SIAQ - Bienvenido al sistema", sHTMLMessage);

            }catch (Exception ex){
                oENTResponse.ExceptionRaised(ex.Message);
            }

            // Resultado
            return oENTResponse;
        }
Esempio n. 5
0
        ///<remarks>
        ///   <name>BPUsuario.selectUsuario_Autenticacion</name>
        ///   <create>21-Octubre-2013</create>
        ///   <author>GCSoft - Web Project Creator BETA 1.0</author>
        ///</remarks>
        ///<summary>Valida las credenciales de un usuario para verificar el acceso al sistema. Si las credenciales son válidas configura la sesión.</summary>
        ///<param name="oENTUsuario">Entidad de usuario con los parámetros necesarios para consultar la información</param>
        ///<returns>Una entidad de respuesta</returns>
        public ENTResponse SelectUsuario_Autenticacion(ENTUsuario oENTUsuario)
        {
            GCAuthentication gcAuthentication = new GCAuthentication();
            GCEncryption gcEncryption = new GCEncryption();

            DAUsuario oDAUsuario = new DAUsuario();
            ENTResponse oENTResponse = new ENTResponse();
            ENTSession oENTSession = new ENTSession();

            HttpContext oContext;

            try
            {

                // Encriptar el password
                oENTUsuario.sPassword = gcEncryption.EncryptString(oENTUsuario.sPassword, false);

                // Consulta a base de datos
                oENTResponse = oDAUsuario.SelectUsuario_Autenticacion(oENTUsuario, this.sConnectionApplication, 0);

                // Validación de error en consulta
                if (oENTResponse.GeneratesException) { return oENTResponse; }

                // Validación de mensajes de la BD
                oENTResponse.sMessage = oENTResponse.dsResponse.Tables[0].Rows[0]["sResponse"].ToString();
                if (oENTResponse.sMessage != "") { return oENTResponse; }

                // Configurar de entidad de sesión
                oENTSession.idUsuario = int.Parse(oENTResponse.dsResponse.Tables[1].Rows[0]["idUsuario"].ToString());
                oENTSession.FuncionarioId = int.Parse(oENTResponse.dsResponse.Tables[1].Rows[0]["FuncionarioId"].ToString());
                oENTSession.idArea = int.Parse(oENTResponse.dsResponse.Tables[1].Rows[0]["idArea"].ToString());
                oENTSession.idRol = int.Parse(oENTResponse.dsResponse.Tables[1].Rows[0]["idRol"].ToString());
                oENTSession.sEmail = oENTUsuario.sEmail;
                oENTSession.sNombre = oENTResponse.dsResponse.Tables[1].Rows[0]["sNombre"].ToString();
                oENTSession.tblSubMenu = oENTResponse.dsResponse.Tables[2];
                oENTSession.tblMenu = oENTResponse.dsResponse.Tables[3];

                // Autenticar el usuario
                gcAuthentication.AuthenticateUser(oENTSession.sEmail, this.iSessionTimeout);
                oENTSession.TokenGenerado = true;

                // Variable de sesión con los datos del usuario
                oContext = HttpContext.Current;
                oContext.Session["oENTSession"] = oENTSession;

            }catch (Exception ex){
                oENTResponse.ExceptionRaised(ex.Message);
            }

            // Resultado
            return oENTResponse;
        }