logplus/ModuleConsole/command/src/SaveAllWorkflowsCmd.cpp
2026-01-16 17:18:41 +08:00

74 lines
1.7 KiB
C++

/*
* 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<PaiWorkflowDataModel*> lstModifiedWorkflows = SaveHelper::GetModifiedWorkflows(m_ViewID);
foreach(PaiWorkflowDataModel* pModifiedWorkflow, lstModifiedWorkflows)
{
if(PaiPermissionChecker::HasPermission(dynamic_cast<PaiObject*>(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();
}
}
}
}
}
}