protected PaginationResponseApiModel <IBaseApiModel <TKey>, TSorting> GetParsedPaginationResult(IEnumerable <TEntity> entities, TypeModelResponseEnum modelResponseType, int total, int start, int count, List <TSorting> sortings) { dynamic models; switch (modelResponseType) { case TypeModelResponseEnum.GetFullApiModel: models = _dataMapper.ParseCollection <TEntity, TModelGetFull>(entities); break; case TypeModelResponseEnum.GetMinApiModel: models = _dataMapper.ParseCollection <TEntity, TModelGetMin>(entities); break; default: models = _dataMapper.ParseCollection <TEntity, TModelGetFull>(entities); break; } var result = new PaginationResponseApiModel <IBaseApiModel <TKey>, TSorting>() { Total = total, Start = start, Count = count, EntitySortings = sortings, Models = models, }; return(result); }
public virtual async Task <PaginationResponseApiModel <TModelGet> > Get(int start, int count, EntitySortingEnum sort) { var pagination = await _repository.Get(start, count, sort); var models = _dataMapper.ParseCollection <TEntity, TModelGet>(pagination.Entities); var result = new PaginationResponseApiModel <TModelGet>() { Total = pagination.Total, Start = pagination.Start, Count = pagination.Count, EntitySorting = pagination.EntitySorting, Models = models, }; return(result); }
public override async Task <ActionResult <PaginationResponseApiModel <UserGetFullApiModel> > > Get(int start, int count, EntitySortingEnum sort) { var pagination = await _service.GetUsers(start, count, sort); var models = _dataMapper.ParseCollection <User, UserGetFullApiModel>(pagination.Entities); var result = new PaginationResponseApiModel <UserGetFullApiModel>() { Total = pagination.Total, Start = pagination.Start, Count = pagination.Count, EntitySorting = pagination.EntitySorting, Models = models, }; return(SuccessResult(result)); }
public async Task <PaginationResponseApiModel <ToDoTaskGetFullApiModel> > GetReceivedToDoTasks(int start, int count, EntitySortingEnum sort, string userId) { List <Func <ToDoTask, bool> > filters = new List <Func <ToDoTask, bool> >(); filters.Add(x => x.ToUserId == userId); var pagination = await _repository.Get(start, count, sort, filters.ToArray()); var models = _dataMapper.ParseCollection <ToDoTask, ToDoTaskGetFullApiModel>(pagination.Entities); var result = new PaginationResponseApiModel <ToDoTaskGetFullApiModel>() { Total = pagination.Total, Start = pagination.Start, Count = pagination.Count, EntitySorting = pagination.EntitySorting, Models = models, }; return(result); }
public virtual async Task <PaginationResponseApiModel <TModelGet> > Get(string userId, int start, int count, EntitySortingEnum sort, string query = null, IEnumerable <TKey> ignoreIds = null) { List <Func <TEntity, bool> > filters = new List <Func <TEntity, bool> >(); var type = typeof(TEntity); if (!string.IsNullOrEmpty(userId) && type.GetInterface(typeof(IUserEntity).Name) != null) { filters.Add(x => ((IUserEntity)x).UserId == userId); } if (!string.IsNullOrEmpty(query) && type.GetInterface(typeof(IBaseManualEntity <TKey>).Name) != null) { var q = query.ToLower(); filters.Add(x => ((IBaseManualEntity <TKey>)x).Title != null && ((IBaseManualEntity <TKey>)x).Title.ToLower().Contains(q)); } if (ignoreIds != null && ignoreIds.Count() > 0) { filters.Add(x => !ignoreIds.Any(id => id.Equals(x.Id))); } var pagination = await _repository.Get(start, count, sort, filters.ToArray()); var models = _dataMapper.ParseCollection <TEntity, TModelGet>(pagination.Entities); var result = new PaginationResponseApiModel <TModelGet>() { Total = pagination.Total, Start = pagination.Start, Count = pagination.Count, EntitySorting = pagination.EntitySorting, Models = models, }; return(result); }