public async Task <ActionResult <GeoMessageDto> > CreateGeoMessage([FromQuery] Guid ApiKey, GeoMessageDto geoMessageDto)
        {
            if (geoMessageDto == null)
            {
                return(BadRequest());
            }

            var user = await _userManager.GetUserAsync(this.User);

            var newGeoMessage = new GeoMessage
            {
                Body      = geoMessageDto.Message,
                Author    = $"{user.Firstname} {user.Lastname}",
                Longitude = geoMessageDto.Longitude,
                Latitude  = geoMessageDto.Latitude
            };

            await _context.AddAsync(newGeoMessage);

            await _context.SaveChangesAsync();

            var getGeoMessage = new GeoMessageDto
            {
                Message   = newGeoMessage.Body,
                Longitude = newGeoMessage.Longitude,
                Latitude  = newGeoMessage.Latitude
            };

            return(CreatedAtAction(nameof(GetGeoMessage), new { id = newGeoMessage.Id }, getGeoMessage));
        }
예제 #2
0
        public async Task <ActionResult <GeoMessageDto> > Post([FromBody] GeoMessageDto msg)
        {
            var entity = await _context.AddAsync(new GeoMessage()
            {
                Message   = msg.Message,
                Longitude = msg.Longitude,
                Latitude  = msg.Latitude
            });

            await _context.SaveChangesAsync();

            return(CreatedAtAction(nameof(Get), new { id = entity.Entity.Id }, msg));
        }
예제 #3
0
        public async Task <ActionResult <GeoMessageDto> > Get(int id)
        {
            var entity = await _context.GeoMessages.FindAsync(id);

            if (entity == null)
            {
                return(NoContent());
            }
            var entityDto = new GeoMessageDto()
            {
                Message   = entity.Message,
                Longitude = entity.Longitude,
                Latitude  = entity.Latitude
            };

            return(Ok(entityDto));
        }
        public async Task <ActionResult <GeoMessageDto> > GetGeoMessage(int id)
        {
            var geoMessage = await _context.GeoMessages.FirstOrDefaultAsync(g => g.Id == id);

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

            var geoMessageDto = new GeoMessageDto
            {
                Message   = geoMessage.Body,
                Longitude = geoMessage.Longitude,
                Latitude  = geoMessage.Latitude
            };

            return(Ok(geoMessageDto));
        }