public async Task <IHttpActionResult> PostProfileLanguage(ProfileLanguageDTO profileLanguageDTO) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var userId = User.Identity.GetUserId(); if (string.IsNullOrEmpty(profileLanguageDTO.ProfileId)) { profileLanguageDTO.ProfileId = userId; } if (profileLanguageDTO.ProfileId != userId) { return(Unauthorized()); } var profileLanguage = AutoMapper.Mapper.Map <ProfileLanguage>(profileLanguageDTO); db.ProfileLanguages.Add(profileLanguage); await db.SaveChangesAsync(); return(CreatedAtRoute("GetProfileLanguageById", new { id = profileLanguage.Id }, AutoMapper.Mapper.Map <ProfileLanguageDTO>(profileLanguage))); }
public async Task <IHttpActionResult> GetActive() { var userId = User.Identity.GetUserId(); ProfileLanguageDTO profileLanguageDTO = AutoMapper.Mapper.Map <ProfileLanguageDTO>(await db.ProfileLanguages .Where(p => p.ProfileId == userId && p.IsActive == true) .FirstOrDefaultAsync()); if (profileLanguageDTO == null) { return(NotFound()); } return(Ok(profileLanguageDTO)); }
public async Task <IHttpActionResult> PutProfileLanguage(int id, ProfileLanguageDTO profileLanguageDTO) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != profileLanguageDTO.Id) { return(BadRequest()); } var userId = User.Identity.GetUserId(); if (string.IsNullOrEmpty(profileLanguageDTO.ProfileId)) { profileLanguageDTO.ProfileId = userId; } if (profileLanguageDTO.ProfileId != userId) { return(Unauthorized()); } var profileLanguage = AutoMapper.Mapper.Map <ProfileLanguage>(profileLanguageDTO); db.Entry(profileLanguage).State = EntityState.Modified; try { await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ProfileLanguageExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }