public async Task <IActionResult> GetBusinessCoordinates([FromQuery] RequestBusinessApiModel model) { var languageCode = string.IsNullOrEmpty(model.Lang) ? CmsVariable.DefaultLanguageCode : model.Lang; var regionIds = await GetRegionsIdString(languageCode, model.Region); var response = await _businessRepository.GetAllBusinessCoordinates( query : model.Query, tags : model.Tags, transactionTags : model.TransactionTags, regionIds : regionIds, digital : model.Digital?true : (bool?)null, openNow : model.OpenNow, languageCode : languageCode); var list = response.Select(x => new BusinessCoordinateApiModel { Id = x.Id, Header = x.Header, Description = x.ShortDescription, DetailPageLink = x.DetailPageLink, AddressAndCoordinates = x.AddressAndCoordinates?.Select(c => new AddressAndCoordinateApiModel { Longitude = c.Longitude, Latitude = c.Latitude, Address = c.Address })?.ToList() }); return(Ok(list.ToList())); }
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 })); }