public async Task <IActionResult> UpdateUserMetrics(User user, UserMetricsUpdateModel UserMetrics, UserManager <User> _userManager) { user.Name = UserMetrics.Name; WeightHistory history = new WeightHistory(user.Id, UserMetrics.MetricWeight, DateTime.Now.Date); WeightHistoryManager manager = new WeightHistoryManager(_context, _userManager); await manager.AddChange(history); user.Age = UserMetrics.MetricAge; user.Gender = UserMetrics.MetricGender; user.Goal = UserMetrics.MetricGoal; user.Height = UserMetrics.MetricHeight; for (int i = 0; i < UserMetrics.healthProblems.Count; i++) { UserMetrics.healthProblems[i].UserId = user.Id; } await _userManager.UpdateAsync(user); await _context.SaveChangesAsync(); var user_health = _context.HealthProblems.Where(x => x.UserId == user.Id).ToList(); _context.HealthProblems.RemoveRange(user_health); await _context.SaveChangesAsync(); await _context.HealthProblems.AddRangeAsync(UserMetrics.healthProblems); await _context.SaveChangesAsync(); return(new OkResult()); }
public async Task <IActionResult> UpdateMetrics(UserMetricsUpdateModel UserMetrics) { if (!ModelState.IsValid) { return(UnprocessableEntity()); } var user = await _jwtService.CheckUser(Request.Cookies["JWT"]); if (user == null) { return(Unauthorized()); } _userMetricsManager.UpdateUserMetrics(user, UserMetrics, _userManager); return(Ok()); }