public async Task <ActionResult> EditSubscribe(SubscribeSettingsViewModel viewModel)
        {
            var group = await ProjectRepository.GetGroupAsync(viewModel.ProjectId, viewModel.CharacterGroupId);

            if (group == null)
            {
                return(HttpNotFound());
            }

            var user = await UserRepository.GetWithSubscribe(CurrentUserId);

            var serverModel = new SubscribeSettingsViewModel(user, group);

            serverModel.OrSetIn(viewModel);

            try
            {
                await
                ProjectService.UpdateSubscribeForGroup(new SubscribeForGroupRequest
                {
                    CharacterGroupId = group.CharacterGroupId,
                    ProjectId        = group.ProjectId,
                }.AssignFrom(serverModel.GetOptionsToSubscribeDirectly()));

                return(RedirectToIndex(group.Project));
            }
            catch (Exception e)
            {
                ModelState.AddException(e);
                return(View(serverModel));
            }
        }
        public async Task <ActionResult> EditSubscribe(SubscribeSettingsViewModel viewModel)
        {
            var group = await ProjectRepository.GetGroupAsync(viewModel.ProjectId, viewModel.CharacterGroupId);

            var error = AsMaster(group);

            if (error != null)
            {
                return(error);
            }

            try
            {
                await
                ProjectService.UpdateSubscribeForGroup(@group.ProjectId, @group.CharacterGroupId, CurrentUserId,
                                                       viewModel.ClaimStatusChangeValue, viewModel.CommentsValue,
                                                       viewModel.FieldChangeValue, viewModel.MoneyOperationValue);

                return(RedirectToIndex(group.Project));
            }
            catch (Exception e)
            {
                ModelState.AddModelError("", e);
                return(View(viewModel));
            }
        }