public ServerSidePage GetWithOutAdmins([FromQuery] serverSideParams serverSidePrm)
        {
            var users     = _dbContext.Users.Where(user => !user.IsAdmin);
            var recsTotal = users.Count();

            if (!string.IsNullOrEmpty(serverSidePrm.searchValue))
            {
                users = users.Where(s => s.FirstName.Contains(serverSidePrm.searchValue) ||
                                    s.MiddleName.Contains(serverSidePrm.searchValue) ||
                                    s.LastName.Contains(serverSidePrm.searchValue) ||
                                    s.Telephone.Contains(serverSidePrm.searchValue));
            }
            var recordsFiltered = users.Count();

            users = serverSidePrm.SortingByRules(users);
            var items = users.AsNoTracking().Skip(serverSidePrm.start).Take(serverSidePrm.length).ToArray();

            var result = new ServerSidePage()
            {
                draw            = serverSidePrm.draw,
                recordsTotal    = recsTotal,
                recordsFiltered = recordsFiltered,
                error           = string.Empty,
                data            = items
            };

            return(result);
        }
        private static string PackServerSideInParams(string beginParams, serverSideParams serverSidePrms)
        {
            var strBuilderParams = new StringBuilder()
                                   .Append(beginParams)
                                   .Append(ServerSideParamDraw)
                                   .Append(serverSidePrms.draw)
                                   .Append(ServerSideParamStart)
                                   .Append(serverSidePrms.start)
                                   .Append(ServerSideParamLength)
                                   .Append(serverSidePrms.length)
                                   .Append(ServerSideParamColumnsDatas)
                                   .Append(serverSidePrms.columnsDatas)
                                   .Append(ServerSideParamColumnsOrderable)
                                   .Append(serverSidePrms.columnsOrderable)
                                   .Append(ServerSideParamColumnsSearchable)
                                   .Append(serverSidePrms.columnsSearchable)
                                   .Append(ServerSideParamColumnsSearchRegex)
                                   .Append(serverSidePrms.columnsSearchRegex)
                                   .Append(ServerSideParamSearchValue)
                                   .Append(serverSidePrms.searchValue)
                                   .Append(ServerSideParamOrderColumns)
                                   .Append(serverSidePrms.orderColumns)
                                   .Append(ServerSideParamOrderDirs)
                                   .Append(serverSidePrms.orderDirs)
                                   .Append(ServerSideParamСolumnsSearchValue)
                                   .Append(serverSidePrms.columnsSearchValue)
                                   .Append(ServerSideParamSearchRegex)
                                   .Append(serverSidePrms.searchRegex);

            return(strBuilderParams.ToString());
        }
        public async Task <ServerSidePage> GetAllUsersWithoutAdmins(serverSideParams serverSidePrms)
        {
            try
            {
                HttpResponseMessage response = _client.GetAsync(PackServerSideInParams(ApiUsersWithoutAdmins, serverSidePrms)).Result;

                if (response.IsSuccessStatusCode)
                {
                    var stringResult = await response.Content.ReadAsStringAsync();

                    return(JsonConvert.DeserializeObject <ServerSidePage>(stringResult));
                }

                return(new ServerSidePage()
                {
                    error = $"Error status: {response.StatusCode.ToString()}"
                });
            }
            catch (Exception e)
            {
                return(new ServerSidePage()
                {
                    error = e.Message
                });
            }
        }
        public IActionResult OnGetEveryBody([FromQuery] serverSideParams serverSide)
        {
            var task    = Task.Run(() => _proxyServiceCallingWebApi.GetAllUsers(serverSide));
            var users   = task.Result;
            var jsonObj = new JsonResult(new { users });

            return(jsonObj);
        }
예제 #5
0
        public JsonResult GetNoAdmins([FromServices] IProxyServiceCallingWebApi proxyServiceCallingWeb, [FromQuery] serverSideParams serverSide)
        {
            var task    = Task.Run(() => proxyServiceCallingWeb.GetAllUsersWithoutAdmins(serverSide));
            var users   = task.Result;
            var jsonObj = Json(new { users });

            return(jsonObj);
        }