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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }
Exemple #6
0
        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));
        }