コード例 #1
0
        public async Task <ActionResult> Edit(GameFieldEditViewModel viewModel)
        {
            var project = await ProjectRepository.GetProjectAsync(viewModel.ProjectId);

            var field = project.ProjectFields.SingleOrDefault(e => e.ProjectFieldId == viewModel.ProjectFieldId);

            if (field == null)
            {
                return(HttpNotFound());
            }
            if (!ModelState.IsValid)
            {
                viewModel.FillNotEditable(field, CurrentUserId);
                return(View(viewModel));
            }
            try
            {
                await
                FieldSetupService.UpdateFieldParams(project.ProjectId, field.ProjectFieldId,
                                                    viewModel.Name, viewModel.DescriptionEditable, viewModel.CanPlayerEdit, viewModel.CanPlayerView,
                                                    viewModel.IsPublic, (MandatoryStatus)viewModel.MandatoryStatus,
                                                    viewModel.ShowForGroups.GetUnprefixedGroups(), viewModel.ValidForNpc, viewModel.IncludeInPrint,
                                                    viewModel.ShowForUnApprovedClaim);

                return(ReturnToIndex(project));
            }
            catch (Exception exception)
            {
                ModelState.AddException(exception);
                viewModel.FillNotEditable(field, CurrentUserId);
                return(View(viewModel));
            }
        }
コード例 #2
0
        /// <summary>
        /// Get field edit page
        /// </summary>
        public async Task <GameFieldEditViewModel> EditPageAsync(int projectFieldId)
        {
            var field = await ProjectRepository.GetProjectField(CurrentProject.ProjectId, projectFieldId);

            if (field == null)
            {
                return(null);
            }

            var model = new GameFieldEditViewModel(field, CurrentUser.UserId);

            return(FillFromProject(field.Project, model));
        }
コード例 #3
0
 public IViewComponentResult Invoke(GameFieldEditViewModel field) => View("FieldRow", field);