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