示例#1
0
        private static long?InternalGetMoodleUserId
        (
            string cpf,
            Modalidade modalidade,
            GetUserByUsernameClient client = null,
            HttpClient httpClient          = null
        )
        {
            long?moodleUserId = MoodleFromToCache.GetCachedMoodleUser(modalidade.IdModalidade, cpf);

            if (moodleUserId.HasValue)
            {
                return(moodleUserId.Value);
            }

            GetUserByUsernameClient getClient = client;

            if (getClient == null)
            {
                getClient = new GetUserByUsernameClient();
            }

            if (httpClient != null)
            {
                getClient.AddHttpClient(httpClient);
            }

            getClient.AddBaseUrl(modalidade.MoodleUrl)
            .AddServiceUrl(modalidade.MoodleServiceUrl)
            .AddToken(modalidade.MoodleGetInfoServiceToken);

            GetByUsernameRequest request = new GetByUsernameRequest()
            {
                Username = cpf.DesformatarCpf()
            };

            Task <UserResponse> task = getClient.Post(request);

            task.Wait();

            UserResponse response = task.Result;

            if (response?.Id > 0)
            {
                MoodleFromToCache.AddUser(modalidade.IdModalidade, cpf, response.Id);
            }

            return(response?.Id);
        }
示例#2
0
        public override UserResponse VerifyIfExists(AbstractMoodleServiceClient client, string filter)
        {
            GetUserByUsernameClient verifyClient = (GetUserByUsernameClient)client;

            GetByUsernameRequest request = new GetByUsernameRequest()
            {
                Username = filter.DesformatarCpf()
            };

            Task <UserResponse> task = verifyClient.Post(request);

            task.Wait();

            LastUrl = client.LastUrl;
            UserResponse response = task.Result;

            return(response);
        }