Exemple #1
0
        public async Task <ActionResult> EmployerLogin(iPensionLoginViewModel model, string returnUrl)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            // This doesn't count login failures towards account lockout
            // To enable password failures to trigger account lockout, change to shouldLockout: true
            var result = await SignInManager.PasswordSignInAsync(model.Username, model.Password, model.RememberMe, shouldLockout : false);

            switch (result)
            {
            case SignInStatus.Success:
                return(RedirectToLocal(returnUrl));

            case SignInStatus.LockedOut:
                return(View("Lockout"));

            case SignInStatus.RequiresVerification:
                return(RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe }));

            case SignInStatus.Failure:
            default:
                ModelState.AddModelError("", "Invalid login attempt.");
                return(View(model));
            }
        }
Exemple #2
0
        public async Task <ActionResult> EmployeeLogin(iPensionLoginViewModel model, string returnUrl)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            // This doesn't count login failures towards account lockout
            // To enable password failures to trigger account lockout, change to shouldLockout: true
            var result = await SignInManager.PasswordSignInAsync(model.Username, model.Password, model.RememberMe, shouldLockout : false);

            switch (result)
            {
            case SignInStatus.Success:
                return(RedirectToLocal(returnUrl));

            case SignInStatus.LockedOut:
                return(View("Lockout"));

            case SignInStatus.RequiresVerification:
                return(RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe }));

            case SignInStatus.Failure:
                var Vpas = context.Users.FirstOrDefault(x => x.UserName == model.Username);
                if (Vpas == null)
                {
                    //string Pin = "PEN100323137466";
                    //string pas = "******";
                    string Pin = model.Username;
                    string pas = model.Password;
                    //string cPass = "******";
                    string uri = $"http://fpmlwebsvr.fidelitypensionmanagers.com/TheHubRESTService/MobileRestService.svc/GetLogin/{Pin}/{pas}";

                    HttpResponseMessage response = await client.GetAsync(uri);

                    if (response.Content.Headers.ContentLength == 4)
                    {
                        var data  = db.EMPLOYEES.FirstOrDefault(x => x.PIN == model.Username);
                        var Email = data.EMAIL == "" || data.EMAIL == null || data.EMAIL == "*****@*****.**" ? $"pfa_{model.Username}@gmail.com" : data.EMAIL;
                        var Phone = data.MOBILE_PHONE == null || data.MOBILE_PHONE == "" ? "0909090909090" : data.MOBILE_PHONE;
                        var user  = new ApplicationUser {
                            UserName = model.Username, Email = Email, PhoneNumber = Phone
                        };
                        var result2 = await UserManager.CreateAsync(user, pas);

                        if (result2.Succeeded)
                        {
                            await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);

                            // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771
                            // Send an email with this link
                            // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
                            // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                            // await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>");

                            return(RedirectToAction("RecaptureForm", "RSA"));
                        }
                        AddErrors(result2);
                    }
                    ModelState.AddModelError("", "Invalid login attempt.");

                    return(View(model));
                }
                ModelState.AddModelError("", "Invalid login attempt.");
                return(View(model));

            default:
                ModelState.AddModelError("", "Invalid login attempt.");
                return(View(model));
            }
        }