Ejemplo n.º 1
0
        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()));
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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));
            }
        }