public ActionResult <NewbornAccountResponse> Update(int id, NewbornUpdateRequest model) { // int newbornHealthcareProvider = Convert.ToInt32(Newborn.HealthcareProvider); // // users can update their own account and admins can update any account // if (newbornHealthcareProvider != HealthcareProvider.Id && Account.Role != Role.Admin) // return Unauthorized(new { message = "Unauthorized" }); // only admins can update role //if (Account.Role != Role.Admin) //model.Role = null; var newborn = _newbornService.Update(id, model); return(Ok(newborn)); }
public NewbornAccountResponse Update(int id, NewbornUpdateRequest model) { var newborn = getAccount(id); // validate // if (newborn.Email != model.Email && _context.Newborns.Any(x => x.Email == model.Email)) // throw new AppException($"Email '{model.Email}' is already taken"); // hash password if it was entered // if (!string.IsNullOrEmpty(model.Password)) // newborn.PasswordHash = BC.HashPassword(model.Password); // copy model to account and save _mapper.Map(model, newborn); newborn.Updated = DateTime.UtcNow; _context.Newborns.Update(newborn); _context.SaveChanges(); return(_mapper.Map <NewbornAccountResponse>(newborn)); }