/// <summary> /// Update parent /// </summary> /// <param name="parentUpdate"></param> /// <returns></returns> public async Task <ParentDto> UpdateParent(ParentUpdateDto parentUpdate) { ParentUser user = db.ParentsRepository.Get(a => a.Id == parentUpdate.Id).FirstOrDefault(); if (user == null) { // 404, Not found. // No reason for an exception I think return(null); } ParentsConverter.UpdateParentsPersonalData(user, parentUpdate); var result = await db.AuthRepository.UpdateUser(user); if (!result.Succeeded) { var ex = new UserUpdateException(result.Errors.ToArray()); ex.Data.Add("IdentityResultErrors", result.Errors.ToArray()); throw ex; } var updatedUser = db.ParentsRepository.Get(a => a.Id == parentUpdate.Id).FirstOrDefault(); return(ParentsConverter.ParentToParentDto(updatedUser)); }
/// <summary> /// Update full entity from dto before sending to the storage /// </summary> /// <param name="user"></param> /// <param name="dto"></param> public static void UpdateParentsPersonalData(ParentUser user, ParentUpdateDto dto) { user.UserName = dto.UserName; user.FirstName = dto.FirstName; user.LastName = dto.LastName; user.Gender = dto.Gender; user.Email = dto.Email; user.PhoneNumber = dto.PhoneNumber; }
public IActionResult UpdateClass([FromBody] ParentUpdateDto updateParent) { var pr = Mapper.Map <Parents>(updateParent); var updateState = parentRepo.UpdateParent(pr, User); if (updateState == EnumUpdateResult.EntryNotFound) { return(NotFound("Entry to update not found")); } return(Ok()); }
public async Task <IHttpActionResult> UpdateParent([FromUri] int parentId, [FromBody] ParentUpdateDto parentUpdate) { var userData = IdentityHelper.GetLoggedInUser(RequestContext); logger.Info("Update Parent {@parentReg} by {@userData}", parentUpdate, userData); if (parentId != parentUpdate.Id) { logger.Info("Provided Ids do not match"); return(BadRequest("Ids do not match")); } ParentDto updatedParent = await service.UpdateParent(parentUpdate); // TODO expand return(Ok(updatedParent)); }