Exemplo n.º 1
0
    public async Task <IActionResult> GetEmployeesAsync([FromQuery] GetEmployeesInput input)
    {
        var request = new PaginateEmployeesRequest
        {
            PageIndex    = input.PageIndex,
            PageSize     = input.PageSize,
            DepartmentId = input.DepartmentId,
        };
        var response = await _organizationClient.PaginateEmployeesAsync(request);

        var result = new PaginationResult <EmployeeSummary>
        {
            PageIndex = response.PageIndex,
            PageSize  = response.PageSize,
            ItemCount = response.ItemCount,
            Items     = response.Items
                        .Select(x => new EmployeeSummary
            {
                Id           = x.Id,
                Name         = x.Name,
                DisplayName  = x.DisplayName,
                DepartmentId = x.DepartmentId,
                JobId        = x.JobId,
            })
                        .ToList(),
        };

        return(Ok(result));
    }
            private async Task <(HttpResponseMessage, bool)> GetResponseWithDelay(CancellationToken cancellationToken)
            {
                // Adding a short delay to simulate a long running operation, e.g. a web request
                await Task.Delay(10);

                var httpResponse   = new HttpResponseMessage(System.Net.HttpStatusCode.OK);
                var memStream      = new MemoryStream();
                var usersPaginated = new PaginationResult <User>
                {
                    Page       = 1,
                    PageSize   = 10,
                    TotalCount = 1,
                    Data       = new List <User>
                    {
                        new User
                        {
                            Email    = "*****@*****.**",
                            UserName = "******"
                        }
                    }
                };
                var usersJson = JsonConvert.SerializeObject(usersPaginated);

                using (var sw = new StreamWriter(memStream, Encoding.UTF8, 2048, true))
                {
                    await sw.WriteAsync(usersJson);
                }

                memStream.Position   = 0;
                httpResponse.Content = new StreamContent(memStream);

                return(httpResponse, cancellationToken.IsCancellationRequested);
            }
Exemplo n.º 3
0
        public async Task <IActionResult> GetMostRecentUsers(int skip = 0, int limit = 10)
        {
            List <User> users;
            var         rv = new PaginationResult <User>();

            try {
                var userWorker = this._users.GetMostRecentAsync(skip, limit);
                var query      = await userWorker.AwaitBackground();

                users = query.Values.Select(user => new User {
                    Email        = user.Email,
                    FirstName    = user.FirstName,
                    LastName     = user.LastName,
                    PhoneNumber  = user.PhoneNumber,
                    Id           = user.Id,
                    RegisteredAt = user.RegisteredAt.ToUniversalTime(),
                    Roles        = this._users.GetRoles(user)
                }).ToList();

                rv.Values = users;
                rv.Count  = query.Count;
            } catch (Exception ex) {
                this.m_logger.LogInformation(ex, "Unable to fetch recent users!");

                return(this.BadRequest(new Status {
                    Message = "Unable to fetch recent users!",
                    ErrorCode = ReplyCode.UnknownError
                }));
            }


            return(this.Ok(rv));
        }
        public PaginationResult <PaymentRecord> Select(int pageIndex, int pageSize, string moneySourceId, string type, DateTime startDate, DateTime endDate)
        {
            var param = new[]
            {
                new SqlParameter("@pageIndex", pageIndex),
                new SqlParameter("@pageSize", pageSize),
                new SqlParameter("@moneySourceId", moneySourceId),
                new SqlParameter("@type", type),
                new SqlParameter("@startDate", startDate),
                new SqlParameter("@endDate", endDate),
            };

            return(SqlHelper.ExecuteReader(SP_PAYMENT_SELECT, param, reader =>
            {
                var result = new PaginationResult <PaymentRecord>
                {
                    Data = Read(reader)
                };

                reader.NextResult();
                reader.Read();
                result.Total = Convert.ToInt32(reader["Total"]);
                return result;
            }));
        }
