Beispiel #1
0
        /// <summary>
        /// Método encargado de comprobar las credenciales
        /// </summary>
        /// <param name="CORREO">Correo en formato [email protected]</param>
        /// <param name="CONTRASENA">La contraseña en texto plano</param>
        /// <param name="id_sesion_current">El ID de la sesion asignada por ASP.NET</param>
        /// <returns>-1: Sesion no iniciada.</returns>
        public bool Autenticar(string CORREO, string CONTRASENA)
        {
            A_PERSONA      p = new A_PERSONA();
            A_USUARIO      u = new A_USUARIO();
            A_BENEFICIARIO a_BENEFICIARIO = new A_BENEFICIARIO();

            Modelos.TB_PERSONA persona = p.getPersonaByCorreoE(CORREO);
            Modelos.TB_USUARIO usuario = u.getUsuarioByPersona(persona.ID_PERSONA);

            string hash = Helpers.H_Objetos.Encriptar(CONTRASENA);

            var result = _context.FN_AUTENTICAR(CORREO, hash);      //COMPROBANDO CREDENCIALES

            Modelos.TB_BENEFICIARIO beneficiario = null;
            if (usuario.ID_ROL == 2)
            {
                beneficiario = a_BENEFICIARIO.BuscarBeneficiarioXIdPersona(persona.ID_PERSONA);
                // beneficiario =A_BENEFICIARIO.ObtenerBeneficiario(usuario.ID_USUARIO) ?? null;
            }
            Modelos.TB_FORMULADOR formulador = A_FORMULADOR.ObtenerFormuladorPorIdPersona(persona.ID_PERSONA) ?? null;
            if (beneficiario != null)
            {
                if (beneficiario.ID_ESTADO_PROCESO != A_ESTADO_PROCESO.ObtenerPorCodigo("B06").ID_ESTADO_PROCESO)
                {
                    return(false);
                }
            }
            //if(formulador != null)
            //{
            //    if (formulador.ACTIVO == false)
            //        return false;
            //}
            return(result == 1);
        }
        /// <summary>
        /// Método encargado de almacernar un formulador
        /// </summary>
        /// <param name="formulador">objeto de tipo formulador</param>
        /// <returns>Retorna el Id del formulador que se acaba de ingresar</returns>
        public MV_Exception insertFormulador(Modelos.TB_FORMULADOR formulador, int idUsuario)
        {
            var res = new MV_Exception();

            try
            {
                res = idUsuario == 0
                    ? H_LogErrorEXC.resultToException(_context.SP_TB_FORMULADOR_InsertFormulador(formulador.ID_PERSONA, formulador.GRADO_ACADEMICO, formulador.ANIOS_EXPERIENCIA,
                                                                                                 Convert.ToInt16(formulador.ACTIVO), null).FirstOrDefault())
                    : H_LogErrorEXC.resultToException(_context.SP_TB_FORMULADOR_InsertFormulador(formulador.ID_PERSONA, formulador.GRADO_ACADEMICO, formulador.ANIOS_EXPERIENCIA,
                                                                                                 Convert.ToInt16(formulador.ACTIVO), idUsuario).FirstOrDefault());

                if (res.IDENTITY == null)
                {
                    throw new Exception(res.ERROR_MESSAGE);
                }
            }
            catch (Exception e)
            {
                H_LogErrorEXC.GuardarRegistroLogError(e);
            }
            return(res);
        }