protected object GetAll(QueryExpression filter, IQueryable <EntityType> includedQuery) { var query = includedQuery; var result = new PagingResultDto <DtoType> { Items = new List <DtoType>() }; if (filter != null) { query = WhereExpression.AddWhereExpression(query, filter.WhereOptions); //query = OrderByExpression.AddOrderByExpression(query, filter.OrderOptions); //must order in client for perfomance } result.LastUpdateTime = DateTime.UtcNow.Ticks; foreach (var entity in query) { if (entity.LastUpdateTime <= result.LastUpdateTime) { result.Items.Add(ConvertToDto(entity)); } } return(result); }
public IActionResult MainListPartial() { UserFilterInput filterInput = GetFilterInSession <UserFilterInput>(ConstantConfig.SessionName.UserSession); PagingResultDto <UserDto> pagingResult = userService.GetAllByPaging(filterInput); return(PartialView(pagingResult)); }
public IActionResult MainListPartial() { RoleFilterInput filterInput = GetFilterInSession <RoleFilterInput>(ConstantConfig.SessionName.RoleSession); PagingResultDto <RoleDto> pagingResult = roleService.GetAllByPaging(filterInput); return(PartialView(pagingResult)); }
protected SmtActionResult GetAll(QueryExpression filter, IQueryable <EntityType> includedQuery) { if (SmtSettings.Instance.AllowGetAllTables.Contains(GetTableName()) == false) { return(CreateObjectResult("", System.Net.HttpStatusCode.Forbidden)); } var query = includedQuery; var result = new PagingResultDto <DtoType> { Items = new List <DtoType>() }; if (filter != null) { query = WhereExpression.AddWhereExpression(query, filter.WhereOptions); //query = OrderByExpression.AddOrderByExpression(query, filter.OrderOptions); //must order in client for perfomance } result.LastUpdateTime = DateTime.UtcNow.Ticks; foreach (var entity in query) { if (entity.LastUpdateTime <= result.LastUpdateTime) { result.Items.Add(ConvertToDto(entity)); } } return(CreateObjectResult(result)); }
public IActionResult MainListPartial() { MasterListGroupFilterInput filterInput = GetFilterInSession <MasterListGroupFilterInput>(ConstantConfig.SessionName.MasterListGroupSession); PagingResultDto <MasterListGroupDto> pagingResult = masterListGroupAdminService.GetAllByPaging(filterInput); return(PartialView(pagingResult)); }
public IActionResult MainListPartial() { AdminMenuFilterInput filterInput = GetFilterInSession <AdminMenuFilterInput>(ConstantConfig.SessionName.AdminMenuSession); PagingResultDto <AdminMenuDto> pagingResult = adminMenuAdminService.GetAllByPaging(filterInput); ViewBag.AdminMenuCombobox = adminMenuAdminService.GetAdminMenusCombobox(); return(PartialView(pagingResult)); }
public IActionResult MainListPartial() { LanguageDetailFilterInput filterInput = GetFilterInSession <LanguageDetailFilterInput>(ConstantConfig.SessionName.LanguageDetailSession); ViewData["langCode"] = filterInput.LangCode; PagingResultDto <LanguageDetailDto> pagingResult = languageDetailService.GetAllByPaging(filterInput); return(PartialView(pagingResult)); }
public IActionResult MainListPartial(string group = null) { MasterListFilterInput filterInput = GetFilterInSession <MasterListFilterInput>(ConstantConfig.SessionName.MasterListSession); filterInput.Group = group; ViewData["group"] = group; PagingResultDto <MasterListDto> pagingResult = masterListAdminService.GetAllByPaging(filterInput); return(PartialView(pagingResult)); }
public PagingResultDto <RecommendDto> Get(int pageIndex, int pageSize, long questionId) { var result = new PagingResultDto <RecommendDto>(); var data = _recommendRepository.GetFiltered(o => o.QuestionId == questionId).Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList().Select(item => _mapper.Map <RecommendDto>(item)); result.Data = data; result.Code = BusinessCode.Successed; result.Message = string.Empty; result.Total = _recommendRepository.GetFiltered(o => o.QuestionId == questionId).Count(); return(result); }
public static PagingResultDto <TModel> PagedQuery <TModel>(this IQueryable <TModel> query, IPagingFilterDto pagingFilterDto) { if (pagingFilterDto.PageNumber <= 0) { pagingFilterDto.PageNumber = 1; } var result = new PagingResultDto <TModel>(); InitPagedModel(query, pagingFilterDto, result); return(result); }
public PagingResultDto <RoleDto> GetAllByPaging(RoleFilterInput filterInput) { SetDefaultPageSize(filterInput); IQueryable <WebCoreRole> roleQuery = roleRepository.GetAll(); roleQuery = roleQuery.Filter(filterInput); PagingResultDto <RoleDto> roleResult = roleQuery .ProjectTo <RoleDto>(mapper.ConfigurationProvider) .PagedQuery(filterInput); return(roleResult); }
public PagingResultDto <UserDto> GetAllByPaging(UserFilterInput filterInput) { SetDefaultPageSize(filterInput); IQueryable <WebCoreUser> userQuery = userRepository.GetAll(); userQuery = userQuery.Filter(filterInput); PagingResultDto <UserDto> userResult = userQuery .ProjectTo <UserDto>(mapper.ConfigurationProvider) .PagedQuery(filterInput); return(userResult); }
protected SmtActionResult Get(QueryExpression filter, IQueryable <EntityType> includedQuery) { int pageCount = 1; var query = includedQuery; var result = new PagingResultDto <DtoType> { Items = new List <DtoType>() }; if (filter != null) { var maxItemAllowed = GetMaxItemAllowed(); if (filter.PageSize > 0 && filter.PageSize <= maxItemAllowed) { if (filter.PageIndex <= 0)//forced to use paging { filter.PageIndex = 1; } if (filter.OrderOptions.Count == 0) { filter.OrderOptions.Add(GetDefaultOrderOption()); } query = QueryExpression.AddQueryExpression( query, ref filter, out pageCount); result.PageIndex = filter.PageIndex; result.PageCount = pageCount; } else { var msg = string.Format("PageSize must greater than zero and lower than {0}", maxItemAllowed + 1); return(CreateObjectResult(msg, System.Net.HttpStatusCode.BadRequest)); } } result.LastUpdateTime = DateTime.UtcNow.Ticks; foreach (var entity in query) { if (entity.LastUpdateTime <= result.LastUpdateTime) { result.Items.Add(ConvertToDto(entity)); } } return(CreateObjectResult(result)); }
public static PagingResultDto <IEnumerable <TData> > GetPagingResult <TData>(IEnumerable <TData> data, int PageNumber, int PageSize) { try { var TotalItemCount = data.Count(); var Result = new PagingResultDto <IEnumerable <TData> >(); Result.CurrPage = PageNumber; Result.TotalPage = (TotalItemCount % PageSize == 0 ? TotalItemCount / PageSize : (TotalItemCount / PageSize) + 1); Result.Response = data.Skip(PageSize * PageNumber).Take(PageSize); return(Result); } catch (System.Exception ex) { throw ex; } }
public static PagingResultDto <T1> ProcessPagingResult <T, T1>(PagingResultDto <T> response) where T : IDto where T1 : IDataModel <T>, new() { var result = new PagingResultDto <T1>() { LastUpdateTime = response.LastUpdateTime, PageCount = response.PageCount, PageIndex = response.PageIndex, TotalItemCount = response.TotalItemCount }; foreach (var item in response.Items) { var dataModel = new T1(); dataModel.FromDto(item); dataModel.SetCurrentValueAsOriginalValue(); result.Items.Add(dataModel); } return(result); }
private PagingResultDto <T1> ProcessPagingResult <T, T1>(byte[] responseBytes) where T : IDto where T1 : IDataModel <T>, new() { var response = FromBytes <PagingResultDto <T> >(responseBytes); var result = new PagingResultDto <T1>() { LastUpdateTime = response.LastUpdateTime, PageCount = response.PageCount, PageIndex = response.PageIndex, TotalItemCount = response.TotalItemCount }; foreach (var item in response.Items) { var dataModel = new T1(); dataModel.FromDto(item); dataModel.SetCurrentValueAsOriginalValue(); result.Items.Add(dataModel); } _logger.LogInformation("Get {0} {1:N0} bytes {2:N0} Items", NameManager.Instance.GetControllerName <T, T1>(), responseBytes.LongLength, result.Items.Count); return(result); }
public static PagingResultDto <TModel> PagedQuery <TModel>(this IQueryable <TModel> query, IPagingFilterDto pagingFilterDto) { if (pagingFilterDto.PageNumber <= 0) { pagingFilterDto.PageNumber = 1; } var result = new PagingResultDto <TModel>(); result.RowCount = query.Count(); result.PageSize = pagingFilterDto.PageSize; result.CurrentPage = pagingFilterDto.PageNumber; var pageCount = (double)result.RowCount / result.PageSize; result.PageCount = (int)Math.Ceiling(pageCount); IQueryable <TModel> queryResultPage = query .Skip((pagingFilterDto.PageNumber - 1) * pagingFilterDto.PageSize) .Take(pagingFilterDto.PageSize); result.Items = queryResultPage.ToList(); return(result); }
protected SmtActionResult GetUpdate(QueryExpression filter, IQueryable <EntityType> includedQuery) { if (IsSupportGetUpdate() == false) { return(CreateObjectResult(null, System.Net.HttpStatusCode.NotImplemented)); } if (filter == null) { var msg = string.Format(string.Format("Need specify {0} where options", nameof(IDto.LastUpdateTime))); return(CreateObjectResult(msg, System.Net.HttpStatusCode.BadRequest)); } var lastUpdateWhereOption = filter.WhereOptions.Find(p => p.PropertyPath == nameof(IDto.LastUpdateTime)); if (lastUpdateWhereOption == null) { var msg = string.Format(string.Format("Need specify {0} where options", nameof(IDto.LastUpdateTime))); return(CreateObjectResult(msg, System.Net.HttpStatusCode.BadRequest)); } var query = includedQuery; var result = new PagingResultDto <DtoType> { Items = new List <DtoType>() }; var tableID = GetTableID(); query = WhereExpression.AddWhereExpression(query, filter.WhereOptions); //query = OrderByExpression.AddOrderByExpression(query, filter.OrderOptions); //must order in client for perfomance var lastUpdate = (long)lastUpdateWhereOption.GetValue(); var deletedItemsQuery = DBContext.SmtDeletedItem.Where(p => p.TenantID == TokenModel.TenantID && p.TableID == tableID && p.CreateTime > lastUpdate); var itemCount = query.Count() + deletedItemsQuery.Count(); var maxItem = GetMaxItemAllowed(); if (itemCount > maxItem) { var msg = string.Format("Entity set too large, max item allowed is {0}", maxItem); return(CreateObjectResult(msg, System.Net.HttpStatusCode.BadRequest)); } result.LastUpdateTime = DateTime.UtcNow.Ticks; foreach (var entity in query) { if (entity.LastUpdateTime <= result.LastUpdateTime) { var dto = ConvertToDto(entity); dto.State = (dto.CreateTime > lastUpdate) ? DtoState.Add : DtoState.Update; result.Items.Add(dto); } } foreach (var item in deletedItemsQuery) { if (item.CreateTime <= result.LastUpdateTime) { result.Items.Add(new DtoType() { ID = item.DeletedID, State = DtoState.Delete, CreateTime = item.CreateTime }); } } return(CreateObjectResult(result)); }
protected object GetUpdate(QueryExpression filter, IQueryable <EntityType> includedQuery) { if (filter == null) { var msg = string.Format(string.Format("Need specify {0} where options", nameof(IDto.LastUpdateTime))); throw new Exception(msg); } var lastUpdateWhereOption = filter.WhereOptions.Find(p => p.PropertyPath == nameof(IDto.LastUpdateTime)); if (lastUpdateWhereOption == null) { var msg = string.Format(string.Format("Need specify {0} where options", nameof(IDto.LastUpdateTime))); throw new Exception(msg); } var query = includedQuery; var tableName = GetTableName(); var result = new PagingResultDto <DtoType> { Items = new List <DtoType>() }; var tableID = _context.SmtTable.FirstOrDefault(p => p.TableName == tableName).ID; query = WhereExpression.AddWhereExpression(query, filter.WhereOptions); //query = OrderByExpression.AddOrderByExpression(query, filter.OrderOptions); //must order in client for perfomance var lastUpdate = (long)lastUpdateWhereOption.GetValue(); var deletedItemsQuery = _context.SmtDeletedItem.Where(p => p.TableID == tableID && p.TenantID == LoginToken.Instance.TenantID && p.CreateTime > lastUpdate); var itemCount = query.Count() + deletedItemsQuery.Count(); var maxItem = GetMaxItemAllowed(); if (itemCount > maxItem) { var msg = string.Format("Entity set too large, max item allowed is {0}", maxItem); throw new Exception(msg); } result.LastUpdateTime = DateTime.UtcNow.Ticks; foreach (var entity in query) { if (entity.LastUpdateTime <= result.LastUpdateTime) { var dto = ConvertToDto(entity); dto.State = (dto.CreateTime > lastUpdate) ? DtoState.Add : DtoState.Update; result.Items.Add(dto); } } foreach (var item in deletedItemsQuery) { if (item.CreateTime <= result.LastUpdateTime) { result.Items.Add(new DtoType() { ID = item.DeletedID, State = DtoState.Delete, CreateTime = item.CreateTime }); } } return(result); }
private static void InitPagedModel <TModel>(this IQueryable <TModel> query, IPagingFilterDto pagingFilterDto, PagingResultDto <TModel> pagingModel) { pagingModel.RowCount = query.Count(); pagingModel.PageSize = pagingFilterDto.PageSize; pagingModel.CurrentPage = pagingFilterDto.PageNumber; var pageCount = (double)pagingModel.RowCount / pagingModel.PageSize; pagingModel.PageCount = (int)Math.Ceiling(pageCount); IQueryable <TModel> queryResultPage = query .Skip((pagingFilterDto.PageNumber - 1) * pagingFilterDto.PageSize) .Take(pagingFilterDto.PageSize); pagingModel.Items = queryResultPage.ToList(); }