Exemplo n.º 5
0
        public async Task <IActionResult> Find([FromBody] SearchQuery query, [FromQuery] int skip = 0, [FromQuery] int limit = 0)
        {
            PaginationResult <User> rv;
            var result = await this._users.FindByEmailAsync(query.Query, skip, limit).AwaitBackground();

            var users = result.Select(user => {
                var roles = this._users.GetRoles(user);

                return(new User {
                    Email = user.Email,
                    FirstName = user.FirstName,
                    LastName = user.LastName,
                    PhoneNumber = user.PhoneNumber,
                    Id = user.Id,
                    RegisteredAt = user.RegisteredAt.ToUniversalTime(),
                    Roles = roles
                });
            }).ToList();

            rv = new PaginationResult <User> {
                Count  = await this._users.CountFindAsync(query.Query).AwaitBackground(),
                Values = users
            };

            return(new OkObjectResult(rv));
        }
        public virtual IHttpActionResult GetView(GenericDataFormat data)
        {
            var     queryItems = GetWithOptions(data);
            dynamic pageItems  = null;
            string  typ        = typeof(T).FullName;

            if (queryItems is List <Object> )
            {
                pageItems = ((List <Object>)queryItems);
            }
            else
            {
                var query = (IQueryable <T>)queryItems;
                pageItems = query.ToList <T>();
            }

            //remove paging
            data.Paging = null;
            queryItems  = GetWithOptions(data);
            int TotalItemsCount = 0;

            if (queryItems is List <Object> )
            {
                TotalItemsCount = ((List <Object>)queryItems).Count();
                var ObjectsResult = new PaginationResult <Object>
                {
                    TotalItemsCount = TotalItemsCount,
                    PageItems       = pageItems
                };
                return(Content(HttpStatusCode.OK, ObjectsResult));
            }
            else
            {
                var query = (IQueryable <T>)queryItems;
                TotalItemsCount = query.Count();
            }

            //var serializer = new JavaScriptSerializer { MaxJsonLength = Int32.MaxValue };
            //string s = serializer.Serialize(new PaginationResult<T>
            //{
            //    TotalItemsCount = TotalItemsCount,
            //    PageItems = pageItems
            //});

            var result = new PaginationResult <T>
            {
                TotalItemsCount = TotalItemsCount,
                PageItems       = pageItems
            };

            //var resp = new HttpResponseMessage()
            //{
            //    Content =
            //            new StringContent(serializer.Serialize(result), System.Text.Encoding.UTF8, "application/json")

            //};

            return(Content(HttpStatusCode.OK, result));
            //return ResponseMessage(resp);
        }
Exemplo n.º 7
0
        /// <summary>
        /// EF单实体查询封装
        /// </summary>
        /// <typeparam name="T">实体类型</typeparam>
        /// <param name="Query">IQueryable对象</param>
        /// <param name="gridParam">过滤条件</param>
        /// <returns>查询结果</returns>
        public static PaginationResult <T> PageQuery <T>(this IQueryable <T> Query, QueryCondition gridParam)
        {
            //查询条件
            EFFilter filter = GetParameterSQL <T>(gridParam);
            var      query  = Query.Where(filter.Filter, filter.ListArgs.ToArray());
            //查询结果
            PaginationResult <T> result = new PaginationResult <T>();

            if (gridParam.IsPagination)
            {
                int PageSize  = gridParam.PageSize;
                int PageIndex = gridParam.PageIndex < 0 ? 0 : gridParam.PageIndex;
                //获取排序信息
                string sort = GetSort(gridParam, typeof(T).FullName);
                result.Data = query.OrderBy(sort).Skip(PageIndex * PageSize).Take(PageSize).ToList <T>();
                if (gridParam.IsCalcTotal)
                {
                    result.Total     = query.Count();
                    result.TotalPage = Convert.ToInt32(Math.Ceiling(result.Total * 1.0 / PageSize));
                }
                else
                {
                    result.Total = result.Data.Count();
                }
            }
            else
            {
                result.Data  = query.ToList();
                result.Total = result.Data.Count();
            }
            return(result);
        }
