/// <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;
        }
Ejemplo n.º 4
0
        /// <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);
        }
Ejemplo n.º 5
0
        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;
        }