public ActionResult JsonRegister(RegisterModel model)
        {
            if (ModelState.IsValid)
            {
                if (DoRegister(model))
                {
                    var readModel = new ReadModelService.SimpleTwitterReadModelServiceClient();
                    var user = readModel.GetUsers().Where(n => n.Username == model.UserName).SingleOrDefault();
                    Session.Add("UserID", user.Id);
                    return Json(new { success = true });
                }
            }

            // If we got this far, something failed
            return Json(new { errors = GetErrorsFromModelState() });
        }
Ejemplo n.º 2
0
        public ActionResult JsonRegister(RegisterModel model)
        {
            if (ModelState.IsValid)
            {
                // Attempt to register the user
                MembershipCreateStatus createStatus;
                Membership.CreateUser(model.UserName, model.Password, model.Email, null, null, true, null, out createStatus);

                if (createStatus == MembershipCreateStatus.Success)
                {
                    FormsAuthentication.SetAuthCookie(model.UserName, createPersistentCookie: false);
                    return Json(new { success = true });
                }
                ModelState.AddModelError("", ErrorCodeToString(createStatus));
            }

            // If we got this far, something failed
            return Json(new { errors = GetErrorsFromModelState() });
        }
Ejemplo n.º 3
0
        public ActionResult Register(RegisterModel model)
        {
            if (ModelState.IsValid)
            {
                // Attempt to register the user
                MembershipCreateStatus createStatus;
                Membership.CreateUser(model.UserName, model.Password, model.Email, null, null, true, null, out createStatus);

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

            // If we got this far, something failed, redisplay form
            return View(model);
        }
        bool DoRegister(RegisterModel model)
        {
            var service = new Commanding.SimpleTwitterCommandServiceClient();
            var readModel = new ReadModelService.SimpleTwitterReadModelServiceClient();
            service.CreateUser(new CreateUserCommand()
            {
                Username = model.UserName
            });

            var user = readModel.GetUsers().Where(n => n.Username == model.UserName).SingleOrDefault();

            if (user == null)
            {
                ModelState.AddModelError("", "Command failed.");
                return false;
            }

            service.SetUserPassword(new SetUserPasswordCommand()
            {
                UserID = user.Id,
                Password = model.Password
            });

            service.SetUserProperty(new SetUserPropertyCommand()
            {
                UserID = user.Id,
                Name = "Email",
                Value = model.Email
            });

            FormsAuthentication.SetAuthCookie(model.UserName, createPersistentCookie: false);
            return true;
        }
        public ActionResult Register(RegisterModel model)
        {
            if (ModelState.IsValid)
            {
                if (DoRegister(model))
                {
                    var readModel = new ReadModelService.SimpleTwitterReadModelServiceClient();
                    var user = readModel.GetUsers().Where(n => n.Username == model.UserName).SingleOrDefault();
                    Session.Add("UserID", user.Id);
                    FormsAuthentication.SetAuthCookie(model.UserName, createPersistentCookie: false);
                    return RedirectToAction("Index", "Home");
                }
            }

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