Exemplo n.º 8
0
        public PaginationResult <Category> RetrieveCategoryWithPagination(int page, int itemPerPage, string filter)
        {
            PaginationResult <Category> result = new PaginationResult <Category>();

            if (string.IsNullOrEmpty(filter))
            {
                result.Results = context.Set <Category>().OrderBy(x => x.CategoryName)
                                 .Skip(page).Take(itemPerPage).ToList();
                if (result.Results.Count > 0)
                {
                    result.TotalRecords = context.Set <Category>().Count();
                }
            }
            else
            {
                result.Results = context.Set <Category>()
                                 .Where(x => x.CategoryName.ToLower().Contains(filter.ToLower()))
                                 .OrderBy(x => x.CategoryName)
                                 .Skip(page).Take(itemPerPage).ToList();
                if (result.Results.Count > 0)
                {
                    result.TotalRecords = context.Set <Category>().Where(x => x.CategoryName.ToLower().Contains(filter.ToLower()))
                                          .Count();
                }
            }

            return(result);
        }
Exemplo n.º 9
0
        public async Task <IActionResult> GetPermissionsAsync([FromQuery] PaginationOptions input)
        {
            var request = new PaginatePermissionsRequest
            {
                PageIndex = input.PageIndex,
                PageSize  = input.PageSize
            };
            var response = await _authorizationClient.PaginatePermissionsAsync(request);

            var result = new PaginationResult <PermissionSummary>
            {
                PageIndex = response.PageIndex,
                PageSize  = response.PageSize,
                ItemCount = response.ItemCount,
                Items     = response.Items
                            .Select(x => new PermissionSummary
                {
                    Id        = x.Id,
                    Code      = x.Code,
                    Name      = x.Name,
                    IsEnabled = x.IsEnabled,
                })
                            .ToList(),
            };

            return(Ok(result));
        }
Exemplo n.º 10
0
        public PaginationResult List(string param)
        {
            dynamic data_param = JObject.Parse(param);
            int     master_id  = data_param.master_id;

            if (data_param.master_id == null)
            {
                data_param.master_id = "";
            }
            if (data_param.resource_id == null)
            {
                data_param.resource_id = "";
            }

            int resource_id = data_param.resource_id == "" ? 0 : data_param.resource_id;

            List <ParamSql>       listParam   = new List <ParamSql>();
            PaginationResult      pages       = new PaginationResult();
            List <UserPermission> permissions = new List <UserPermission>();

            if (master_id != 0)
            {
                list += "and per_user_id = @per_user_id ";
                listParam.Add(new ParamSql("@per_user_id", master_id.ToString()));
            }
            if (resource_id != 0)
            {
                list += "and per_resource_id = @per_resource_id ";
                listParam.Add(new ParamSql("@per_resource_id", resource_id.ToString()));
            }

            list += " order by res_name";

            cmd = new NpgsqlCommand(list, conn);
            foreach (ParamSql p in listParam)
            {
                cmd.Parameters.AddWithValue(p.name, Convert.ToInt32(p.value));
            }

            reader = cmd.ExecuteReader();
            while (reader.Read())
            {
                UserPermission permission = new UserPermission();
                permission.per_id            = (int)reader["per_id"];
                permission.per_resource_id   = (int)reader["per_resource_id"];
                permission.per_create        = (bool)reader["per_create"];
                permission.per_read          = (bool)reader["per_read"];
                permission.per_update        = (bool)reader["per_update"];
                permission.per_delete        = (bool)reader["per_delete"];
                permission.resource_key_word = reader["res_key_word"].ToString();
                permission.resource_name     = reader["res_name"].ToString();

                permissions.Add(permission);
            }
            reader.Close();
            pages.resultStatus = "success";
            pages.data         = new List <object>(permissions);

            return(pages);
        }
Exemplo n.º 11
0
        /// <summary>
        /// 根据首字母获取列表
        /// </summary>
        /// <param name="json"></param>
        /// <returns></returns>
        public JObject GetGameListByLetter(int type, string letter, Pagination page)
        {
            using (var db = new RepositoryBase())
            {
                Pagination outPage = new Pagination();
                Expression <Func <Game, bool> > expression = PredicateExtensions.True <Game>();
                PaginationResult <List <Game> > ResultPage = new PaginationResult <List <Game> >();
                JObject ret = new JObject();

                expression = expression.And(c => c.Platform == type);
                if (!string.IsNullOrEmpty(letter))
                {
                    expression = expression.And(c => c.Letter == letter);
                }

                ResultPage.datas      = db.FindList(page, out outPage, expression);
                ResultPage.pagination = outPage;
                if (ResultPage.datas.Count > 0)
                {
                    ret.Add(ResultInfo.Result, true);
                    ret.Add(ResultInfo.Content, JToken.FromObject(ResultPage));
                }
                return(ret);
            }
        }
