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; }
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); }