示例#1
0
        public async Task <IActionResult> Edit(InputModels.EditBoardInput input)
        {
            if (ModelState.IsValid)
            {
                var serviceResponse = BoardRepository.UpdateBoard(input);
                return(await ForumViewResult.RedirectFromService(this, serviceResponse, FailureCallback));
            }

            return(await FailureCallback());

            async Task <IActionResult> FailureCallback()
            {
                var boardRecord = BoardRepository.First(b => b.Id == input.Id);

                var viewModel = new PageViewModels.EditPage {
                    Id         = boardRecord.Id,
                    Categories = BoardRepository.CategoryPickList(),
                    Roles      = RoleRepository.PickList(boardRecord.Id)
                };

                viewModel.Name        = input.Name;
                viewModel.Description = input.Description;

                if (!string.IsNullOrEmpty(input.Category))
                {
                    viewModel.Categories.First(item => item.Value == input.Category).Selected = true;
                }

                return(await Task.Run(() => { return ForumViewResult.ViewResult(this, viewModel); }));
            }
        }
示例#2
0
        public async Task <IActionResult> Create(int id = 0)
        {
            var board = BoardRepository.First(item => item.Id == id);

            if (Request.Query.TryGetValue("source", out var source))
            {
                return(await Create(new InputModels.MessageInput {
                    BoardId = id, Body = source
                }));
            }

            var viewModel = new ViewModels.Messages.CreateTopicPage {
                BoardId = id
            };

            return(ForumViewResult.ViewResult(this, viewModel));
        }
示例#3
0
        public IActionResult Edit(int id)
        {
            var boardRecord = BoardRepository.First(b => b.Id == id);
            var category    = BoardRepository.Categories.First(item => item.Id == boardRecord.CategoryId);

            var viewModel = new PageViewModels.EditPage {
                Id          = boardRecord.Id,
                Name        = boardRecord.Name,
                Description = boardRecord.Description,
                Categories  = BoardRepository.CategoryPickList(),
                Roles       = RoleRepository.PickList(boardRecord.Id),
            };

            viewModel.Categories.First(item => item.Text == category.Name).Selected = true;

            return(ForumViewResult.ViewResult(this, viewModel));
        }