Exemplo n.º 12
0
        public async Task <List <TModel> > GetAllAsync <TModel>(string cursor = null, CancellationToken ct = default(CancellationToken)) where TModel : ModelBase
        {
            var endpoint = _endpointResolver.WithSearchAfter <TModel>(100, cursor);

            _logger.Debug($"Getting multiple resource '{typeof(TModel).Name}' from URL '{endpoint}'.");
            var response = await GetAsync(endpoint, ct);

            if (!response.IsSuccessStatusCode)
            {
                return(new List <TModel>());
            }

            PaginationResult <TModel> paginationResult = await response.Content.ReadAsJsonAsync <PaginationResult <TModel> >();

            var items = paginationResult.GetItems();

            var nextCursor = paginationResult.Links.GetCursor();

            if (nextCursor != null)
            {
                var nextItems = await GetAllAsync <TModel>(nextCursor, ct);

                items.AddRange(nextItems);
            }

            return(items);
        }
Exemplo n.º 13
0
        public async Task <PagedServiceResult <LeaveDto> > GetAll(int page, int perPage)
        {
            var leaves = _context.Leaves;

            try
            {
                var pageOfLeaves = await _paginator
                                   .BuildPageResult(leaves, page, perPage, b => b.LeaveId)
                                   .ToListAsync();

                var paginatedLeaves = _mapper.Map <List <LeaveDto> >(pageOfLeaves);

                var paginationResult = new PaginationResult <LeaveDto>
                {
                    Results    = paginatedLeaves,
                    PerPage    = perPage,
                    PageNumber = page
                };

                return(new PagedServiceResult <LeaveDto>
                {
                    Data = paginationResult,
                    Error = null
                });
            }
            catch (Exception ex)
            {
                return(HandleDatabaseCollectionError <LeaveDto>(ex));
            }
        }
Exemplo n.º 14
0
        public SearchListResultModel ListPagination(SearchListResultModel model, int page, int pageSize)
        {
            int startRow = 0;
            PaginationResult paginationResult = null;

            if (pageSize > 0)
            {
                //分頁
                startRow         = (page - 1) * pageSize;
                paginationResult = new PaginationResult()
                {
                    CurrentPage = page,
                    DataCount   = model.Data.Count(),
                    PageSize    = pageSize,
                    FirstPage   = 1,
                    LastPage    = model.Data.Count() == 0 ? 1 : Convert.ToInt32(Math.Ceiling((decimal)model.Data.Count() / pageSize))
                };
                //若搜尋頁數超過最大頁數,則強制變為搜索最大頁數
                if (page > paginationResult.LastPage)
                {
                    paginationResult.CurrentPage = paginationResult.LastPage;
                    startRow = (paginationResult.CurrentPage - 1) * pageSize;
                }
            }
            model.Data       = model.Data.Skip(startRow).Take(pageSize).ToList();
            model.Pagination = paginationResult;
            return(model);
        }
        public async Task ExecutePaginationAsync_ShouldReturnRowsAsExpected_WhenAllSettingsAreUsed()
        {
            // Arrange
            const int pageSize   = 25;
            const int pageNumber = 2;

            // Act
            PaginationResult result = await SUT.BuildCommand()
                                      .ForPagination()
                                      .Select("[SampleTableID]")
                                      .From("[dbo].[SampleTable]")
                                      .Where("[SampleTableID] < 100")
                                      .OrderBy("1")
                                      .PageSize(pageSize)
                                      .PageNumber(pageNumber)
                                      .ExecuteAsync(new CancellationToken());

            // Assert
            result.ShouldNotBeNull();
            result.HasData.ShouldBeTrue();
            result.TotalCount.ShouldBeGreaterThan(0);
            result.DataTable.Columns.Count.ShouldBe(1);
            result.DataTable.Rows.Count.ShouldBe(pageSize);
            result.DataTable.Rows[0][0].ShouldNotBeNull();
            Convert.ToInt32(result.DataTable.Rows[0][0]).ShouldBe(pageSize + 1);
            Convert.ToInt32(result.DataTable.Rows[pageSize - 1][0]).ShouldBe(pageSize * pageNumber);

            // Print
            WriteLine("Total Count: {0}", result.TotalCount);
            WriteLine(result.DataTable);
        }
