AutomateOneWorkbook
(
ThisWorkbook thisWorkbook,
NodeXLControl nodeXLControl,
AutomationTasks tasksToRun,
String folderToSaveWorkbookTo
)
{
Debug.Assert(thisWorkbook != null);
Debug.Assert(nodeXLControl != null);
CheckTasksToRunArgument(ref tasksToRun);
Microsoft.Office.Interop.Excel.Workbook oWorkbook =
thisWorkbook.InnerObject;
if
(
(
ShouldRunTask(tasksToRun, AutomationTasks.MergeDuplicateEdges)
&&
!TryMergeDuplicateEdges(thisWorkbook)
)
||
(
ShouldRunTask(tasksToRun, AutomationTasks.CalculateClusters)
&&
!TryCalculateClusters(thisWorkbook)
)
||
(
ShouldRunTask(tasksToRun,
AutomationTasks.CalculateGraphMetrics)
&&
!TryCalculateGraphMetrics(oWorkbook)
)
||
(
ShouldRunTask(tasksToRun, AutomationTasks.AutoFillWorkbook)
&&
!TryAutoFillWorkbook(thisWorkbook)
)
||
(
ShouldRunTask(tasksToRun, AutomationTasks.CreateSubgraphImages)
&&
!TryCreateSubgraphImages(thisWorkbook)
)
)
{
return;
}
RunReadWorkbookTasks(thisWorkbook, nodeXLControl, tasksToRun,
folderToSaveWorkbookTo);
}