コード例 #1
0
        public async Task <ActionResult> GetLibraryUsers(LibraryUserViewModel param)
        {
            int    sortDirection    = 0;
            string strSortDirection = Request.Query["sSortDir_0"]; // asc or desc

            if (strSortDirection == "asc")
            {
                sortDirection = 0;
            }
            else
            {
                sortDirection = 1;
            }

            int       sortColumnIndex  = Convert.ToInt32(Request.Query["iSortCol_0"]);
            int       pageNumber       = (param.iDisplayStart / param.iDisplayLength) + 1;
            PagedBase filterParameters = new PagedBase()
            {
                SearchText = param.sSearch,
                PageNum    = pageNumber,
                PageSize   = param.iDisplayLength,
                OrderBy    = sortColumnIndex,
                SortOrder  = sortDirection
            };

            LibraryUserPagedListResponse response = await _libraryUserClient.GetLibraryUsersPaged(filterParameters);

            if (response.ResponseCode == HttpStatusCode.Unauthorized)
            {
                //return new HttpStatusCodeResult(HttpStatusCode.Unauthorized, Url.Action("Logout", "UserAccount", new { area = "" }));
                return(new StatusCodeResult((int)HttpStatusCode.Unauthorized));
            }

            IEnumerable <string[]> result = new List <string[]>();
            int TotalDisplayRecords       = 0;

            if (response.StatusIsSuccessful)
            {
                if (response.Data.Results != null)
                {
                    result = from c in response.Data.Results
                             select new[] {
                        c.LibraryUserCode,
                        c.LibraryUserName,
                        c.Address,
                        c.PhoneNumber,
                        c.MobilePhoneNumber,
                        c.Email,
                        c.ModifiedBy,
                        c.DateModified.ToString()
                    };

                    TotalDisplayRecords = response.Data.Results.Count();
                }
            }
#pragma warning disable IDE0037
            return(Json(new
            {
                sEcho = param.sEcho,
                iTotalRecords = response.Data.SearchResultCount,
                iTotalDisplayRecords = response.Data.SearchResultCount,
                aaData = result
            }));

#pragma warning restore IDE0037
        }