Exemplo n.º 16
0
        public IActionResult Get(string name, int page = 1,
                                 int pageSize          = 10, string sortBy = "id",
                                 string sortDirection  = "asc")
        {
            List <SearchCriteria> criterias = new List <SearchCriteria>();

            if (!string.IsNullOrEmpty(name))
            {
                criterias.Add(new SearchCriteria
                {
                    Field     = "Name",
                    Value     = name,
                    Operation = WhereOperation.Contains
                });
            }

            var entities = _repository.GetAll(criterias, page, pageSize, sortBy, sortDirection).ToList();

            var pagedRecord = new PaginationResult
            {
                Content      = entities,
                TotalRecords = _repository.CountGetAll(criterias, page, pageSize),
                CurrentPage  = page,
                PageSize     = pageSize
            };

            return(Ok(pagedRecord));
        }
Exemplo n.º 17
0
        public IActionResult cliente(string identificacion, int perPage, int page)
        {
            PaginationResult <IEnumerable <ClienteViewModel> > clientes = new PaginationResult <IEnumerable <ClienteViewModel> >();
            var query = db.Cliente.Include(c => c.TipoCliente).Select(c => new ClienteViewModel
            {
                Id             = c.Id,
                NombreCompleto = c.Nombre + " " + c.Apellido,
                TipoCliente    = c.TipoCliente.Tipocliente,
                TipoClienteId  = c.TipoCliente.Id,
                Identificacion = c.Identificacion
            });

            if (char.IsDigit(identificacion[0]))
            {
                query = query.Where(c => c.Identificacion.ToLower().StartsWith(identificacion.ToLower()));
            }
            else
            {
                query = query.Where(c => c.NombreCompleto.ToLower().Contains(identificacion.ToLower()));
            }


            clientes.Count  = query.Count();
            clientes.Result = query.Skip((page - 1) * perPage).Take(perPage).ToArray();
            return(Json(clientes, confi));
        }
Exemplo n.º 18
0
        public PaginationResult <Domain.Models.RoleRights> RetrieveRoleRightsWithPagination(int page, int itemsPerPage, string filter)
        {
            PaginationResult <RoleRights> result = new PaginationResult <RoleRights>();

            if (string.IsNullOrEmpty(filter))
            {
                result.Results = context.Set <RoleRights>().OrderBy(x => x.RightID).Skip(page).Take(itemsPerPage).ToList();

                if (result.Results.Count > 0)
                {
                    result.TotalRecords = context.Set <RoleRights>().Count();
                }
            }
            else
            {
                result.Results = context.Set <RoleRights>()
                                 //.Where(x => x.RightID.Contains(filter.ToLower()))
                                 .OrderBy(x => x.RightID)
                                 .Skip(page)
                                 .Take(itemsPerPage).ToList();

                if (result.Results.Count > 0)
                {
                    result.TotalRecords = context.Set <Rights>()
                                          //.Where(x => x.RightID.ToLower().Contains(filter.ToLower()))
                                          .Count();
                }
            }

            return(result);
        }
Exemplo n.º 19
0
        public PartialViewResult _CancelledByCustomerList(ReservationSC reservationSC, int?page = 1, int?pageSize = 10)
        {
            var Model = new PaginationResult <ReservationVM>();

            if (page.GetValueOrDefault() == 0)
            {
                page = 1;
            }
            if (pageSize.GetValueOrDefault() == 0)
            {
                pageSize = 20;
            }
            reservationSC.ReservationStatusId = (int)SixtCancellationStatusEnum.CancelledByCustomer;
            if (reservationSC.ActionStepId == 5) //assign to me
            {
                reservationSC.AssignedToId = LoggedUserId;
            }
            try
            {
                var result = unitOfWork.VReservationListBL.GetAllReservations(reservationSC, page, pageSize);

                Model.Page     = result.Page;
                Model.PageSize = result.PageSize;
                Model.Total    = result.Total;
                Model.Items    = result.Items.Select(r => new ReservationVM(r)).ToList();


                return(PartialView(Model));
            }
            catch (Exception e)
            {
                return(PartialView(null));
            }
        }
