Files
VisionEdit/ToolLib.VisionJob/VisionProject.cs
liu.wenjie 9dcba19b67 1、增加单独Job的保存、添加和创建
2、每个Job单独绑定一个图像窗体
3、支持通过以job的方式外部调用
2022-05-09 16:17:41 +08:00

112 lines
3.2 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/*
* ==============================================================================
*
* Filename: VisionProject
* Description:
*
* Version: 1.0
* Created: 2021/2/27 15:49:25
*
* Author: liu.wenjie
*
* ==============================================================================
*/
using CommonMethods;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace ToolLib.VisionJob
{
public class VisionProject
{
/// <summary>
/// 工程路径
/// </summary>
public string prjFilePath { get; set; } = @"D:\vision.prj";
/// <summary>
/// 工程名称
/// </summary>
public string prjName { get; set; }
/// <summary>
/// 工程中所包含的VisionJob
/// </summary>
public Dictionary<string, VisionJob> Project { get; set; } = new Dictionary<string, VisionJob>() { };
public bool LoadProject()
{
if(!File.Exists(prjFilePath))
{
return false;
}
else
{
try
{
Project = Serialize.BinaryDeserialize<Dictionary<string, VisionJob>>(prjFilePath);
foreach (var item in Project)
{
OperateProject.Instance.CreateNewJob(item.Key, false);
}
return true;
}
catch (Exception ex)
{
Logger.LoggerClass.WriteLog("载入项目工程时出现异常!", ex);
return false;
}
}
}
public void SaveObject()
{
Serialize.BinarySerialize(prjFilePath, Project);
}
public bool LoadJob(string jobName,string path)
{
if (!File.Exists(path))
{
Logger.LoggerClass.WriteLog("job路径不存在", true);
return false;
}
else if(Project.ContainsKey(jobName))
{
Logger.LoggerClass.WriteLog("项目中已存在该JOB名称请更换", true);
return false;
}
else
{
try
{
VisionJob myNewJob = Serialize.BinaryDeserialize<VisionJob>(path);
OperateProject.Instance.CreateNewJob(jobName, myNewJob, true); // 新添加job
return true;
}
catch (Exception ex)
{
Logger.LoggerClass.WriteLog("载入项目工程时出现异常!", ex);
return false;
}
}
}
public void SaveJob(string jobName,string filePath)
{
if(Project.ContainsKey(jobName))
{
Serialize.BinarySerialize(filePath, Project[jobName]);
}
else
{
Logger.LoggerClass.WriteLog("保存时出现异常未找到Job", true);
}
}
}
}