Example #1
0
        private void copyToDto(POI poi, POIDTOReceive poiDto)
        {
            if (poiDto.Nome != null)
            {
                poi.Nome = poiDto.Nome;
            }
            if (poiDto.Descricao != null)
            {
                poi.Descricao = poiDto.Descricao;
            }
            Local local = db.Locals.Find(poiDto.LocalID);

            if (local != null)
            {
                poi.LocalID = poiDto.LocalID;
                poi.Local   = local;
            }
            Categoria categoria = db.Categorias.Find(poiDto.CategoriaID);

            if (categoria != null)
            {
                poi.CategoriaID = poiDto.CategoriaID;
                poi.Categoria   = categoria;
            }
            //poi.UserId = User.Identity.GetUserId();
            //poi.User = db.Users.Find(poi.UserId);
        }
Example #2
0
        public IHttpActionResult PostPOI(POIDTOReceive poiDTO)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            POI poi = new POI();

            copyToDto(poi, poiDTO);

            db.POIs.Add(poi);
            db.SaveChanges();
            poiDTO.PoiID = poi.PoiID;
            return(CreatedAtRoute("DefaultApi", new { id = poiDTO.PoiID }, poiDTO));
        }
Example #3
0
        public IHttpActionResult PutPOI(int id, POIDTOReceive poiDTO)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != poiDTO.PoiID)
            {
                return(BadRequest());
            }

            POI poi = db.POIs.Find(id);

            //if (poi.CheckNotOwner(User.Identity.GetUserId()))
            //{
            //    return StatusCode(HttpStatusCode.Unauthorized);
            //}

            copyToDto(poi, poiDTO);
            db.Entry(poi).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!POIExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }
            return(StatusCode(HttpStatusCode.NoContent));
        }