Exemplo n.º 20
0
    public async Task <PaginationResult <UserSummary> > GetUsersAsync(UserOptions options)
    {
        var itemCount = await _userRepository.GetCountAsync();

        var result = new PaginationResult <UserSummary>(options, itemCount);

        if (itemCount == 0)
        {
            return(result);
        }

        var roles = await _userRepository.GetUsersAsync(result.Offset, result.Limit);

        result.Items = roles
                       .Select(x => new UserSummary
        {
            Id          = x.Id,
            UserName    = x.UserName,
            Name        = x.Name,
            DisplayName = x.DisplayName,
            IsEnabled   = x.IsEnabled,
        })
                       .ToList();

        return(result);
    }
        public PaginationResult List(string param, int user_id, string action)
        {
            connection = db.GetCon();
            connection.Open();

            PaginationResult       objResult     = new PaginationResult();
            UserPermissionBusiness bus           = new UserPermissionBusiness(connection);
            List <string>          messages_list = new List <string>();
            UserPermissionDao      dao           = new UserPermissionDao(connection, null);

            try
            {
                messages_list = bus.Validate(null, user_id, action);
                if (messages_list.Count > 0)
                {
                    objResult.resultStatus   = "error";
                    objResult.resultMessages = messages_list;
                    connection.Close();
                    return(objResult);
                }
                objResult = dao.List(param);
            }
            finally
            {
                connection.Close();
            }
            return(objResult);
        }
Exemplo n.º 22
0
        public PaginationResult <Employee> RetrieveEmployeeWithPagination(int page, int itemsPerPage, string filter)
        {
            PaginationResult <Employee> result = new PaginationResult <Employee>();

            if (string.IsNullOrEmpty(filter))
            {
                result.Results = context.Set <Employee>().OrderBy(x => x.LastName).Skip(page).Take(itemsPerPage).ToList();

                if (result.Results.Count > 0)
                {
                    result.TotalRecords = context.Set <Employee>().Count();
                }
            }
            else
            {
                result.Results = context.Set <Employee>()
                                 .Where(x => x.LastName.ToLower().Contains(filter.ToLower()))
                                 .OrderBy(x => x.LastName)
                                 .Skip(page)
                                 .Take(itemsPerPage).ToList();

                if (result.Results.Count > 0)
                {
                    result.TotalRecords = context.Set <Employee>()
                                          .Where(x => x.FirstName.ToLower().Contains(filter.ToLower()) || x.LastName.ToLower().Contains(filter.ToLower()) ||
                                                 x.FullName.ToLower().Contains(filter.ToLower())).Count();
                }
            }

            return(result);
        }
Exemplo n.º 23
0
        public async Task <List <TModel> > FilterAndGetAllAsync <TModel>(string queryString, string cursor = null, CancellationToken ct = default(CancellationToken)) where TModel : ModelBase
        {
            var endpoint = _endpointResolver.WithSearchAfter <TModel>(100, cursor);

            _logger.Debug($"Filtering resource '{typeof(TModel).Name}' from URL '{endpoint}' with query '{queryString}'.");
            var response = await GetAsync($"{endpoint}{queryString}", ct);

            if (!response.IsSuccessStatusCode)
            {
                throw new HttpRequestException($"Error while executing GET reques: {endpoint}{queryString}");
            }

            PaginationResult <TModel> paginationResult = await response.Content.ReadAsJsonAsync <PaginationResult <TModel> >();

            paginationResult.Code = response.StatusCode;

            List <TModel> items = paginationResult.GetItems();

            var nextCursor = paginationResult.Links.GetCursor();

            if (nextCursor != null)
            {
                var nextItems = await FilterAndGetAllAsync <TModel>(queryString, nextCursor, ct);

                items.AddRange(nextItems);
            }

            return(items);
        }
