Esempio n. 1
0
        public async Task <ActionResult <GeoMessageV2Get> > GetGeoMessage(int id)
        {
            var geoMessage = await _context.GeoMessages.FindAsync(id);

            if (geoMessage == null)
            {
                return(NotFound());
            }

            GeoMessageV2Get geoMessageV2 = new GeoMessageV2Get
            {
                Id      = geoMessage.Id,
                Message = new Message {
                    Title  = geoMessage.Title,
                    Body   = geoMessage.Body,
                    Author = geoMessage.Author
                },
                Latitude  = geoMessage.Latitude,
                Longitude = geoMessage.Longitude
            };



            return(Ok(geoMessageV2));
        }
Esempio n. 2
0
        public async Task <ActionResult <IEnumerable <GeoMessageV2Get> > > GetGeoMessages([FromQuery] double minLon, double minLat, double maxLon, double maxLat)
        {
            List <GeoMessage> geoMessage = new List <GeoMessage>();

            if (minLon != 0 && minLat != 0 && maxLat != 0 && maxLon != 0)
            {
                geoMessage = await _context.GeoMessages
                             .Where(min => min.Longitude > minLon)
                             .Where(max => max.Longitude < maxLon)
                             .Where(min => min.Latitude > minLat)
                             .Where(max => max.Latitude < maxLat)
                             .ToListAsync();
            }
            else
            {
                geoMessage = await _context.GeoMessages.ToListAsync();
            }

            List <GeoMessageV2Get> geoMessageV2List = new List <GeoMessageV2Get>();

            foreach (var message in geoMessage)
            {
                GeoMessageV2Get geoMessageV2Get = new GeoMessageV2Get
                {
                    Id      = message.Id,
                    Message = new Message
                    {
                        Title  = message.Title,
                        Body   = message.Body,
                        Author = message.Author
                    },
                    Latitude  = message.Latitude,
                    Longitude = message.Longitude
                };
                geoMessageV2List.Add(geoMessageV2Get);
            }

            return(geoMessageV2List);
        }