示例#1
0
        public async Task <PaginationResponse <T> > GetAllDataAsyncWithParameters(
            int limit, int page, string searchValue = "", string searchFields = "",
            string sortField = "", SortDirectionEnum direction = SortDirectionEnum.Asc)
        {
            var parameters = "?limit=" + limit + "&page=" + page;

            if (!string.IsNullOrEmpty(searchValue))
            {
                parameters += "&searchValue=" + searchValue;
            }
            if (!string.IsNullOrEmpty(searchFields))
            {
                parameters += "&searchFields=" + searchFields;
            }
            if (!string.IsNullOrEmpty(sortField))
            {
                parameters += "&sortField=" + sortField + "=" + direction.ToString().ToLower();
            }

            parameters += "&" + _auth;

            var uri      = new Uri(string.Format(Constants.RestUrl + _type + parameters, string.Empty));
            var response = await _client.GetAsync(uri);

            var content = await response.Content.ReadAsStringAsync();

            switch (response.StatusCode)
            {
            case HttpStatusCode.OK:
                var result = JsonConvert.DeserializeObject <PaginationResponse <T> >(content);
                return(result);

            case HttpStatusCode.BadRequest:
                var r = JsonConvert.DeserializeObject <ErrorResponse>(content);
                if (r.Error == "Unauthorized")
                {
                    throw new UnauthorizedAccessException(r.Error);
                }
                else
                {
                    throw new Exception(r.Error);
                }

            case HttpStatusCode.InternalServerError:
                throw new Exception();

            default:
                throw new Exception();
            }
        }
示例#2
0
 public string DoSort(CmsPage page, string column, SortDirectionEnum sortDirection, int pageNumber, int totalResults, Dictionary <string, object> Parameters)
 {
     if (Parameters != null && Parameters.ContainsKey("dataid"))
     {
         this.dataId   = new Guid(Parameters["dataid"].ToString());
         this.dataType = Parameters["datatype"].ToString();
     }
     else if (Parameters != null && Parameters.Keys.Count > 0)
     {
         //filtermodule
         reloadedFromFilterModule = true;
         this.Parameters          = Parameters;
     }
     return(Publish2(page, pageNumber, totalResults, column + " " + sortDirection.ToString()));
 }