예제 #1
0
        public ActionResult Create(UserBanCreateOrUpdate value)
        {
            if (value == null)
            {
                throw new ArgumentNullException("value");
            }

            var ban = this.UserBanService.Create();
            var privilege = new UserBanPrivilege();

            if (!privilege.CanUpdate(ban))
            {
                return NotAuthorized();
            }

            value.Validate();

            if (value.IsValid)
            {
                value.ValueToModel(ban);

                this.UserBanService.InsertOrUpdate(ban, value.Name);

                value = new UserBanCreateOrUpdate(ban);
                value.SuccessMessage(Messages.UserBanCreated.FormatInvariant(ban.User.Name));
            }
            else
            {
                value.CopyToModel(ModelState);
            }

            return base.View(Views.Update, value);
        }
예제 #2
0
        public ActionResult Create()
        {
            var ban = this.UserBanService.Create();
            var privilege = new UserBanPrivilege();

            return privilege.CanCreate(ban) ? base.View(Views.Create, new UserBanCreateOrUpdate()) : NotAuthorized();
        }
예제 #3
0
        public ActionResult Index(SortUserBan sort, SortOrder order, int? page)
        {
            var bans = this.UserBanService.GetPaged(new UserBanSpecification
            {
                Page = page,
                Limit = Setting.UserBanPageLimit.Value,
                Sort = sort,
                Order = order
            });

            var ban = bans.FirstOrDefault();
            var privilege = new UserBanPrivilege();

            return privilege.CanView(ban) ? base.View(Views.Index, bans) : NotAuthorized();
        }
예제 #4
0
        public ActionResult Update(int id)
        {
            var ban = this.UserBanService.GetById(id);

            if (ban == null)
            {
                return base.HttpNotFound();
            }

            var privilege = new UserBanPrivilege();

            return privilege.CanUpdate(ban) ? base.View(Views.Update, new UserBanCreateOrUpdate(ban)) : NotAuthorized();
        }
예제 #5
0
        public ActionResult Delete(UserBanDelete value)
        {
            if (value == null)
            {
                throw new ArgumentNullException("value");
            }

            var ban = this.UserBanService.GetById(value.Id);

            if (ban == null)
            {
                return base.HttpNotFound();
            }

            var privilege = new UserBanPrivilege();

            if (!privilege.CanDelete(ban))
            {
                return NotAuthorized();
            }

            this.UserBanService.Delete(ban);

            return RedirectToRoute(UsersAdministrationRoutes.BanIndex);
        }