public async Task <PaginationApiResponse <ProviderDisplayShortModel> > GetAll(int skip, int limit, string languageCode = null, string search = null) { var total = int.Parse((await _repositoryProvider.Count(x => x.State == MREntityState.Active)).ToString()); var response = new PaginationApiResponse <ProviderDisplayShortModel>(skip, limit, total, new List <ProviderDisplayShortModel>()); var entities = await _repositoryProvider.GetSorted(x => x.State == MREntityState.Active, x => x.CreateTime, true, skip, limit); foreach (var entity in entities) { var name = entity.Name?.SelectTranslation(languageCode); var model = _mapper.Map <ProviderDisplayShortModel>(entity); model.Name = name?.Value; model.Categories = new List <CategoryDisplayModel>(); var categories = await _repositoryCategory.GetIn(x => x.Id, entity.Categories?.Select(x => x.Id)); if (categories != null && categories.Any()) { foreach (var c in categories) { var translation = c.Name.SelectTranslation(languageCode); model.Categories.Add(new CategoryDisplayModel { CreateTime = c.CreateTime, Id = c.Id, LanguageCode = languageCode, Name = translation?.Value }); } } response.List.Add(model); } return(response); }
public async Task <PaginationApiResponse <CategoryDisplayModel> > Get(int skip, int limit, string languageCode = null, string search = null) { var result = new PaginationApiResponse <CategoryDisplayModel>(skip, limit, new List <CategoryDisplayModel>()); var total = await _repositoryCategory.Count(x => x.State == MRApiCommon.Infrastructure.Enum.MREntityState.Active); result.Total = (int)total; var categories = await _repositoryCategory.GetSorted(x => x.State == MRApiCommon.Infrastructure.Enum.MREntityState.Active, x => x.CreateTime, true, result.Skip, result.Take); if (categories != null) { foreach (var c in categories) { var translation = c.Name.SelectTranslation(languageCode); result.List.Add(new CategoryDisplayModel { Id = c.Id, LanguageCode = translation?.LanguageCode, Name = translation?.Value }); } } return(result); }
public IActionResult Get(int limit = 10, int offset = 0) { IEnumerable <Post> posts = _postRepository.GetAll(limit, offset); PaginationApiResponse <IEnumerable <Post> > response = new PaginationApiResponse <IEnumerable <Post> >(); response.Data = posts; response.Meta = new Meta { Limit = limit, Offset = offset, Total = _postRepository.GetAllCount() }; return(Ok(response)); }
public async Task <PaginationApiResponse <ProviderDisplayShortModel> > Get(int skip, int limit, string languageCode = null, string search = null) { var total = await _repositoryProvider.Count(x => x.State == MREntityState.Active && x.Options.IsVisible); var result = new PaginationApiResponse <ProviderDisplayShortModel>(skip, limit, (int)total, new List <ProviderDisplayShortModel>()); var entities = await _repositoryProvider.GetSorted(x => x.State == MREntityState.Active && x.Options.IsVisible, x => x.CreateTime, true, skip, limit); if (entities != null && entities.Any()) { foreach (var provider in entities) { var model = _mapper.Map <ProviderDisplayShortModel>(provider); model.Name = provider.Name.SelectTranslation(languageCode)?.Value; model.Categories = new List <CategoryDisplayModel>(); var categoryIds = provider.Categories?.Select(x => x.Id).ToList() ?? new List <string>(); if (categoryIds != null && categoryIds.Any()) { var categories = (await _repositoryCategory.GetIn(x => x.Id, categoryIds)) .Where(x => x.State == MREntityState.Active); if (categories != null && categories.Any()) { foreach (var cat in categories) { var catModel = new CategoryDisplayModel { CreateTime = cat.CreateTime, Id = cat.Id, LanguageCode = languageCode, }; catModel.Name = cat.Name.SelectTranslation(languageCode)?.Value; model.Categories.Add(catModel); } } } result.List.Add(model); } } return(result); }
public async Task <PaginationApiResponse <UserDisplayShortModel> > GetList(int skip, int limit, SortModel sort = null, UserSearchModel search = null) { sort = SortModel.Check(sort); var result = new PaginationApiResponse <UserDisplayShortModel>(skip, limit, 0, new List <UserDisplayShortModel>()); result.Total = (int)await _repositoryUser.Count(x => x.State == MREntityState.Active); var entities = await _repositoryUser.GetSorted(x => x.State == MREntityState.Active, x => x.CreateTime, true, result.Skip, result.Take); if (entities != null && entities.Any()) { result.List = _mapper.Map <List <UserDisplayShortModel> >(entities.ToList()); } return(result); }
public IActionResult Search(string searchText, int limit = 10, int offset = 0) { IEnumerable <Post> posts; if (String.IsNullOrEmpty(searchText)) { posts = _postRepository.GetAll(limit, offset); } else { posts = _postRepository.Search(searchText, limit, offset); } PaginationApiResponse <IEnumerable <Post> > response = new PaginationApiResponse <IEnumerable <Post> >(); response.Data = posts; response.Meta = new Meta { Limit = limit, Offset = offset, Total = _postRepository.GetAllCount() }; return(Ok(response)); }