示例#1
0
        public T SearchWithCriteria(string index, ICriteria criteria, IResultFilter filter)
        {
            IHttpClientRequest      request  = CreateRequest(index, "POST", criteria.RawQuery, filter);
            IHttpClientResponse <T> response = _client.Execute <T>(request);

            return(response.ResponseData);
        }
示例#2
0
        public async Task <CounselDto[]> GetAvailableCounselsBySubject(SubjectDto subject)
        {
            string endpoint = endpointResolver.ResolveUrl("GetListProfesorMateriaApp", "AlumnoMateria") + "?idMateria=" + subject.SubjectId;
            IHttpClientResponse clientResponse = await httpClient.Get(endpoint);

            return(clientResponse.GetContentAsObject <CounselDto[]>());
        }
示例#3
0
        public async Task <List <SubjectDto> > GetSubjects()
        {
            string endpoint = endpointResolver.ResolveUrl("GetListMateriaApps", "Materia");
            IHttpClientResponse clientResponse = await httpClient.Get(endpoint);

            return(clientResponse.GetContentAsObject <List <SubjectDto> >());
        }
示例#4
0
        public virtual async Task <T> SearchWithCriteriaAsync(string index, ICriteria criteria, IResultFilter filter, CancellationToken cancellationToken = default(CancellationToken))
        {
            IHttpClientRequest      request  = CreateRequest(index, "POST", criteria.RawQuery, filter);
            IHttpClientResponse <T> response = await _client.ExecuteAsync <T>(request, cancellationToken).ConfigureAwait(false);

            return(response.ResponseData);
        }
示例#5
0
        public async Task <CounselDto> RegisterCounsel(CounselDto counsel)
        {
            string endpoint = endpointResolver.ResolveUrl("InsProfesorMateriaApp", "ProfesorMateria");
            IHttpClientResponse clientResponse = await httpClient.Post(endpoint, counsel);

            return(clientResponse.GetContentAsObject <CounselDto>());
        }
示例#6
0
        public async Task <CounselRequestDto> AcceptCounselRequest(CounselRequestDto counselRequest)
        {
            string endpoint = endpointResolver.ResolveUrl("SolicitarProfesorMateriaApp", "ProfesorMateria")
                              + "?idProfesor=" + counselRequest.TeacherId + "&idProfesorMateria=" + counselRequest.TeacherSubjectId;

            IHttpClientResponse clientResponse = await httpClient.Post(endpoint, new { });

            return(clientResponse.GetContentAsObject <CounselRequestDto>());
        }
示例#7
0
        public async Task <CounselRequestDto[]> GetCounselRequestsForStudent(UserDto studentUser)
        {
            string endpoint = endpointResolver.ResolveUrl("GetListAlumnoMateriaApps", "AlumnoMateria")
                              + "?idAlumno=" + studentUser.UserId;

            IHttpClientResponse clientResponse = await httpClient.Get(endpoint);

            return(clientResponse.GetContentAsObject <CounselRequestDto[]>());
        }
示例#8
0
        public async Task <CounselRequestDto[]> GetCounselRequestsForTeacher(UserDto teacherUser, bool acceptedRequests)
        {
            string endpoint = endpointResolver.ResolveUrl("GetListProfesorMateriaApps", "ProfesorMateria")
                              + "?idProfesor=" + teacherUser.UserId + "&aceptada=" + (acceptedRequests ? "true" : "false");

            IHttpClientResponse clientResponse = await httpClient.Get(endpoint);

            return(clientResponse.GetContentAsObject <CounselRequestDto[]>());
        }
示例#9
0
        public async Task <StudentCounselDto> SignupToCounsel(UserDto student, CounselDto counsel)
        {
            string endpoint = endpointResolver.ResolveUrl("InsProfesorMateriaApp", "AlumnoMateria")
                              + "?idAlumno=" + student.UserId + "&idProfesorMateria=" + counsel.TeacherSubjectId;

            IHttpClientResponse clientResponse = await httpClient.Post(endpoint, new { });

            return(clientResponse.GetContentAsObject <StudentCounselDto>());
        }
