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