using DevExpress.XtraEditors;
using System;
using System.Windows.Forms;
namespace IStation.WinFrmUI.Basic
{
public class ProjectHelper
{
///
/// 加载项目
///
public static bool LoadProject(long projectId)
{
WaitFrmHelper.ShowWaitForm("正在加载项目,请稍候...");
var result = new BLL.Project().GetByID(projectId);
WaitFrmHelper.HideWaitForm();
if (result == null)
{
XtraMessageBox.Show("未检测到项目!");
return false;
}
Settings.Project.ID = projectId;
Settings.Save();
BLL.BasicDb.InitTables(projectId);
return true;
}
///
/// 导入项目
///
public static long ImportProject(string path)
{
WaitFrmHelper.ShowWaitForm("正在导入项目,请稍候...");
var projectId = new BLL.Project().Import(path, out string msg);
WaitFrmHelper.HideWaitForm();
if (projectId < 1)
{
XtraMessageBox.Show($"导入失败!\r\n错误:{msg}");
return default;
}
return projectId;
}
///
/// 获取打开项目路径
///
public static string GetOpenProjectPath()
{
var dlg = new OpenFileDialog();
dlg.Title = "项目文件";
dlg.Filter = "历史数据|*" + Settings.File.ProjectSuffix;
dlg.AutoUpgradeEnabled = true;
dlg.ShowDialog();
return dlg.FileName;
}
///
/// 另存为
///
public static bool OtherSaveProject(long projectId)
{
var model = new BLL.Project().GetByID(projectId);
if (model == null)
{
XtraMessageBox.Show("获取项目信息失败");
return false;
}
var dlg = new SaveFileDialog();
dlg.Title = "另存为";
dlg.Filter = "历史数据|*" + Settings.File.ProjectSuffix;
dlg.AddExtension = true;
dlg.FileName = model.Name;
if (dlg.ShowDialog() == DialogResult.OK)
{
WaitFrmHelper.ShowWaitForm("正在导出......");
var result = new BLL.Project().Export(projectId, dlg.FileName, out string msg);
if (!result)
{
XtraMessageBox.Show($"另存为失败!\r\n错误:{msg}");
return false;
}
WaitFrmHelper.HideWaitForm();
return true;
}
return false;
}
///
/// 关闭项目
///
public static bool CloseProject()
{
if (XtraMessageBox.Show("是否关闭程序?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) != DialogResult.Yes)
{
return true;
}
var bll = new BLL.Project();
var project = bll.GetByID(Settings.Project.ID);
project.UpdateTime = DateTime.Now;
bll.Update(project);
Settings.Save();
return false;
}
}
}