public List <ListingCountModel> GetCount(ListingsCountSearchRequest request) { var grouping = _context.Listing.Include(x => x.Territory).ToList().GroupBy(x => x.City); var list = new List <GroupedListItem>(); foreach (var group in grouping) { list.Add(new GroupedListItem { City = group.Key, Listings = _mapper.Map <List <Model.Listing> >(group.ToList()) }); } var result = list.Select(x => new ListingCountModel { City = x.City, TerritoryId = x.Listings.First().TerritoryId, Territory = x.Listings.First().Territory.Name, Count = x.Listings.Count() }).ToList(); if (request.TerritoryId.HasValue == true && request.TerritoryId != null) { result = result.Where(x => x.TerritoryId == request.TerritoryId).ToList(); } return(result); }
private async void btnSearch_Click(object sender, EventArgs e) { ListingsCountSearchRequest request = null; var idObj = cmbTerritory.SelectedValue; if (idObj != null && int.TryParse(idObj.ToString(), out int id)) { request = new ListingsCountSearchRequest(); request.TerritoryId = id; } var result = await _listingService.GetListingsCount <ListingCountModel>(request); dgvCount.AutoGenerateColumns = false; dgvCount.DataSource = result; }
public ActionResult <List <Model.ListingCountModel> > GetCount([FromQuery] ListingsCountSearchRequest request) { return(_service.GetCount(request)); }