Пример #1
0
        public IActionResult Detail(short id)
        {
            if (id <= 0)
            {
                return(RedirectToNotFoundPage());
            }

            try
            {
                var policy = _authorizationPolicyService.Find(id);
                if (policy == null)
                {
                    return(RedirectToNotFoundPage());
                }

                var model = new AuthorizationPolicyModel
                {
                    CreatedById   = policy.CreatedById,
                    CreatedDate   = policy.CreatedDate,
                    CreatedByName = policy.CreatedByName,
                    UpdatedById   = policy.UpdatedById,
                    UpdatedDate   = policy.CreatedDate,
                    UpdatedByName = policy.CreatedByName,
                    Description   = policy.Description,
                    Id            = policy.Id,
                    Name          = policy.Name
                };
                return(View(model));
            }
            catch (Exception)
            {
                return(RedirectToErrorPage());
            }
        }
Пример #2
0
        public IActionResult Update(short id)
        {
            var policy = _authorizationPolicyService.Find(id);
            var model  = new AuthorizationPolicyModel
            {
                CreatedById   = policy.CreatedById,
                CreatedDate   = policy.CreatedDate,
                CreatedByName = policy.CreatedByName,
                UpdatedById   = policy.UpdatedById,
                UpdatedDate   = policy.CreatedDate,
                UpdatedByName = policy.CreatedByName,
                Description   = policy.Description,
                Id            = policy.Id,
                Name          = policy.Name
            };

            var permissionMethod = EnumUtil.FilterEnumByName <PolicyMethod>(model.Name);

            model.SelectPermissionMethods = EnumUtil.ToSelectOptions(permissionMethod).Select(x => new SelectListItem
            {
                Selected = x.IsSelected,
                Value    = x.Id,
                Text     = x.Text
            });
            model.PermissionMethod = (int)permissionMethod;
            var permissionMethodName = permissionMethod.ToString();

            model.Name = model.Name.Replace(permissionMethodName, "");

            return(View(model));
        }
Пример #3
0
        public IActionResult Create()
        {
            var model = new AuthorizationPolicyModel()
            {
                SelectPermissionMethods = EnumUtil.ToSelectOptions <PolicyMethod>().Select(x => new SelectListItem
                {
                    Text  = x.Text,
                    Value = x.Id
                })
            };

            return(View(model));
        }
Пример #4
0
        public async Task <IActionResult> Update(AuthorizationPolicyModel model)
        {
            if (model.Id <= 0)
            {
                return(RedirectToErrorPage());
            }

            if (model.PermissionMethod > 0)
            {
                var permissionMethod = (PolicyMethod)model.PermissionMethod;
                model.Name = $"{permissionMethod}{model.Name}";
            }

            var exist = await _authorizationPolicyService.FindByNameAsync(model.Name);

            if (exist == null)
            {
                return(RedirectToErrorPage());
            }

            var policy = new AuthorizationPolicyRequest
            {
                CreatedDate   = model.CreatedDate,
                CreatedByName = model.CreatedByName,
                UpdatedById   = LoggedUserId,
                UpdatedDate   = model.CreatedDate,
                UpdatedByName = model.CreatedByName,
                Description   = model.Description,
                Id            = model.Id,
                Name          = model.Name
            };

            policy.UpdatedById = LoggedUserId;
            await _authorizationPolicyService.UpdateAsync(policy);

            return(RedirectToAction(nameof(Detail), new { id = model.Id }));
        }