public ServiceResponse <UserDetailsResponse> UpdateDetails(UpdateUserDetailsRequest userDetailsRequest) { using (DiaryContext db = new DiaryContext()) { UserDetails userDetailsToUpdate = db.UserDetails.FirstOrDefault(x => x.Id == userDetailsRequest.UserId); if (userDetailsToUpdate == null) { return(new ServiceResponse <UserDetailsResponse>(null, HttpStatusCode.NotFound, "There are not existing user details with given id!")); } userDetailsToUpdate = db.UserDetails.FirstOrDefault(x => x.Id == userDetailsRequest.UserId); if (userDetailsRequest.Age > 0) { userDetailsToUpdate.Age = userDetailsRequest.Age; } if (userDetailsRequest.Height > 0) { userDetailsToUpdate.Height = userDetailsRequest.Height; } if (userDetailsRequest.Weight > 0) { userDetailsToUpdate.Weight = userDetailsRequest.Weight; } float[] results = CalculateBMIandBMR(userDetailsToUpdate.Weight, userDetailsToUpdate.Height, userDetailsToUpdate.Age); userDetailsToUpdate.BMI = results[0]; userDetailsToUpdate.BMR = results[1]; db.SaveChanges(); return(new ServiceResponse <UserDetailsResponse>(new UserDetailsResponse(userDetailsToUpdate), HttpStatusCode.OK, "UserDetails added succesfully!")); } }
public async Task <IActionResult> Put( [FromRoute] string email, [FromBody] UpdateUserDetailsRequest request) { if (email == null) { throw new ArgumentNullException(nameof(email)); } if (request == null) { throw new ArgumentNullException(nameof(request)); } var user = await this.UserManager.FindByEmailAsync(email); if (user == null) { return(this.NotFound()); } user.GivenName = request.GivenName; user.Surname = request.Surname; await this.UserManager.UpdateAsync(user); return(this.Ok()); }
public IHttpActionResult UpdateDetails(UpdateUserDetailsRequest user) { if (user == null || !ModelState.IsValid) { return(ResponseMessage(CreateCustomResponseMessage(HttpStatusCode.BadRequest))); } var result = _userService.UpdateDetails(user); return(ResponseMessage(CreateCustomResponseMessage(result))); }