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)); }
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); }