public async Task <IHttpActionResult> PostProfileWord(ProfileWordDTO profileWord) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var userId = User.Identity.GetUserId(); if (string.IsNullOrEmpty(profileWord.ProfileId)) { profileWord.ProfileId = userId; } if (profileWord.ProfileId != userId) { return(Unauthorized()); } var profWord = AutoMapper.Mapper.Map <ProfileWord>(profileWord); db.ProfileWords.Add(profWord); await db.SaveChangesAsync(); return(CreatedAtRoute("DefaultApi", new { id = profWord.Id }, AutoMapper.Mapper.Map <ProfileWordDTO>(profWord))); }
public async Task <IHttpActionResult> GetProfileWord(int id) { var userId = User.Identity.GetUserId(); ProfileWordDTO profileWord = AutoMapper.Mapper.Map <ProfileWordDTO>(await db.ProfileWords .Where(pw => pw.Id == id && pw.ProfileId == userId) .FirstOrDefaultAsync()); if (profileWord == null) { return(NotFound()); } return(Ok(profileWord)); }
public async Task <IHttpActionResult> PutProfileWord(int id, ProfileWordDTO profileWord) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != profileWord.Id) { return(BadRequest()); } var userId = User.Identity.GetUserId(); if (string.IsNullOrEmpty(profileWord.ProfileId)) { profileWord.ProfileId = userId; } if (profileWord.ProfileId != userId) { return(Unauthorized()); } db.Entry(AutoMapper.Mapper.Map <ProfileWord>(profileWord)).State = EntityState.Modified; try { await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ProfileWordExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }