public async Task <IHttpActionResult> UpdateBasicUserInfo(UpdateUserInfoBindingModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (string.IsNullOrEmpty(model.Id)) { return(BadRequest()); } try { var user = await UserManager.FindByIdAsync(model.Id); user.Name = model.Name; user.Gender = model.Gender; user.DoB = model.DoB; user.IsDoctor = model.IsDoctor; user.Image = model.Image; user.Email = model.Email; user.PhoneNumber = model.PhoneNumber; user.Address = model.Address; user.PersonalId = model.PersonalId; user.InsuranceId = model.InsuranceId; IdentityResult result = await UserManager.UpdateAsync(user); if (!result.Succeeded) { return(GetErrorResult(result)); } else { return(Ok()); } } catch (Exception ex) { throw ex; } }
public async Task <IHttpActionResult> UpdateUserInfo(UpdateUserInfoBindingModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (string.IsNullOrEmpty(model.Id)) { return(BadRequest()); } try { var user = await UserManager.FindByIdAsync(model.Id); user.Name = model.Name; user.Gender = model.Gender; user.DoB = model.DoB; user.IsDoctor = model.IsDoctor; user.Image = model.Image; //user.UserName = model.Email; user.Email = model.Email; IdentityResult result = await UserManager.UpdateAsync(user); if (!result.Succeeded) { return(GetErrorResult(result)); } else { AddUserRole(user.Id, model.RoleName); return(Ok()); } } catch (Exception ex) { throw ex; } }
public IHttpActionResult ChangeUserInfo( [FromBody] UpdateUserInfoBindingModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { var userName = JwtManager.GetUserNameFromToken( Request.Headers.Authorization.Parameter); var user = UnitOfWork.UserRepository.GetByName(userName); if (user == null) { return(NotFound()); } if (model.Email != null) { if ((model.Email != user.Email) && (UnitOfWork.UserRepository.GetByEmail(model.Email) == null)) { user.Email = model.Email; } else if (model.Email != user.Email) { return(Conflict()); } } if (model.FirstName != null) { user.FirstName = model.FirstName; } if (model.LastName != null) { user.LastName = model.LastName; } if (model.BirthDate != null) { user.BirthDate = DateTime.ParseExact(model.BirthDate, "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture); } switch (model.Sex) { case "Male": user.Sex = SexEnum.Male; break; case "Female": user.Sex = SexEnum.Female; break; case null: break; default: user.Sex = SexEnum.Unknown; break; } /** todo: change hotfix with roles to another decision of fixing exception */ user.UserRole = UnitOfWork.RoleRepository.Get("User"); UnitOfWork.UserRepository.Update(user); UnitOfWork.Save(); var sex = "Unknown"; switch (user.Sex) { case SexEnum.Male: sex = "Male"; break; case SexEnum.Female: sex = "Female"; break; } return(Ok(new { user.FirstName, user.LastName, user.Email, BirthDate = user.BirthDate.Date.ToString("yyyy-MM-dd"), Sex = sex })); } catch (Exception) { return(InternalServerError()); } }