public async Task <IEnumerable <Business> > GetBusinesses(int pageIndex, int pageSize) { var list = _businessRepository.GetBusinesses(new Domain.Models.Paging { Limit = pageSize }); return(list); }
public async Task <IActionResult> GetBusinesses([FromQuery] PageParams pageParams) { var businesses = await _repo.GetBusinesses(pageParams); var businessesToReturn = _mapper.Map <IEnumerable <BusinessForListDto> >(businesses); Response.AddPagination(businesses.CurrentPage, businesses.PageSize, businesses.TotalCount, businesses.TotalPages); return(Ok(businessesToReturn)); }
public ActionResult Index() { if (SessionHelper.CurrentEntity.IsNot(EntityTypeEnum.Citizen)) { return(RedirectBackWithError("You can view your businesses only as citizen!")); } var businesses = businessRepository.GetBusinesses(SessionHelper.CurrentEntity.EntityID); var vm = new BusinessIndexViewModel(businesses); return(View(vm)); }
private async Task <(string controller, int pageId)> Resolve( string language, string routePage, string routeRegion, List <RegionElasticModel> regions) { if (string.IsNullOrEmpty(routePage)) { return(_defaultController, -1); } var normalizedPage = routePage.ToLowerInvariant(); var activeRegion = regions?.FirstOrDefault(r => r.UrlPath == routeRegion); var regionPagesUrl = activeRegion?.PagesApiPath ?? CmsVariable.DefaultPageApiPath; var pages = await _cmsApiProxy.GetPages(language, regionPagesUrl); var page = pages.FirstOrDefault(p => p.Slug == normalizedPage); var controller = page?.Page_type?.FirstOrDefault()?.Template_name; var pageId = page?.Id ?? -1; if (controller == null) { var businessPagePartialUrl = $"/{normalizedPage}"; var languageCode = string.IsNullOrEmpty(language) ? CmsVariable.DefaultLanguageCode : language; var businesses = await BusinessRepository.GetBusinesses(randomSeed : 0, from : 0, size : CmsVariable.ElasticSize, languageCode : languageCode); var business = businesses?.Items?.FirstOrDefault(b => b.Business.DetailPageLink.EndsWith(businessPagePartialUrl)); if (business?.Business != null) { _logger.LogInformation("Found business from {PageUrl} with language code {LanguageCode} and region {RouteRegion}. Business language code {BusinessLanguageCode}, city id:{Region}, url:{Url}.", businessPagePartialUrl, languageCode, routeRegion, business.Business.LanguageCode, business.Business.City.Name, business.Business.DetailPageLink); pageId = business.Business.Id; var templateName = business.Business.PageType?.Name; if (!string.IsNullOrEmpty(templateName)) { controller = templateName; } } } if (controller == null) { controller = _errorController; } return(controller, pageId); }
public async Task <IActionResult> GetBusinesses([FromQuery] RequestBusinessApiModel model) { var from = model.Page * CmsVariable.ItemsPerPage; const int size = CmsVariable.ItemsPerPage; var languageCode = string.IsNullOrEmpty(model.Lang) ? CmsVariable.DefaultLanguageCode : model.Lang; var regionIds = await GetRegionsIdString(languageCode, model.Region); var response = await _businessRepository.GetBusinesses( model.RandomSeed, from, size, query : model.Query, tags : model.Tags, transactionTags : model.TransactionTags, regionIds : regionIds, digital : model.Digital?true : (bool?)null, openNow : model.OpenNow, sorting : model.Sorting, languageCode : languageCode); var mainTags = await ReturnTags(CmsVariable.MainSlugTagGroupName, response.TagCounts?.ToList(), languageCode, "main"); //var subTags = new List<TagApiModel>(); if (!string.IsNullOrEmpty(model.Tags)) { var subTags = await ReturnTags(CmsVariable.SubSlugTagGroupName, response.TagCounts?.ToList(), languageCode, "sub"); mainTags.AddRange(subTags); } return(Ok(new ResponseBusinessApiModel { Items = response.Items.Select(Map).ToList(), ItemsPerPage = CmsVariable.ItemsPerPage, Total = (int)response.Total, FilterTags = mainTags //MainTags = mainTags, //SubTags = subTags })); }