예제 #1
0
        //[AllowUploadSpecialFilesOnly(".jpg,.png,.gif", true)]
        //[CheckReferrer]
        public virtual async Task <ActionResult> Create(AddUserViewModel viewModel)
        {
            #region Validation
            if (_userManager.CheckUserNameExist(viewModel.UserName, null))
            {
                this.AddErrors("UserName", "این نام کاربری قبلا در سیستم ثبت شده است");
            }
            if (_userManager.CheckNameForShowExist(viewModel.NameForShow, null))
            {
                this.AddErrors("NameForShow", "این نام نمایشی قبلا  در سیستم ثبت شده است");
            }
            if (!viewModel.Password.IsSafePasword())
            {
                this.AddErrors("Password", "این کلمه عبور به راحتی قابل تشخیص است");
            }
            if (_userManager.CheckEmailExist(viewModel.Email, null))
            {
                this.AddErrors("Email", "این ایمیل قبلا در سیستم ثبت شده است");
            }
            if (_userManager.CheckFacebookIdExist(viewModel.FaceBookId, null))
            {
                this.AddErrors("FaceBookId", "این آد دی قبلا در سیستم ثبت شده است");
            }
            if (_userManager.CheckFacebookIdExist(viewModel.GooglePlusId, null))
            {
                this.AddErrors("GooglePlusId", "این آد دی قبلا در سیستم ثبت شده است");
            }
            #endregion

            if (!ModelState.IsValid)
            {
                await PopulateRoles(viewModel.RoleIds);

                return(View(viewModel));
            }
            if (viewModel.RoleIds == null || viewModel.RoleIds.Length < 1)
            {
                ViewBag.ErrorMessage = "لطفا برای  کاربر مورد نظر ، گروه کاربری تعیین کنید";
                await PopulateRoles();

                return(View(viewModel));
            }

            var avatarName = viewModel.UserName + ".jpg";
            if (viewModel.AvatarImage != null && viewModel.AvatarImage.ContentLength > 0)
            {
                avatarName = this.UploadAvatarFile(viewModel.AvatarImage, avatarName);
            }
            viewModel.AvatarFileName = avatarName;
            await _userManager.AddUser(viewModel);

            ViewBag.Message = "عملیات ثبت  کاربر جدید با موفقیت انجام شد";
            return(RedirectToAction("Index", "User"));
        }
예제 #2
0
        //[CheckReferrer]
        public virtual async Task <ActionResult> Create(AddUserViewModel viewModel)
        {
            #region Validation
            if (_userManager.CheckUserNameExist(viewModel.UserName, null))
            {
                this.AddErrors("UserName", "این نام کاربری قبلا در سیستم ثبت شده است");
            }
            if (!viewModel.Password.IsSafePasword())
            {
                this.AddErrors("Password", "این کلمه عبور به راحتی قابل تشخیص است");
            }

            #endregion

            if (!ModelState.IsValid)
            {
                return(new JsonNetResult
                {
                    Data =
                        new
                    {
                        success = false,
                        View = this.RenderPartialViewToString(MVC.User.Views._Create, viewModel)
                    }
                });
            }
            var newUser =
                await _userManager.AddUser(viewModel);

            return(new JsonNetResult
            {
                Data =
                    new
                {
                    success = true,
                    View = this.RenderPartialViewToString(MVC.User.Views._UserItem, newUser)
                }
            });
        }