public async Task <IActionResult> GetByPoint(double lat, double lon, double radius, int limit = 1000) { try { var offerPoints = await _offerProvider.GetOffersAsync(null, new Area() { Latitude = lat, Longitude = lon, RadiusMeters = radius }, null, true, 1, limit); var areaItems = new AreaItemsList <Offer>() { Latitude = lat, Longitude = lon, Radius = radius, Items = offerPoints.ToList() }; return(new ObjectResult(areaItems)); } catch { return(BadRequest()); } }
public async Task <IActionResult> PlaceOffers(int id) { string userId = _userManager.GetUserId(User); var offers = await _offerProvider.GetOffersAsync(userId, null, id, null, null, null); var offersVm = offers.Select(t => _mapper.Map <OfferViewModel>(t)).ToList(); PlaceOffersViewModel plOffers = new PlaceOffersViewModel() { PlaceId = id, Offers = offersVm }; return(View(plOffers)); }
public async Task <IActionResult> Info(int id) { try { var placeInfo = await _placeProvider.GetAsync(id).ConfigureAwait(false); var offers = await _offerProvider.GetOffersAsync(null, null, id, true, 1, null); var aggregate = new PlaceInfoAggregate() { Place = _mapper.Map <PlaceViewModel>(placeInfo), Offers = offers.Cast <OfferInfo>().ToList() }; return(new ObjectResult(aggregate)); } catch { return(BadRequest()); } }