예제 #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
        public virtual async Task <ActionResult> Edit(EditUserViewModel viewModel)
        {
            #region Validation
            if (_userManager.CheckUserNameExist(viewModel.UserName, viewModel.Id))
            {
                this.AddErrors("UserName", "این نام کاربری قبلا در سیستم ثبت شده است");
            }
            if (_userManager.CheckNameForShowExist(viewModel.NameForShow, viewModel.Id))
            {
                this.AddErrors("NameForShow", "این نام نمایشی قبلا  در سیستم ثبت شده است");
            }
            if (viewModel.Password.IsNotEmpty() && !viewModel.Password.IsSafePasword())
            {
                this.AddErrors("Password", "این کلمه عبور به راحتی قابل تشخیص است");
            }
            if (_userManager.CheckEmailExist(viewModel.Email, viewModel.Id))
            {
                this.AddErrors("Email", "این ایمیل قبلا در سیستم ثبت شده است");
            }
            if (_userManager.CheckFacebookIdExist(viewModel.FaceBookId, viewModel.Id))
            {
                this.AddErrors("FaceBookId", "این آد دی قبلا در سیستم ثبت شده است");
            }
            if (_userManager.CheckFacebookIdExist(viewModel.GooglePlusId, viewModel.Id))
            {
                this.AddErrors("GooglePlusId", "این آد دی قبلا در سیستم ثبت شده است");
            }

            #endregion

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

                return(View(viewModel));
            }

            var dbUser = await _userManager.FindByIdAsync(viewModel.Id);

            if (dbUser == null)
            {
                return(HttpNotFound());
            }

            var avatarName = "avatar.jpg";
            if (viewModel.AvatarImage != null && viewModel.AvatarImage.ContentLength > 0)
            {
                avatarName = this.UploadFile(viewModel.AvatarImage);
            }
            viewModel.AvatarFileName = avatarName;

            if (!await _userManager.EditUser(viewModel))
            {
                this.NotyWarning("لطفا برای کاربر مورد نظر ، گروه کاربری تعیین کنید");
                await PopulateRoles();

                return(View(viewModel));
            }

            this.NotySuccess("عملیات  ویرایش کاربر با موفقیت انجام شد");
            return(RedirectToAction(MVC.Administrator.User.ActionNames.List, MVC.Administrator.User.Name));
        }