Example #1
0
        public static bool Save(RegisterVM model, ref ProviderMember registerMember)
        {
            registerMember.Password = model.Password;
            registerMember.CreateDate = DateTime.UtcNow;
            registerMember.EditDate = DateTime.UtcNow;
            registerMember.Save();

            if (!string.IsNullOrWhiteSpace(model.Email))
            {
                ProviderEmail anEmail = new ProviderEmail();
                anEmail.MemberId = registerMember.Id.Value;
                anEmail.IsValidated = false;
                anEmail.CreateDate = DateTime.UtcNow;
                anEmail.EditDate = DateTime.UtcNow;
                anEmail.Email = new MailAddress(model.Email);
                anEmail.Save();
            }

            if(!string.IsNullOrWhiteSpace(model.UserName))
            {
                ProviderUserName aUserName = new ProviderUserName();
                aUserName.MemberId = registerMember.Id.Value;
                aUserName.CreateDate = DateTime.UtcNow;
                aUserName.EditDate = DateTime.UtcNow;
                aUserName.UserName = model.UserName;
                aUserName.Save();
            }

            return true;
        }
Example #2
0
        public virtual JsonResult Register(RegisterVM model)
        {
            PartialPostVM returnValue = null;

            if (ModelState.IsValid)
            {
                try
                {
                    ProviderMember registerMember = new ProviderMember();
                    MemberBL.Save(model, ref registerMember);
                    EmailManager.Instance.SendActivationEmail(new MailAddress(model.Email), registerMember);
                    returnValue = new PartialPostVM
                    {
                        Action = PartialPostVM.ActionType.redirect,
                        Content = Url.Action(MVC.Member.EmailValidationSent())
                    };
                }
                catch (Exception caughtException)
                {
                    InsideWordWebLog.Instance.Log.Error(caughtException);
                    ModelState.AddModelError("", "Failed to create account. An administrator will contact you through e-mail regarding this issue.");
                }
            }

            if (returnValue == null)
            {
                returnValue = new PartialPostVM
                {
                    Action = PartialPostVM.ActionType.refresh,
                    Message = string.Empty,
                    Content = ControllerExtension.RenderPartialViewToString(this, MVC.Child.Views.Register, (object)model)
                };
            }

            return Json(returnValue);
        }