public ActionResult Activate()
        {
            if (Request.QueryString["u"] != null && Request.QueryString["r"] != null)
            {
                RegisterModel model = new RegisterModel();
                //model.UserName  = Security.DES_decrypt(Request.QueryString["u"]);
               // model.Email = model.UserName;
                model.AccessCode = Security.DES_decrypt(Request.QueryString["r"]);
                return View(model);
             }

            return RedirectToAction("Register");
        }
        public ActionResult Register(RegisterModel model)
        {
            if (ModelState.IsValid)
            {
               if(!String.IsNullOrEmpty( Membership.GetUserNameByEmail(model.Email)))
               {
                   ModelState.AddModelError("UAE","E-Mail address already exists");
                   return View(model);
               }

                // Attempt to register the user
                MembershipCreateStatus createStatus;
                Membership.CreateUser(model.Email, model.Password, model.Email, passwordQuestion: null, passwordAnswer: null, isApproved: true, providerUserKey: null, status: out createStatus);

                switch(model.AccessCode.ToLower())
                {
                    case "chiro":
                    Roles.AddUserToRole(model.Email, "Chiropractor");
                    break;
                    case "patient":
                    Roles.AddUserToRole(model.Email, "Patient");
                    break;

                }   
                if (createStatus == MembershipCreateStatus.Success)
                {
                    FormsAuthentication.SetAuthCookie(model.Email, createPersistentCookie: false);
                    return RedirectToAction("Index", "Messages");
                }
                else
                {
                    ModelState.AddModelError("", ErrorCodeToString(createStatus));
                }
            }

            // If we got this far, something failed, redisplay form
            return View(model);
        }