/* * SaveAllWorkflowsCmd.cpp * * Created on: 2012-10-19 * Author: dev */ #include "SaveAllWorkflowsCmd.h" #include "PaiWorkflowDataModel.h" #include "SaveHelper.h" #include "SaveWorkflowCmd.h" #include "TimeStampLogger.h" #include "PaiWorkflowTemplateTree.h" #include "SaveTemplateCmd.h" #include "PaiPermissionChecker.h" using namespace pai::objectmodel; using namespace pai::gui; namespace pai { SaveAllWorkflowsCmd::SaveAllWorkflowsCmd(QUuid viewID, pai::CPaiWorkflowTemplateTree *pTemplateTree, QUndoCommand *parent) :QUndoCommand(parent), m_ViewID(viewID), m_pTemplateTree(pTemplateTree) { } SaveAllWorkflowsCmd::~SaveAllWorkflowsCmd() { } void SaveAllWorkflowsCmd::undo() { } void SaveAllWorkflowsCmd::redo() { pai::gui::TimeStampLogger::GetInstance().WriteGUIBenchMarkLog("Workflow", true, "Save all workflows"); SaveAllWorkflows(); pai::gui::TimeStampLogger::GetInstance().WriteGUIBenchMarkLog("Workflow", false, "Save all workflows"); } void SaveAllWorkflowsCmd::SaveAllWorkflows() { QList lstModifiedWorkflows = SaveHelper::GetModifiedWorkflows(m_ViewID); foreach(PaiWorkflowDataModel* pModifiedWorkflow, lstModifiedWorkflows) { if(PaiPermissionChecker::HasPermission(dynamic_cast(pModifiedWorkflow),PaiAction::PaiPermissionTypes(PaiAction::UPDATE))) { if(pModifiedWorkflow->IsTemplate() == false) { SaveWorkflowCmd saveWorkflowCmd(m_ViewID,pModifiedWorkflow); saveWorkflowCmd.redo(); } else { if(m_pTemplateTree) { SaveTemplateCmd saveTemplateCmd(m_pTemplateTree,pModifiedWorkflow); saveTemplateCmd.redo(); } } } } } }