Example #1
0
        public virtual async Task <ActionResult> Edit(EditRoleViewModel viewModel)
        {
            if (_roleManager.ChechForExisByName(viewModel.Name, viewModel.Id))
            {
                this.AddErrors("Name", "این گروه  قبلا در سیستم ثبت شده است");
            }

            if (!ModelState.IsValid)
            {
                ViewBag.ErrorMessage = "لطفا فیلد های مورد نظر را با دقت وارد کنید";
                PopulatePermissions(viewModel.PermissionNames);
                return(View(viewModel));
            }

            var dbRole = await _roleManager.FindByIdAsync(viewModel.Id);

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

            if (!await _roleManager.EditRole(viewModel))
            {
                ViewBag.ErrorMessage = "لطفا برای گروه کاربری مورد نظر ، دسترسی تعیین کنید";
                PopulatePermissions();
                return(View(viewModel));
            }
            await _unitOfWork.SaveChangesAsync();

            ViewBag.Message = "عملیات ویرایش گروه کاربری  با موفقیت انجام شد";
            return(RedirectToAction("Index", "Role"));
        }