Exemplo n.º 24
0
        public PaginationResult <TEntity> GetAllPaging(Expression <Func <TEntity, bool> > predicate, Func <TEntity, bool> orderBy, SortDirection sortDirection, int pageIndex, int pageSize)
        {
            var query = _repository.GetAll().Where(predicate);

            int totalRow = query.Count();

            if (sortDirection == SortDirection.Ascending)
            {
                query = query.OrderBy(orderBy).Skip((pageIndex - 1) * pageSize).Take(pageSize).AsQueryable();
            }
            else
            {
                query = query.OrderByDescending(orderBy).Skip((pageIndex - 1) * pageSize).Take(pageSize).AsQueryable();
            }

            var data          = query.ToList();
            var paginationSet = new PaginationResult <TEntity>()
            {
                Results     = data,
                CurrentPage = pageIndex,
                RowCount    = totalRow,
                PageSize    = pageSize
            };

            return(paginationSet);
        }
Exemplo n.º 25
0
        public JObject GetListButtons(JObject json, DateTime?StartTime, DateTime?EndTime)
        {
            json = json ?? new JObject();
            Pagination page = json["Pagination"] == null?Pagination.GetDefaultPagination("ButtonText") : JsonConvert.DeserializeObject <Pagination>(json["Pagination"].ToString());

            Expression <Func <Admin_Sys_Buttons, bool> > expression = PredicateExtensions.True <Admin_Sys_Buttons>();
            PaginationResult <List <Admin_Sys_Buttons> > ResultPage = new PaginationResult <List <Admin_Sys_Buttons> >();
            JObject result   = new JObject();
            var     roleList = repository.FindList(page ?? Pagination.GetDefaultPagination("ButtonText"), out page, expression);

            if (!string.IsNullOrEmpty(json["Param"]["ButtonName"].ToString()))
            {
                roleList = roleList.FindAll(a => a.ButtonText == json["Param"]["ButtonName"].ToString());
            }
            ResultPage.datas = roleList.ToList();
            if (page != null)
            {
                ResultPage.pagination = page;
            }
            if (ResultPage.datas.Count > 0)
            {
                result.Add(ResultInfo.Result, JToken.FromObject(true));
                result.Add(ResultInfo.Content, JToken.FromObject(ResultPage));
            }
            else
            {
                result.Add(ResultInfo.Result, JToken.FromObject(false));
                result.Add(ResultInfo.Content, JToken.FromObject("没有找到匹配数据"));
            }
            return(result);
        }
Exemplo n.º 26
0
        private async void LadeDatenAsync()
        {
            paging = await Task.Run(() => DB.SqlStatements.HoleHistorieSeite());

            _dict = paging.List.ToDictionary(row => row.Log_ID, row => row);
            UpdateDataGridView();
        }
Exemplo n.º 27
0
        public async Task <PaginationResult <Reservation> > GetReservationsAsync(QueryObject queryObject)
        {
            var query = _reservationDbContext.Reservations.EagerLoadRelatedObjects()
                        .AsQueryable();

            if (queryObject.UserId.HasValue)
            {
                query = query.Where(res => res.CreatedByUserId == queryObject.UserId.Value);
            }

            var dictionary = new Dictionary <string, Expression <Func <Reservation, object> > >()
            {
                [Constants.SortByCreatedDateTime] = reservation => reservation.CreatedDateTime,
                [Constants.SortByContactName]     = reservation => reservation.Contact.Name,
                [Constants.SortByRanking]         = reservation => reservation.UserLikesReservation.Count()
            };

            if (queryObject?.SortBy != null && dictionary.ContainsKey(queryObject.SortBy))
            {
                query = queryObject.IsSortAscending
                        ? query.OrderBy(dictionary[queryObject.SortBy])
                        : query.OrderByDescending(dictionary[queryObject.SortBy]);
            }

            return(await PaginationResult <Reservation> .CreateAsync(query, queryObject.Page, queryObject.PageSize));
        }
Exemplo n.º 28
0
        private void UpdateDataGridView()//List<HistorieModel> list = null)
        {
            if (_dict.Count == 0)
            {
                LadeDatenLabel.Text = "Keine Daten vorhanden!";
                LadeDatenProgressspinner.Hide();
                return;
            }

            source = new BindingSource {
                DataSource = _dict.Values
            };
            HistorieGrid.DataSource = source;
            HistorieGrid.ColumnHeadersDefaultCellStyle.Padding = new Padding(5);

            if (paging.HasNext)
            {
                paging = paging.Next();
                foreach (var p in paging.List)
                {
                    _dict.Add(p.Log_ID, p);
                }
                LademehrButton.Enabled = true;
            }
            PanelHelper.Hide();
        }
