示例#1
0
        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));
        }
示例#3
0
        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());
            }
        }