Пример #1
0
        public async Task <ActionResult> Edit(EditCharacterViewModel viewModel)
        {
            var field =
                await CharacterRepository.GetCharacterAsync(viewModel.ProjectId,
                                                            viewModel.CharacterId);

            try
            {
                if (!ModelState.IsValid)
                {
                    return(View(viewModel.Fill(field, CurrentUserId)));
                }

                await CharacterService.EditCharacter(
                    CurrentUserId,
                    viewModel.CharacterId,
                    viewModel.ProjectId,
                    viewModel.Name,
                    viewModel.IsPublic,
                    viewModel.ParentCharacterGroupIds.GetUnprefixedGroups(),
                    viewModel.IsAcceptingClaims&&
                    field.ApprovedClaim == null,
                    viewModel.HidePlayerForCharacter,
                    Request.GetDynamicValuesFromPost(FieldValueViewModel.HtmlIdPrefix),
                    viewModel.IsHot);

                return(RedirectToAction("Details",
                                        new { viewModel.ProjectId, viewModel.CharacterId }));
            }
            catch (Exception exception)
            {
                ModelState.AddException(exception);
                return(View(viewModel.Fill(field, CurrentUserId)));
            }
        }
Пример #2
0
        public async Task <ActionResult> AddForCharacter(int projectid, int characterid)
        {
            var field = await CharacterRepository.GetCharacterAsync(projectid, characterid);

            if (field == null)
            {
                return(HttpNotFound());
            }
            return(View("Add", AddClaimViewModel.Create(field, CurrentUserId)));
        }
Пример #3
0
        public async Task <ActionResult> Delete(int projectid, int characterid)
        {
            var field = await CharacterRepository.GetCharacterAsync(projectid, characterid);

            if (field == null)
            {
                return(HttpNotFound());
            }
            return(View(field));
        }
Пример #4
0
        public async Task <ActionResult> Delete(int projectId,
                                                int characterId,
                                                [UsedImplicitly]
                                                IFormCollection form)
        {
            var field = await CharacterRepository.GetCharacterAsync(projectId, characterId);

            try
            {
                await CharacterService.DeleteCharacter(projectId, characterId, CurrentUserId);

                return(RedirectToIndex(field.Project));
            }
            catch
            {
                return(View(field));
            }
        }
Пример #5
0
        public async Task <ActionResult> Edit(EditCharacterViewModel viewModel)
        {
            var field =
                await CharacterRepository.GetCharacterAsync(viewModel.ProjectId,
                                                            viewModel.CharacterId);

            try
            {
                if (!ModelState.IsValid)
                {
                    return(View(viewModel.Fill(field, CurrentUserId)));
                }

                await ProjectService.EditCharacter(
                    CurrentUserId,
                    viewModel.CharacterId,
                    viewModel.ProjectId,
                    viewModel.Name,
                    viewModel.IsPublic,
                    viewModel.ParentCharacterGroupIds.GetUnprefixedGroups(),
                    viewModel.IsAcceptingClaims&&
                    field.ApprovedClaim == null, //Force this field to false if has approved claim
                    viewModel.Description,
                    viewModel.HidePlayerForCharacter,
                    GetCustomFieldValuesFromPost(),
                    viewModel.IsHot);

                return(RedirectToAction("Details",
                                        new { viewModel.ProjectId, viewModel.CharacterId }));
            }
            catch (Exception exception)
            {
                ModelState.AddException(exception);
                return(View(viewModel.Fill(field, CurrentUserId)));
            }
        }
        public async Task <ActionResult <Character> > GetCharacterAsync(int id)
        {
            CharacterRepository result = new CharacterRepository();

            return(await result.GetCharacterAsync(id));;
        }