Esempio n. 1
0
        public ActionResult ConfirmRegistration()
        {
            RegisterViewModel        regModel = (RegisterViewModel)TempData["regmodel"];
            ConfirmRegisterViewModel model    = new ConfirmRegisterViewModel
            {
                RegistrationDetails = regModel,
                ConfirmOtp          = Session["otp"].ToString()
            };

            //if u want to otp then comment follws line
            return(View(model));
        }
Esempio n. 2
0
        public async Task <ActionResult> ConfirmRegistration(ConfirmRegisterViewModel model, string returnUrl)
        {
            if (ModelState.IsValid)
            {
                if (model.ConfirmOtp != Session["otp"].ToString())
                {
                    ViewBag.confirmFail = "Invalid OTP!!";
                    return(View(model));
                }

                var user = new ApplicationUser
                {
                    UserName                  = model.RegistrationDetails.Email,
                    Email                     = model.RegistrationDetails.Email,
                    LastName                  = model.RegistrationDetails.LastName,
                    FirstName                 = model.RegistrationDetails.FirstName,
                    LastIpAddress             = "192.168.225.1",
                    IsEmailUnsubscribed       = false,
                    IsPhoneNumberUnsubscribed = true,
                    LastLoginDateUtc          = DateTime.UtcNow,
                    CreatedOnUtc              = DateTime.UtcNow,
                    PhoneNumber               = model.RegistrationDetails.PhoneNumber,
                    TwoFactorEnabled          = true
                };
                var result = await UserManager.CreateAsync(user, model.RegistrationDetails.Password);

                if (result.Succeeded)
                {
                    if (model.RegistrationDetails.UserType == "professional")
                    {
                        await this.UserManager.AddToRoleAsync(user.Id, model.RegistrationDetails.Role);

                        var doctor = new Doctor {
                            DoctorId = user.Id, RegistrationNumber = model.RegistrationNumber
                        };
                        _doctorService.AddDoctor(doctor);
                    }

                    await SignInManager.SignInAsync(user, false, false);

                    return(RedirectToAction("Index", "Home"));
                }
                ViewBag.ReturnUrl = returnUrl;
                AddErrors(result);
            }
            return(View(model));
        }
Esempio n. 3
0
        public async Task <ActionResult> ConfirmRegistration(ConfirmRegisterViewModel model, string returnUrl)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    if (model.ConfirmOtp != Session["otp"].ToString())
                    {
                        ErrorNotification("Invalid OTP !! Enter correct otp.");
                        // ViewBag.confirmFail = "Invalid OTP!!";
                        return(View(model));
                    }

                    var user = new ApplicationUser
                    {
                        UserName                  = model.RegistrationDetails.PhoneNumber,
                        Email                     = model.RegistrationDetails.Email,
                        LastName                  = model.RegistrationDetails.LastName,
                        FirstName                 = model.RegistrationDetails.FirstName,
                        LastIpAddress             = "192.168.225.1",
                        IsEmailUnsubscribed       = false,
                        IsPhoneNumberUnsubscribed = true,
                        LastLoginDateUtc          = DateTime.UtcNow,
                        CreatedOnUtc              = DateTime.UtcNow,
                        PhoneNumber               = model.RegistrationDetails.PhoneNumber,
                        TwoFactorEnabled          = true
                    };
                    var result = await UserManager.CreateAsync(user, model.RegistrationDetails.Password);

                    if (result.Succeeded)
                    {
                        if (model.RegistrationDetails.UserType.ToLowerInvariant() == "professional")
                        {
                            await this.UserManager.AddToRoleAsync(user.Id, model.RegistrationDetails.Role);

                            var doctor = new Doctor {
                                DoctorId = user.Id, RegistrationNumber = model.RegistrationNumber
                            };
                            _doctorService.AddDoctor(doctor);
                        }
                        //gives content to sending thanks email
                        await UserManager.SendEmailAsync(user.Id, "Thank you for registering at Doctor 365", "Thank you!!");

                        await SignInManager.SignInAsync(user, false, false);

                        return(RedirectToAction("Index", "Home"));
                    }
                    string errorNotify = string.Empty;
                    foreach (var item in result.Errors)
                    {
                        errorNotify += item + " ,";
                    }
                    if (!string.IsNullOrWhiteSpace(errorNotify))
                    {
                        ErrorNotification(errorNotify.TrimEnd(','));
                    }

                    ViewBag.ReturnUrl = returnUrl;
                    AddErrors(result);
                }
            }
            catch { }
            return(View(model));
        }