示例#10
0
        public async Task <UserDto> GetUserData()
        {
            ITokenProvider tokenProvider = httpClient.GetTokenProvider();

            string endpoint = endpointResolver.ResolveUrl("GetDataPerson", "Usuario") + "?token=" + tokenProvider.GetToken().AccessValue;
            IHttpClientResponse clientResponse = await httpClient.Get(endpoint);

            return(clientResponse.GetContentAsObject <UserDto>());
        }
示例#11
0
        public async Task PostAuthenticate_WhenValidCredentials_ReturnsToken()
        {
            RestClient client = new RestClient(mockTokenProvider.Object);

            IHttpClientResponse response = await client.Post("http://online.cuprum.com/webapixamarin/Api/Authenticate/Authenticate", new { ClaveAcceso = "arodriguez", Contrasena = "admin123$" });

            Assert.AreEqual("\"Authorized\"", response.GetContent());
            Assert.IsNotNull(response.GetHeader("token"));
        }
示例#12
0
        public virtual T SearchById(string index, string id)
        {
            IHttpClientRequest request = CreateRequest(index, "GET", null, null);

            request.Path = $"/v1/search/{index}/{id}";
            IHttpClientResponse <T> response = _client.Execute <T>(request);

            return(response.ResponseData);
        }
示例#13
0
        public async Task GetListMateriaApps_WhenValidToken_ReturnsData()
        {
            RestClient client = new RestClient(mockTokenProvider.Object);

            IHttpClientResponse response = await client.Get("http://online.cuprum.com/webapixamarin/api/Materia/GetListMateriaApps");

            Assert.IsTrue(response.IsSuccessfulResponse());
            Assert.IsNotNull(response.GetContent());
        }
示例#14
0
        public async Task <Token> Authenticate(string user, string password)
        {
            string endpoint = endpointResolver.ResolveUrl("Authenticate", "Authenticate");
            IHttpClientResponse response = await httpClient.Post(endpoint, new { ClaveAcceso = user, Contrasena = password }, false);

            validateResponse(endpoint, response);

            return(createTokenFromResponse(response));
        }
示例#15
0
        private Token createTokenFromResponse(IHttpClientResponse response)
        {
            string accessValue   = response.GetHeader("token");
            int    expirySeconds = int.Parse(response.GetHeader("tokenexpiry"));

            return(new Token {
                AccessValue = accessValue, ExpirySeconds = expirySeconds
            });
        }
示例#16
0
        public virtual async Task <T> SearchByIdAsync(string index, string id, CancellationToken cancellationToken = default(CancellationToken))
        {
            IHttpClientRequest request = CreateRequest(index, "GET", null, null);

            request.Path = $"/v1/search/{index}/{id}";
            IHttpClientResponse <T> response = await _client.ExecuteAsync <T>(request, cancellationToken);

            return(response.ResponseData);
        }
示例#17
0
        public async Task GetListMateriaApps_WhenNoTokenProvided_ReturnsUnsuccessfulResponse()
        {
            Mock <ITokenProvider> mockTokenProvider = new Mock <ITokenProvider>();

            mockTokenProvider.Setup(provider => provider.GetToken()).Returns(() => null);

            RestClient client = new RestClient(mockTokenProvider.Object);

            IHttpClientResponse response = await client.Get("http://online.cuprum.com/webapixamarin/api/Materia/GetListMateriaApps");

            Assert.IsFalse(response.IsSuccessfulResponse());
        }
示例#18
0
        private void validateResponse(string endpoint, IHttpClientResponse response)
        {
            if (!response.IsSuccessfulResponse())
            {
                if (response.GetContent() == "Not User Found")
                {
                    throw new InvalidCredentialsException();
                }

                throw new RequestFailedException(endpoint);
            }
        }
 public GraphQLClientException(IHttpClientResponse <IGraphQLResponse> response)
 {
     Response = response;
 }
 public GraphQLClientException(IHttpClientResponse <IGraphQLResponse> response, string msg, Exception ex) : base(msg, ex)
 {
     Response = response;
 }
 public GraphQLClientException(IHttpClientResponse <IGraphQLResponse> response, string msg, Exception ex, int statusCode) : base(msg, ex)
 {
     StatusCode = statusCode;
     Response   = response;
 }