public async Task <ActionResult> EditElement(int plotelementid, int plotFolderId, int projectId, string content, string todoField, [CanBeNull] ICollection <string> targets) { try { var project = await ProjectRepository.GetProjectAsync(projectId); if (project.HasMasterAccess(CurrentUserId, acl => acl.CanManagePlots)) { var targetGroups = targets.OrEmptyList().GetUnprefixedGroups(); var targetChars = targets.OrEmptyList().GetUnprefixedChars(); await _plotService.EditPlotElement(projectId, plotFolderId, plotelementid, content, todoField, targetGroups, targetChars); } else { await _plotService.EditPlotElementText(projectId, plotFolderId, plotelementid, content, todoField); } return(ReturnToPlot(projectId, plotFolderId)); } catch (Exception) { return(await Edit(projectId, plotFolderId)); } }
public async Task <ActionResult> EditElement(int plotelementid, int plotFolderId, int projectId, string content, string todoField, bool isCompleted, [CanBeNull] ICollection <string> targets) { var folder = await _plotRepository.GetPlotFolderAsync(projectId, plotFolderId); var error = AsMaster(folder, acl => acl.CanManagePlots); if (error != null) { return(error); } try { var targetGroups = targets.OrEmptyList().GetUnprefixedGroups(); var targetChars = targets.OrEmptyList().GetUnprefixedChars(); await _plotService.EditPlotElement(projectId, plotFolderId, plotelementid, content, todoField, targetGroups, targetChars, isCompleted, CurrentUserId); return(ReturnToPlot(plotFolderId, projectId)); } catch (Exception) { return(await Edit(projectId, plotFolderId)); } }