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)); } }