Example #1
0
        private void SendWelcomeEmail(tblaccess user)
        {
            var viewModel = new SignInConfirmEmailViewModel
            {
                User = user,
            };

            var body = this.RenderViewToString(Views.ViewNames.WelcomeEmail, viewModel);
            var message = new MailMessage
            {
                Subject = "Tote To Toe Welcome Email",
                IsBodyHtml = true,
                Body = body
            };
            message.To.Add(user.Email);

            using (var smtpClient = new SmtpClient())
            {
                smtpClient.Send(message);
            }
        }
Example #2
0
        public virtual ActionResult Register(SignInViewModel viewModel)
        {
            var model = viewModel.RegisterViewModel;
            tblaccess user;

            using (var context = new TTTEntities())
            {
                user = context.tblaccesses.Where(a => a.Email == model.Email && a.Active).SingleOrDefault();

                if (user == null)
                {
                    user = new tblaccess
                    {
                        Active = true,
                        CreateDT = DateTime.Now,
                        Email = model.Email,
                        Password = Util.GetMD5Hash(model.Password),
                        FirstName = model.FirstName,
                        LastName = model.LastName,
                        EmailToken = Guid.NewGuid().ToString()
                    };

                    context.tblaccesses.Add(user);
                    context.SaveChanges();

                    var verifyEmailModel = new VerifyEmailViewModel { User = user, AfterRegistration = true };
                    return View(MVC.SignIn.Views.VerifyEmail, verifyEmailModel);
                }
                else
                {
                    ModelState.Clear();
                    ModelState.AddModelError("RegisterForm", "Email already exists. Please enter a different Email.");
                    return View(Views.Index, viewModel);
                }
            }
        }
Example #3
0
        private void SendEmailVerification(tblaccess user)
        {
            var viewModel = new SignInConfirmEmailViewModel
            {
                User = user,
            };

            var body = this.RenderViewToString(Views.ViewNames.ConfirmEmail, viewModel);

            var message = new MailMessage
            {
                Subject = "Tote To Toe Email Verification",
                IsBodyHtml = true,
                Body = body
            };
            message.To.Add(user.Email);

            //ServicePointManager.ServerCertificateValidationCallback =
            //    delegate(object s, X509Certificate certificate,
            //             X509Chain chain, SslPolicyErrors sslPolicyErrors)
            //    { return true; };

            using (var smtpClient = new SmtpClient())
            {
                smtpClient.Send(message);
            }              
        }
Example #4
0
        public virtual ActionResult FacebookLoginCallback(string returnUrl)
        {
            AuthenticationResult result = OAuthWebSecurity.VerifyAuthentication(Url.Action("FacebookLoginCallback", new { returnUrl = returnUrl }));
            if (!result.IsSuccessful)
            {
                return RedirectToAction("FacebookLoginFailure");
            }

            var email = result.UserName;
            var accessToken = result.ExtraData["accesstoken"];
            var fbID = result.ExtraData["id"];
            var name = result.ExtraData["name"];
            //var gender = result.ExtraData.ContainsKey("gender") ? result.ExtraData["gender"] : "";
            //Session["FB_AccessToken"] = accessToken;
            tblaccess user = null;

            using (var context = new TTTEntities())
            {
                user = context.tblaccesses.Where(a => a.FacebookID == fbID && a.Active).SingleOrDefault();

                if (user == null)
                {
                    user = new tblaccess
                    {
                        Active = true,
                        CreateDT = DateTime.Now,
                        Email = email,
                        FacebookAccessToken = accessToken,
                        FacebookID = fbID,
                        Password = "",
                        FirstName = name,
                        EmailToken = Guid.NewGuid().ToString()
                    };

                    context.tblaccesses.Add(user);
                    context.SaveChanges();

                    var verifyEmailModel = new VerifyEmailViewModel { User = user, AfterRegistration = true };
                    return View(MVC.SignIn.Views.VerifyEmail, verifyEmailModel);
                }
                else
                {
                    if (user.ConfirmedEmail)
                    {
                        Util.SessionAccess = user;
                        FormsAuthentication.SetAuthCookie(user.Email, false);
                        LinkToAccount();
                    }
                    else
                    {
                        var verifyEmailModel = new VerifyEmailViewModel { User = user, AfterLogin = true };
                        return View(MVC.SignIn.Views.VerifyEmail, verifyEmailModel);
                    }                    
                }
            }

            return RedirectToLocal(returnUrl);
        }