/// <summary> /// Registers the user. /// </summary> /// <param name="model">The model.</param> /// <param name="collection">The collection.</param> /// <returns></returns> public virtual ActionResult RegisterUser(RegistrationWidgetViewModel model, FormCollection collection) { var widgetService = ServiceLocator.Current.GetInstance <IRegistrationWidgetService>(); var authenticationHelper = ServiceLocator.Current.GetInstance <IAuthenticationHelper>(); var widget = widgetService.Find(model.PageWidgetId); if (widget != null) { RegistrationWidgetHelper.Validate(widget, collection, ModelState); if (ModelState.IsValid) { User user; if (RegistrationWidgetHelper.RegisterUser(widget, model, collection, out user) && user.Id > 0) { Success(HttpContext.Translate("Messages.UserCreated", String.Empty)); authenticationHelper.LoginUser(user, true); model.IsSuccessfulRegistration = true; } } else { ViewData[String.Format("FormCollection{0}", widget.Id)] = collection; Error(HttpContext.Translate("Messages.ValidationError", String.Empty)); } model.Widget = widget; } return(PartialView("ViewWidget", model)); }
/// <summary> /// Registers the user. /// </summary> /// <param name="model">The model.</param> /// <param name="collection">The collection.</param> /// <returns></returns> public virtual ActionResult RegisterUser(RegistrationWidgetViewModel model, FormCollection collection) { var widgetService = ServiceLocator.Current.GetInstance<IRegistrationWidgetService>(); var authenticationHelper = ServiceLocator.Current.GetInstance<IAuthenticationHelper>(); var widget = widgetService.Find(model.PageWidgetId); if (widget != null) { RegistrationWidgetHelper.Validate(widget, collection, ModelState); if (ModelState.IsValid) { User user; if (RegistrationWidgetHelper.RegisterUser(widget, model, collection, out user) && user.Id > 0) { Success(HttpContext.Translate("Messages.UserCreated", String.Empty)); authenticationHelper.LoginUser(user, true); model.IsSuccessfulRegistration = true; } } else { ViewData[String.Format("FormCollection{0}", widget.Id)] = collection; Error(HttpContext.Translate("Messages.ValidationError", String.Empty)); } model.Widget = widget; } return PartialView("ViewWidget", model); }
public static RegistrationWidgetViewModel BindWidgetModel(ICoreWidgetInstance instance) { var widgetService = ServiceLocator.Current.GetInstance<IRegistrationWidgetService>(); var widget = widgetService.Find(instance.InstanceId ?? 0); RegistrationWidgetViewModel model = null; if (widget != null) { model = new RegistrationWidgetViewModel { PageWidgetId = widget.Id, ProfileTypeId = widget.ProfileType.Id, Widget = widget }; } return model; }
/// <summary> /// Registers the user. /// </summary> /// <param name="widget">The widget.</param> /// <param name="model">The model.</param> /// <param name="collection">The collection.</param> /// <param name="user">The user.</param> /// <returns></returns> public static bool RegisterUser(RegistrationWidget widget, RegistrationWidgetViewModel model, FormCollection collection, out User user) { var userService = ServiceLocator.Current.GetInstance <IUserService>(); var userProfileService = ServiceLocator.Current.GetInstance <IUserProfileService>(); user = new User(); model.MapTo(user); userService.SetPassword(user, model.Password); var isSuccess = userService.Save(user); if (isSuccess) { var profile = new UserProfile { User = user, ProfileType = widget.ProfileType }; foreach (var item in widget.ProfileType.ProfileHeaders) { foreach (var element in item.ProfileElements) { var elementName = String.Format("{0}_{1}", (ElementType)element.Type, element.Id); var value = collection[elementName]; if (value == null) { continue; } profile.AddProfileElement(new UserProfileElement { UserProfile = profile, ProfileElement = element, Value = value }); } } isSuccess = userProfileService.Save(profile); } return(isSuccess); }
public static RegistrationWidgetViewModel BindWidgetModel(ICoreWidgetInstance instance) { var widgetService = ServiceLocator.Current.GetInstance <IRegistrationWidgetService>(); var widget = widgetService.Find(instance.InstanceId ?? 0); RegistrationWidgetViewModel model = null; if (widget != null) { model = new RegistrationWidgetViewModel { PageWidgetId = widget.Id, ProfileTypeId = widget.ProfileType.Id, Widget = widget }; } return(model); }
/// <summary> /// Registers the user. /// </summary> /// <param name="widget">The widget.</param> /// <param name="model">The model.</param> /// <param name="collection">The collection.</param> /// <param name="user">The user.</param> /// <returns></returns> public static bool RegisterUser(RegistrationWidget widget, RegistrationWidgetViewModel model, FormCollection collection, out User user) { var userService = ServiceLocator.Current.GetInstance<IUserService>(); var userProfileService = ServiceLocator.Current.GetInstance<IUserProfileService>(); user = new User(); model.MapTo(user); userService.SetPassword(user, model.Password); var isSuccess = userService.Save(user); if (isSuccess) { var profile = new UserProfile { User = user, ProfileType = widget.ProfileType }; foreach (var item in widget.ProfileType.ProfileHeaders) { foreach (var element in item.ProfileElements) { var elementName = String.Format("{0}_{1}", (ElementType)element.Type, element.Id); var value = collection[elementName]; if (value == null) continue; profile.AddProfileElement(new UserProfileElement { UserProfile = profile, ProfileElement = element, Value = value }); } } isSuccess = userProfileService.Save(profile); } return isSuccess; }