/*
* ==============================================================================
*
* 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
{
///
/// 工程路径
///
public string prjFilePath { get; set; } = @"D:\vision.prj";
///
/// 工程名称
///
public string prjName { get; set; }
///
/// 工程中所包含的VisionJob
///
public Dictionary Project { get; set; } = new Dictionary() { };
public bool LoadProject()
{
if(!File.Exists(prjFilePath))
{
return false;
}
else
{
try
{
Project = Serialize.BinaryDeserialize>(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(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);
}
}
}
}