예제 #1
0
        public override Task <Authreply> Authenticate(AuthRequest request, ServerCallContext context)
        {
            Usuario   usuarioRespuesta = new Usuario();
            Authreply respuesta        = new Authreply()
            {
                Response = false,
                Token    = string.Empty
            };

            if (AuthenticationServices.AuthenticateUserCredentials(request.Name, request.Password))
            {
                UVFYSesion.AdministradorDeSesiones.AdministradorDeSesionesClient clienteDeSesiones = new AdministradorDeSesiones.AdministradorDeSesionesClient(ServicioDeSesiones);
                usuarioRespuesta = UsuarioDAO.CargarUsuarioPorCorreo(request.Name);
                TipoDeUsuario   tipoDeUsuario   = UsuarioDAO.ObtenerTipoDeUsuarioPorID(usuarioRespuesta.Id);
                UsuarioDeSesion usuarioDeSesion = new UsuarioDeSesion()
                {
                    IdUsuario = usuarioRespuesta.Id
                };
                SesionCreada sesionCreada = clienteDeSesiones.NuevaSesion(usuarioDeSesion);
                respuesta = new Authreply()
                {
                    Response      = true,
                    Token         = sesionCreada.IdSesion,
                    IdUsuario     = usuarioRespuesta.Id,
                    TipoDeUsuario = (TipoDeUsuarioRespuesta)(int)tipoDeUsuario
                };
            }
            return(Task.FromResult(respuesta));
        }