public async Task <ActionResult <GetGeoMessageDto> > CreateGeoMessage([FromQuery] Guid ApiKey, AddGeoMessageDto addGeoMessage) { if (addGeoMessage == null) { return(BadRequest()); } var user = await _userManager.GetUserAsync(this.User); var newGeoMessage = new GeoMessage { Title = addGeoMessage.Message.Title, Body = addGeoMessage.Message.Body, Author = $"{user.Firstname} {user.Lastname}", Longitude = addGeoMessage.Longitude, Latitude = addGeoMessage.Latitude }; await _context.AddAsync(newGeoMessage); await _context.SaveChangesAsync(); var getGeoMessage = new GetGeoMessageDto { Message = new GetMessageDto { Title = newGeoMessage.Title, Body = newGeoMessage.Body, Author = newGeoMessage.Author }, Longitude = newGeoMessage.Longitude, Latitude = newGeoMessage.Latitude }; return(CreatedAtAction(nameof(GetGeoMessage), new { id = newGeoMessage.Id }, getGeoMessage)); }
public async Task <ActionResult <GetGeoMessageDto> > GetGeoMessage(int id) { var geoMessage = await _context.GeoMessages.FirstOrDefaultAsync(g => g.Id == id); if (geoMessage == null) { return(NotFound()); } var geoMessageDto = new GetGeoMessageDto { Message = new GetMessageDto { Title = geoMessage.Title, Body = geoMessage.Body, Author = geoMessage.Author }, Longitude = geoMessage.Longitude, Latitude = geoMessage.Latitude }; return(Ok(geoMessageDto)); }