Exemplo n.º 29
0
    public async Task <PaginationResult <PermissionSummary> > GetPermissionsAsync(PermissionOptions options)
    {
        var itemCount = await _permissionRepository.GetCountAsync();

        var result = new PaginationResult <PermissionSummary>(options, itemCount);

        if (itemCount == 0)
        {
            return(result);
        }

        var permissions = await _permissionRepository.GetPermissionsAsync(result.Offset, result.Limit);

        result.Items = permissions
                       .Select(x => new PermissionSummary
        {
            Id        = x.Id,
            Code      = x.Code,
            Name      = x.Name,
            IsEnabled = x.IsEnabled,
        })
                       .ToList();

        return(result);
    }
Exemplo n.º 30
0
        internal static async Task <PaginationResult <TEntity> > GetPagedResultAsync <TEntity>(
            this IQueryable <TEntity> query, int page, int pageSize,
            string sortColumn, string sortOrder,
            string filterColumn, string filterQuery) where TEntity : class
        {
            if (!String.IsNullOrEmpty(filterColumn) && !String.IsNullOrEmpty(filterQuery))
            {
                string saerch = String.Format("{0}.Contains({1})", filterColumn, filterQuery);
                query = query.Where(String.Format("{0}.Contains(@0)", filterColumn), filterQuery);
            }
            if (!String.IsNullOrEmpty(sortColumn))
            {
                sortOrder = !String.IsNullOrEmpty(sortOrder) &&
                            sortOrder.ToUpper() == "ASC"? "ASC": "DESC";
                query = query.OrderBy(
                    String.Format("{0} {1}", sortColumn, sortOrder));
            }

            var paginationResult = PaginationResult <TEntity> .New()
                                   .Update(page, pageSize, query.Count());

            var pageCount = (double)paginationResult.RowCount / pageSize;

            paginationResult.UpdatePageCount((int)Math.Ceiling(pageCount));

            var skip   = (page - 1) * pageSize;
            var result = await query.Skip(skip).Take(pageSize).ToListAsync();

            paginationResult.UpdateResult(result);

            return(paginationResult);
        }
Exemplo n.º 31
0
 public void It_should_render_null_when_no_page()
 {
     var result = new PaginationResult { TotalItems = 5, PageSize = 10, Page = 1 };
     TestHelper.CreateHtmlHelper("http://www.example.org?page=1").PageLinks(result).Should().BeNull();
 }
Exemplo n.º 32
0
 public void It_should_render_all_links_when_small_number_of_pages()
 {
     var result = new PaginationResult { TotalItems = 18, PageSize = 5, Page = 2 };
     TestHelper.CreateHtmlHelper("http://www.example.org?page=2").PageLinks(result).ToString().Should()
               .Be("<ul class=\"pagination\"><li><a href=\"http://www.example.org:80/?page=1\">1</a></li><li class=\"active\"><a href=\"http://www.example.org:80/?page=2\">2</a></li><li><a href=\"http://www.example.org:80/?page=3\">3</a></li><li><a href=\"http://www.example.org:80/?page=4\">4</a></li></ul>");
 }
Exemplo n.º 33
0
 public void It_should_render_summary_links_when_large_number_of_pages()
 {
     var result = new PaginationResult { TotalItems = 50, PageSize = 5, Page = 6 };
     TestHelper.CreateHtmlHelper("http://www.example.org?page=6").PageLinks(result).ToString().Should()
               .Be("<ul class=\"pagination\"><li><a href=\"http://www.example.org:80/?page=1\">&lt;&lt;</a></li><li><a href=\"http://www.example.org:80/?page=5\">&lt;</a></li><li><a href=\"http://www.example.org:80/?page=5\">5</a></li><li class=\"active\"><a href=\"http://www.example.org:80/?page=6\">6 / 10</a></li><li><a href=\"http://www.example.org:80/?page=7\">7</a></li><li><a href=\"http://www.example.org:80/?page=7\">&gt;</a></li><li><a href=\"http://www.example.org:80/?page=10\">&gt;&gt;</a></li></ul>");
 }