예제 #1
0
        public ActionResult Create(CreateEditSubModel model)
        {
            var response = _commandBus.Send <CreateSub, CreateSubResponse>(new CreateSub
            {
                CreatedByUserId = _userContext.CurrentUser.Id,
                Name            = model.Name,
                Description     = model.Description,
                SidebarText     = model.SidebarText,
                SubmissionText  = model.SubmissionText,
                Type            = model.SubType,
                IsDefault       = model.IsDefault,
                InAll           = model.InAll,
                Nsfw            = model.Nsfw
            });

            if (!string.IsNullOrEmpty(response.Error))
            {
                ModelState.AddModelError(string.Empty, response.Error);
                return(View(model));
            }

            AddSuccessMessage("You sub has been succesfully created.");

            return(Redirect("/"));
        }
예제 #2
0
        public ActionResult Edit(string id, CreateEditSubModel model)
        {
            var name = id;

            model.IsEditing = true;
            model.Name      = name;

            var response = _commandBus.Send <EditSub, EditSubResponse>(new EditSub
            {
                EditedByUserId = _userContext.CurrentUser.Id,
                Name           = name,
                Description    = model.Description,
                SidebarText    = model.SidebarText
            });

            if (!string.IsNullOrEmpty(response.Error))
            {
                ModelState.AddModelError(string.Empty, response.Error);
                return(View(model));
            }

            // todo: success message


            return(View(model));
        }
예제 #3
0
        public ActionResult Create()
        {
            var model = new CreateEditSubModel();

            // admins can create default subs
            if (_userContext.CurrentUser.IsAdmin)
            {
                model.IsDefault = false;
            }

            model.InAll = true;

            return(View(model));
        }
예제 #4
0
        public ActionResult Edit(string subName, CreateEditSubModel model)
        {
            if (string.IsNullOrEmpty(subName))
            {
                return(Redirect(Url.Subs()));
            }

            model.IsEditing = true;
            model.Name      = subName;

            var sub = _subDao.GetSubByName(subName);

            if (sub == null)
            {
                return(Redirect(Url.Subs(subName)));
            }

            if (!_permissionDao.CanUserManageSubConfig(_userContext.CurrentUser, sub.Id))
            {
                throw new UnauthorizedException();
            }

            var response = _commandBus.Send <EditSub, EditSubResponse>(new EditSub
            {
                EditedByUserId = _userContext.CurrentUser.Id,
                Name           = subName,
                Description    = model.Description,
                SidebarText    = model.SidebarText,
                SubmissionText = model.SubmissionText,
                Type           = model.SubType,
                IsDefault      = model.IsDefault,
                Nsfw           = model.Nsfw,
                InAll          = model.InAll
            });

            if (!string.IsNullOrEmpty(response.Error))
            {
                ModelState.AddModelError(string.Empty, response.Error);
                return(View(model));
            }

            // todo: success message

            return(View(model));
        }
예제 #5
0
        public ActionResult Create(CreateEditSubModel model)
        {
            var response = _commandBus.Send <CreateSub, CreateSubResponse>(new CreateSub
            {
                CreatedByUserId = _userContext.CurrentUser.Id,
                Name            = model.Name,
                Description     = model.Description,
                SidebarText     = model.SidebarText
            });

            if (!string.IsNullOrEmpty(response.Error))
            {
                ModelState.AddModelError(string.Empty, response.Error);
                return(View(model));
            }

            // todo: success message

            return(Redirect(Url.EditSub(response.SubName)));
        }