public async Task <JsonResult> Login([FromBody] LoginVm model) { if (ModelState.IsValid) { var result = await _signInManager.PasswordSignInAsync( model.UserName, model.Password, true, false ); if (result.Succeeded) { var userProfile = await _userManager.FindByNameAsync(model.UserName); var userProfileVm = UserProfileVmMappings.ToVm(userProfile); return(Json(userProfileVm)); } else { Response.StatusCode = 422; return(Json(new Dictionary <string, string[]>() { { string.Empty, new[] { "Login Failed" } } })); } } Response.StatusCode = 422; return(Json(ModelState.ToErrorsDictionary())); }
public UserProfileVm UserProfile() { if (User.Identity.IsAuthenticated) { var userProfile = _dataContext.Users .Include(u => u.AccessibilityNeeds) .ThenInclude(an => an.AccessibilityNeed) .FirstOrDefault(u => u.UserName == User.Identity.Name); var userProfileVm = UserProfileVmMappings.ToVm(userProfile); return(userProfileVm); } Response.StatusCode = 403; return(null); }
public JsonResult UpdateUserProfile([FromBody] UserProfileVm model) { lock (myLock) // HACK: arrgghh we keep gertting two simultaneous requests! { if (!User.Identity.IsAuthenticated) { Response.StatusCode = 403; return(null); } if (!ModelState.IsValid) { return(Json(ModelState.ToErrorsDictionary())); } var userProfile = _dataContext.Users .Include(u => u.AccessibilityNeeds) .ThenInclude(an => an.AccessibilityNeed) .FirstOrDefault(u => u.UserName == User.Identity.Name); var reloadedModel = UserProfileVmMappings.ToEntity(_dataContext, model, userProfile); return(Json(reloadedModel)); } }