public ActionResult CreateUserAccountData(UserDetailModel model)
        {
            // Validate
            if (ModelState.IsValid)
            {
                User         user          = null;
                UserActivity UserActivity  = null;
                int[]        selectedUGIds = null;
                using (var proxy = new UserProxy())
                {
                    user = proxy.GetUserById(model.UserId);
                    if (user != null)
                    {
                        ModelState.AddModelError("User Id", Convert.ToString(Resources.Res.RES_Error_Unique));
                    }
                    else
                    {
                        User userInfo = @Utilities.GetCurrentUserInfo();
                        user = new User()
                        {
                            Email             = Convert.ToString(model.Email),
                            MobileNumber      = Convert.ToString(model.OfficeNumber),
                            Password          = model.Password,
                            IsDeptAdmin       = Convert.ToString(model.IsDeptAdmin),
                            UserDisplayName   = Convert.ToString(model.UserName),
                            Organisation_GUID = model.OrganizationGUID,
                            Language          = model.BlastManagerWebSettingID,
                            UserName          = model.UserId,
                            LastName          = model.UserLastName,
                            IsActive          = Convert.ToByte(model.IsActive),
                            CreatedBy         = Convert.ToString(userInfo.UserName),
                            CreatedDate       = DateTime.Now,
                            UpdatedBy         = null,
                            UpdatedDate       = null,
                        };

                        UserActivity = new UserActivity()
                        {
                            IsActive  = Convert.ToBoolean(model.IsActive),
                            TimeStamp = DateTime.Now,
                        };
                    }
                    if (ModelState.IsValid)
                    {
                        if (!string.IsNullOrWhiteSpace(model.SelectedUserGroupIdList))
                        {
                            user.UserRoles = new List <UserRole>();
                            selectedUGIds  = model.SelectedUserGroupIdList.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries).Distinct().Select(p => int.Parse(p)).ToArray();
                            foreach (var ugId in selectedUGIds)
                            {
                                user.UserRoles.Add(new UserRole()
                                {
                                    UserRoleId = ugId
                                });
                            }
                        }
                        proxy.CreateUser(user, UserActivity);

                        model.ShowSuccessMessage   = true;
                        model.SuccessDirectionPath = string.Format("{0}/{1}", Constants.Controllers.User, Constants.Controllers.User_UserGroup);
                        model.SuccessMessage       = Convert.ToString(Resources.Res.RES_Success);
                    }
                }
            }

            return(View("CreateUserAccount", model));
        }