Exemple #1
0
        public UsuarioLogin LoginPaciente(UsuarioPaciente usuarioPaciente)
        {
            using (InoBD db = new InoBD())
            {
                PacienteAfiliacion paciente = this._gestorDePacientes.ListarPacientePorHcDni(new PacientePorHcDni {
                    NroHistoriaClinica = null,
                    NroDocumento       = usuarioPaciente.NroDocumento,
                    Temporal           = false
                });

                UsuarioLogin usuarioGeneral = null;

                if (paciente != null && paciente.Correo == usuarioPaciente.Correo)
                {
                    string[] NombreCompleto = paciente.Paciente.Split(',');
                    var      Roles          = db.Empleados.Find(usuarioPaciente.IdEmpleado).Roles.Select(x => Mapper.Map <RolGeneral>(x)).ToList();
                    usuarioGeneral = new UsuarioLogin
                    {
                        IdEmpleado      = usuarioPaciente.IdEmpleado,
                        Usuario         = "",
                        Nombres         = NombreCompleto[1].Trim(),
                        ApellidoPaterno = NombreCompleto[0].Split(' ')[0],
                        LoginEstado     = false,
                        Roles           = Roles
                    };
                }
                return(usuarioGeneral);
            }
        }
        public RespuestaDeLogin LoginPaciente(UsuarioPaciente usuarioPaciente)
        {
            RespuestaDeLogin respuestaDeLogin = new RespuestaDeLogin();

            UsuarioLogin respuestaLogin = this._gestorDeUsuarios.LoginPaciente(usuarioPaciente);

            if (respuestaLogin == null)
            {
                respuestaDeLogin.FueExitosa = false;
                respuestaDeLogin.Mensaje    = "Verifique su número de documento y correo electrónico.";
            }
            else
            {
                if (respuestaLogin.IdEmpleado == 0)
                {
                    respuestaDeLogin.FueExitosa = false;
                    respuestaDeLogin.Mensaje    = "Usted no tiene permisos para ingresar a esta aplicación.";
                }
                else
                {
                    if (!respuestaLogin.LoginEstado)
                    {
                        UsuarioLogin usuarioConModulos = _gestorDeUsuarios.ObtenerMenu(respuestaLogin);
                        respuestaDeLogin.FueExitosa = true;
                        respuestaDeLogin.Token      = this._gestorDeToken.GenerarToken(respuestaLogin);
                    }
                    else
                    {
                        respuestaDeLogin.FueExitosa = false;
                        respuestaDeLogin.Mensaje    = "El usuario ya se encuentra logueado en otra máquina.";
                    }
                }
            }
            return(respuestaDeLogin);
        }