添加项目文件。

This commit is contained in:
2024-07-04 17:42:03 +08:00
parent dc72862945
commit 1bd6cd358f
71 changed files with 7218 additions and 0 deletions

View File

@@ -0,0 +1,599 @@
using AutoMapper;
using CapMachine.Core;
using CapMachine.Model;
using CapMachine.Wpf.Models;
using ImTools;
using Prism.Commands;
using Prism.Services.Dialogs;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
namespace CapMachine.Wpf.ViewModels
{
public class DialogChartRtConfigViewModel : DialogViewModel
{
public DialogChartRtConfigViewModel(IFreeSql freeSql, IMapper mapper)
{
this.Title = "曲线编辑";
//加载曲线数据源
ChartSrcDataListViewItems = new ObservableCollection<ChartSrcData>();
ChartSrcDataListViewItems.Add(new ChartSrcData()
{
Index = 1,
Name = "温度",
Selected = true
});
ChartSrcDataListViewItems.Add(new ChartSrcData()
{
Index = 2,
Name = "压力",
Selected = true
});
ChartSrcDataListViewItems.Add(new ChartSrcData()
{
Index = 3,
Name = "湿度",
Selected = false
});
ChartSrcDataListViewItems.Add(new ChartSrcData()
{
Index = 4,
Name = "过冷度",
Selected = false
});
ChartYAxisDataListViewItems = new ObservableCollection<ChartYAxisDto>()
{
new ChartYAxisDto(){
Name="温度",
Max=100,
Min=-50,
Unit="℃",
Index=3,
},
new ChartYAxisDto(){
Name="湿度",
Max=100,
Min=0,
Unit="%",
Index=1,
},
new ChartYAxisDto(){
Name="压力",
Max=100,
Min=-50,
Unit="Mpa",
Index=2,
},
};
FreeSql = freeSql;
this.Mapper = mapper;
RefreshChartSourceData();
RefreshChartSelectedData();
RefreshChartYAxisData();
}
/// <summary>
/// FreeSql
/// </summary>
public IFreeSql FreeSql { get; }
/// <summary>
/// AutoMap映射
/// </summary>
public IMapper Mapper { get; }
/// <summary>
/// 加载数据
/// </summary>
private void RefreshChartSourceData()
{
//var data = FreeSql.Select<ConfigChartSelect>().ToList();
//Mapper.Map<List<ChartSelectDto>>(data);
//ChartSelectDataListViewItems = new ObservableCollection<ChartSelectDto>(Mapper.Map<List<ChartSelectDto>>(data));
}
/// <summary>
/// 加载选择数据
/// </summary>
private void RefreshChartSelectedData()
{
var ChartSelectedData = FreeSql.Select<ConfigChartSelect>().Include(a=>a.ConfigChartYAxis).ToList();
ChartSelectDataListViewItems.Clear();
foreach (var item in ChartSelectedData)
{
ChartSelectDataListViewItems.Add(Mapper.Map<ChartSelectDto>(item));
}
//SelectedChartSelectData = null;
//Mapper.Map<List<ChartSelectDto>>(data);
//ChartSelectDataListViewItems = new ObservableCollection<ChartSelectDto>(Mapper.Map<List<ChartSelectDto>>(data));
}
/// <summary>
/// 加载Y轴数据信息
/// </summary>
private void RefreshChartYAxisData()
{
var ChartYAxisData = FreeSql.Select<ConfigChartYAxis>().ToList();
ChartYAxisDataListViewItems.Clear();
foreach (var item in ChartYAxisData)
{
ChartYAxisDataListViewItems.Add(Mapper.Map<ChartYAxisDto>(item));
}
}
#region
private DelegateCommand<object> _SelectionChartSourceCmd;
/// <summary>
/// 选中Chart数据源命令
/// </summary>
public DelegateCommand<object> SelectionChartSourceCmd
{
set
{
_SelectionChartSourceCmd = value;
}
get
{
if (_SelectionChartSourceCmd == null)
{
_SelectionChartSourceCmd = new DelegateCommand<object>((str) => SelectionChartSourceCmdMethod(str));
}
return _SelectionChartSourceCmd;
}
}
/// <summary>
/// 执行方法
/// </summary>
/// <param name="str"></param>
/// <exception cref="NotImplementedException"></exception>
private void SelectionChartSourceCmdMethod(object par)
{
var data = par as ChartSrcData;
//如果不是ProgramSeg则退出因为刷新数据源的时候会触发这个选择器
if (data == null) return;
SelectedChartSrcData = data;
}
private ChartSrcData _SelectedChartSrcData;
/// <summary>
/// 当前选中Chart数据源
/// </summary>
public ChartSrcData SelectedChartSrcData
{
get { return _SelectedChartSrcData; }
set { _SelectedChartSrcData = value; RaisePropertyChanged(); }
}
private ObservableCollection<ChartSrcData> _ChartSrcDataListViewItems;
/// <summary>
/// 数据源控件 数据集合
/// </summary>
public ObservableCollection<ChartSrcData> ChartSrcDataListViewItems
{
get { return _ChartSrcDataListViewItems; }
set { _ChartSrcDataListViewItems = value; RaisePropertyChanged(); }
}
///// <summary>
///// 加载最新的数据
///// </summary>
///// <returns></returns>
//private List<ProgramSeg> RefreshProSeg()
//{
// ChartSrcDataListViewItems.Clear();
// foreach (var item in ListProgramSeg)
// {
// ProSegListViewItems.Add(item);
// }
// return ListProgramSeg;
//}
#endregion
#region
private DelegateCommand<string> _ChartSourceCmd;
/// <summary>
/// Chart数据 匹配操作命令
/// </summary>
public DelegateCommand<string> ChartSourceCmd
{
set
{
_ChartSourceCmd = value;
}
get
{
if (_ChartSourceCmd == null)
{
_ChartSourceCmd = new DelegateCommand<string>((str) => ChartSourceCmdMethod(str));
}
return _ChartSourceCmd;
}
}
/// <summary>
/// 执行方法
/// </summary>
/// <param name="str"></param>
/// <exception cref="NotImplementedException"></exception>
private void ChartSourceCmdMethod(string par)
{
if (par == "Selected")//选中的操作
{
if (SelectedChartSrcData == null)
{
MessageBox.Show("请选择后再操作");
return;
}
if (ChartSelectDataListViewItems.Where(a => a.Name == SelectedChartSrcData.Name).Count() > 0)
{
MessageBox.Show("已经选择这条曲线");
return;
}
//数据库增加
FreeSql.Insert<ConfigChartSelect>(new ConfigChartSelect()
{
Name = SelectedChartSrcData.Name,
Category = "Default",
Index = 1,
ConfigChartYAxis = new ConfigChartYAxis() { Name = "无单位", Unit = "无" },
}).ExecuteAffrows();
//刷新图表
RefreshChartSelectedData();
//更改数据源状态
ChartSrcDataListViewItems.FindFirst(a => a.Name == SelectedChartSrcData.Name).Selected = true;
}
else//删除的操作
{
if (SelectedChartSelectData != null)
{
//数据库删除
FreeSql.Delete<ConfigChartSelect>()
.Where(a => a.Name == SelectedChartSelectData.Name)
.ExecuteAffrows();
//刷新图表
RefreshChartSelectedData();
//ChartSelectDataListViewItems.Remove(SelectedChartSelectData);
//更改状态
ChartSrcDataListViewItems.FindFirst(a => a.Name == SelectedChartSelectData.Name).Selected = false;
}
else
{
MessageBox.Show("请选择后再操作");
}
}
}
/// <summary>
/// 获取默认的Y轴设置
/// </summary>
/// <returns></returns>
private ChartYAxisDto GetDefaultYAxis()
{
return new ChartYAxisDto() { Name = "温度", Unit = "℃" };
}
private DelegateCommand<string> _ChartYAxisSelectCmd;
/// <summary>
/// Chart 标尺数据的操作命令
/// </summary>
public DelegateCommand<string> ChartYAxisSelectCmd
{
set
{
_ChartYAxisSelectCmd = value;
}
get
{
if (_ChartYAxisSelectCmd == null)
{
_ChartYAxisSelectCmd = new DelegateCommand<string>((str) => ChartYAxisSelectCmdMethod(str));
}
return _ChartYAxisSelectCmd;
}
}
/// <summary>
/// 执行方法
/// </summary>
/// <param name="str"></param>
/// <exception cref="NotImplementedException"></exception>
private void ChartYAxisSelectCmdMethod(string par)
{
if (par == "Selected")//选中的操作
{
if (SelectedChartYAxisData == null)
{
MessageBox.Show("请选择后再操作");
return;
}
if (SelectedChartSelectData == null)
{
MessageBox.Show("请选择中间的【已选择曲线】后再操作");
return;
}
//数据库保存
FreeSql.Update<ConfigChartSelect>()
.Where(a => a.Id == SelectedChartSelectData.Id)
.Set(a=>a.ConfigChartYAxisId, SelectedChartYAxisData.Id)
.ExecuteAffrows();
//刷新图表
RefreshChartSelectedData();
//SelectedChartSelectData.YAxis = SelectedChartYAxisData;
}
}
#endregion
#region
private DelegateCommand<object> _SelectedChartConfigCmd;
/// <summary>
/// 选中Chart数据源命令
/// </summary>
public DelegateCommand<object> SelectedChartConfigCmd
{
set
{
_SelectedChartConfigCmd = value;
}
get
{
if (_SelectedChartConfigCmd == null)
{
_SelectedChartConfigCmd = new DelegateCommand<object>((str) => SelectedChartConfigCmdMethod(str));
}
return _SelectedChartConfigCmd;
}
}
/// <summary>
/// 执行方法
/// </summary>
/// <param name="str"></param>
/// <exception cref="NotImplementedException"></exception>
private void SelectedChartConfigCmdMethod(object par)
{
var data = par as ChartSelectDto;
//如果不是ProgramSeg则退出因为刷新数据源的时候会触发这个选择器
if (data == null) return;
SelectedChartSelectData = data;
}
private ChartSelectDto _SelectedChartSelectData;
/// <summary>
/// 当前选中Chart数据源
/// </summary>
public ChartSelectDto SelectedChartSelectData
{
get { return _SelectedChartSelectData; }
set { _SelectedChartSelectData = value; RaisePropertyChanged(); }
}
private ObservableCollection<ChartSelectDto> _ChartSelectDataListViewItems = new ObservableCollection<ChartSelectDto>();
/// <summary>
/// 数据源控件 数据集合
/// </summary>
public ObservableCollection<ChartSelectDto> ChartSelectDataListViewItems
{
get { return _ChartSelectDataListViewItems; }
set { _ChartSelectDataListViewItems = value; RaisePropertyChanged(); }
}
///// <summary>
///// 加载最新的数据
///// </summary>
///// <returns></returns>
//private List<ProgramSeg> RefreshProSeg()
//{
// ChartSrcDataListViewItems.Clear();
// foreach (var item in ListProgramSeg)
// {
// ProSegListViewItems.Add(item);
// }
// return ListProgramSeg;
//}
#endregion
#region Y轴设置
private DelegateCommand<object> _ChartYAxisDataConfigCmd;
/// <summary>
/// 选中Chart数据源命令
/// </summary>
public DelegateCommand<object> ChartYAxisDataConfigCmd
{
set
{
_ChartYAxisDataConfigCmd = value;
}
get
{
if (_ChartYAxisDataConfigCmd == null)
{
_ChartYAxisDataConfigCmd = new DelegateCommand<object>((str) => ChartYAxisDataConfigCmdMethod(str));
}
return _ChartYAxisDataConfigCmd;
}
}
/// <summary>
/// 执行方法
/// </summary>
/// <param name="str"></param>
/// <exception cref="NotImplementedException"></exception>
private void ChartYAxisDataConfigCmdMethod(object par)
{
var data = par as ChartYAxisDto;
//如果不是ProgramSeg则退出因为刷新数据源的时候会触发这个选择器
if (data == null) return;
SelectedChartYAxisData = data;
}
private ChartYAxisDto _SelectedChartYAxisData;
/// <summary>
/// 当前选中Chart数据源
/// </summary>
public ChartYAxisDto SelectedChartYAxisData
{
get { return _SelectedChartYAxisData; }
set { _SelectedChartYAxisData = value; RaisePropertyChanged(); }
}
private ObservableCollection<ChartYAxisDto> _ChartYAxisDataListViewItems = new ObservableCollection<ChartYAxisDto>();
/// <summary>
/// 数据源控件 数据集合
/// </summary>
public ObservableCollection<ChartYAxisDto> ChartYAxisDataListViewItems
{
get { return _ChartYAxisDataListViewItems; }
set { _ChartYAxisDataListViewItems = value; RaisePropertyChanged(); }
}
///// <summary>
///// 加载最新的数据
///// </summary>
///// <returns></returns>
//private List<ProgramSeg> RefreshProSeg()
//{
// ChartSrcDataListViewItems.Clear();
// foreach (var item in ListProgramSeg)
// {
// ProSegListViewItems.Add(item);
// }
// return ListProgramSeg;
//}
#endregion
private string name;
/// <summary>
/// 名称
/// </summary>
public string Name
{
get { return name; }
set { name = value; RaisePropertyChanged(); }
}
private DelegateCommand saveCmd;
/// <summary>
/// 保存命令
/// </summary>
public DelegateCommand SaveCmd
{
set
{
saveCmd = value;
}
get
{
if (saveCmd == null)
{
saveCmd = new DelegateCommand(() => SaveCmdMethod());
}
return saveCmd;
}
}
/// <summary>
/// 保存命令方法
/// </summary>
/// <exception cref="NotImplementedException"></exception>
private void SaveCmdMethod()
{
DialogParameters pars = new DialogParameters
{
{ "Name", Name }
};
RaiseRequestClose(new DialogResult(ButtonResult.OK, pars));
}
private DelegateCommand cancelCmd;
/// <summary>
/// 保存命令
/// </summary>
public DelegateCommand CancelCmd
{
set
{
cancelCmd = value;
}
get
{
if (cancelCmd == null)
{
cancelCmd = new DelegateCommand(() => CancelCmdMethod());
}
return cancelCmd;
}
}
/// <summary>
/// 取消命令方法
/// </summary>
/// <exception cref="NotImplementedException"></exception>
private void CancelCmdMethod()
{
RaiseRequestClose(new DialogResult(ButtonResult.Cancel));
}
/// <summary>
/// 窗口打开时的传递的参数
/// </summary>
/// <param name="parameters"></param>
public override void OnDialogOpened(IDialogParameters parameters)
{
var info = parameters.GetValue<string>("par");
}
}
}

View File

@@ -0,0 +1,109 @@
using CapMachine.Core;
using Prism.Commands;
using Prism.Services.Dialogs;
using System.Windows;
namespace CapMachine.Wpf.ViewModels
{
/// <summary>
/// 创建弹窗的服务数据
/// </summary>
public class DialogCreateProViewModel : DialogViewModel
{
/// <summary>
/// 实例化函数
/// </summary>
public DialogCreateProViewModel()
{
this.Title = "新增工况";
}
private string name;
/// <summary>
/// 名称
/// </summary>
public string Name
{
get { return name; }
set { name = value; RaisePropertyChanged(); }
}
private DelegateCommand saveCmd;
/// <summary>
/// 保存命令
/// </summary>
public DelegateCommand SaveCmd
{
set
{
saveCmd = value;
}
get
{
if (saveCmd == null)
{
saveCmd = new DelegateCommand(() => SaveCmdMethod());
}
return saveCmd;
}
}
/// <summary>
/// 保存命令方法
/// </summary>
/// <exception cref="NotImplementedException"></exception>
private void SaveCmdMethod()
{
if (string.IsNullOrEmpty(Name))
{
MessageBox.Show("请输入正确的名称!");
return;
}
DialogParameters pars = new DialogParameters
{
{ "Name", Name }
};
RaiseRequestClose(new DialogResult(ButtonResult.OK, pars));
}
private DelegateCommand cancelCmd;
/// <summary>
/// 保存命令
/// </summary>
public DelegateCommand CancelCmd
{
set
{
cancelCmd = value;
}
get
{
if (cancelCmd == null)
{
cancelCmd = new DelegateCommand(() => CancelCmdMethod());
}
return cancelCmd;
}
}
/// <summary>
/// 取消命令方法
/// </summary>
/// <exception cref="NotImplementedException"></exception>
private void CancelCmdMethod()
{
RaiseRequestClose(new DialogResult(ButtonResult.Cancel));
}
/// <summary>
/// 窗口打开时的传递的参数
/// </summary>
/// <param name="parameters"></param>
public override void OnDialogOpened(IDialogParameters parameters)
{
var info = parameters.GetValue<string>("par");
}
}
}

View File

@@ -0,0 +1,103 @@
using CapMachine.Core;
using Prism.Commands;
using Prism.Services.Dialogs;
using System.Windows;
namespace CapMachine.Wpf.ViewModels
{
public class DialogEditProViewModel : DialogViewModel
{
public DialogEditProViewModel()
{
this.Title = "修改";
}
private string name;
/// <summary>
/// 名称
/// </summary>
public string Name
{
get { return name; }
set { name = value; RaisePropertyChanged(); }
}
private DelegateCommand saveCmd;
/// <summary>
/// 保存命令
/// </summary>
public DelegateCommand SaveCmd
{
set
{
saveCmd = value;
}
get
{
if (saveCmd == null)
{
saveCmd = new DelegateCommand(() => SaveCmdMethod());
}
return saveCmd;
}
}
/// <summary>
/// 保存命令方法
/// </summary>
/// <exception cref="NotImplementedException"></exception>
private void SaveCmdMethod()
{
if (string.IsNullOrEmpty(Name))
{
MessageBox.Show("请输入正确的名称!");
return;
}
DialogParameters pars = new DialogParameters
{
{ "Name", Name }
};
RaiseRequestClose(new DialogResult(ButtonResult.OK, pars));
}
private DelegateCommand cancelCmd;
/// <summary>
/// 保存命令
/// </summary>
public DelegateCommand CancelCmd
{
set
{
cancelCmd = value;
}
get
{
if (cancelCmd == null)
{
cancelCmd = new DelegateCommand(() => CancelCmdMethod());
}
return cancelCmd;
}
}
/// <summary>
/// 取消命令方法
/// </summary>
/// <exception cref="NotImplementedException"></exception>
private void CancelCmdMethod()
{
RaiseRequestClose(new DialogResult(ButtonResult.Cancel));
}
/// <summary>
/// 窗口打开时的传递的参数
/// </summary>
/// <param name="parameters"></param>
public override void OnDialogOpened(IDialogParameters parameters)
{
Name = parameters.GetValue<string>("Name");
}
}
}

View File

@@ -0,0 +1,92 @@
using CapMachine.Core;
using CapMachine.Core.IService;
using CapMachine.Wpf.Models;
using Prism.Commands;
using Prism.Regions;
namespace CapMachine.Wpf.ViewModels
{
public class MainViewModel : NavigationViewModel
{
public MainViewModel(IRegionManager region, INavigationMenuService menuService)
{
this.region = region;
MenuService = menuService;
NavigateCommand = new DelegateCommand<NavigationItem>(Navigate);
}
public INavigationMenuService MenuService { get; }
public DelegateCommand<NavigationItem> NavigateCommand { get; private set; }
private int selectedIndex = -1;
public int SelectedIndex
{
get { return selectedIndex; }
set { selectedIndex = value; RaisePropertyChanged(); }
}
private bool isTopDrawerOpen;
private readonly IRegionManager region;
public bool IsTopDrawerOpen
{
get { return isTopDrawerOpen; }
set
{
isTopDrawerOpen = value;
if (SelectedIndex == 0 && !value)
SelectedIndex = -1;
RaisePropertyChanged();
}
}
private void Navigate(NavigationItem item)
{
if (item == null) return;
if (item.Name.Equals("全部"))
{
IsTopDrawerOpen = true;
return;
}
NavigatePage(item.PageName);
IsTopDrawerOpen = false;
}
/// <summary>
/// 导航到页面信息
/// </summary>
/// <param name="pageName"></param>
private void NavigatePage(string pageName)
{
region.Regions["MainViewContentRegion"].RequestNavigate(pageName, back =>
{
if (!(bool)back.Result)
{
System.Diagnostics.Debug.WriteLine(back.Error.Message);
}
});
}
public override void OnNavigatedTo(NavigationContext navigationContext)
{
MenuService.Initialize();
//region.Regions["MainViewContentRegion"].RequestNavigate("DashboardView", back =>
//{
// if (!(bool)back.Result)
// {
// }
//});
base.OnNavigatedTo(navigationContext);
}
}
}

View File

@@ -0,0 +1,14 @@
using CapMachine.Core;
namespace CapMachine.Wpf.ViewModels
{
public class MonitorViewModel : NavigationViewModel
{
public MonitorViewModel()
{
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,132 @@
using CapMachine.Core;
using Prism.Commands;
using Prism.Services.Dialogs;
using SharpDX.Direct3D9;
using System;
using System.Windows;
namespace CapMachine.Wpf.ViewModels
{
public class RealTimeChartViewModel : NavigationViewModel
{
/// <summary>
/// 实例化函数
/// </summary>
public RealTimeChartViewModel(IDialogService dialogService, IFreeSql freeSql)
{
DialogService = dialogService;
FreeSql = freeSql;
}
/// <summary>
/// 弹窗服务
/// </summary>
public IDialogService DialogService { get; }
/// <summary>
/// FreeSQL 实例
/// </summary>
public IFreeSql FreeSql { get; }
private DelegateCommand _ChartConfigCmd;
/// <summary>
/// 编辑曲线数据
/// </summary>
public DelegateCommand ChartConfigCmd
{
set
{
_ChartConfigCmd = value;
}
get
{
if (_ChartConfigCmd == null)
{
_ChartConfigCmd = new DelegateCommand(() => ChartConfigCmdMethod());
}
return _ChartConfigCmd;
}
}
/// <summary>
/// 编辑曲线数据执行方法
/// </summary>
private void ChartConfigCmdMethod()
{
//弹窗
DialogService.ShowDialog("DialogChartRtConfigView", new DialogParameters() { { "Name", "" } }, (par) =>
{
if (par.Result == ButtonResult.OK)
{
//程序名称
var ReturnValue = par.Parameters.GetValue<string>("Name");
}
else if (par.Result == ButtonResult.Cancel)
{
//取消
}
});
}
//#region 曲线配置
//private LightningChart _LightningChartInstance;
///// <summary>
///// LightningChart 实例
///// </summary>
//public LightningChart LightningChartInstance
//{
// get { return _LightningChartInstance; }
// set { _LightningChartInstance = value; RaisePropertyChanged(); }
//}
///// <summary>
///// 获取实例
///// </summary>
///// <param name="chart"></param>
//public void SetChart(LightningChart chart)
//{
// LightningChartInstance = chart;
//}
//private AxisYCollection _YAxes=new AxisYCollection();
///// <summary>
///// Y轴配置
///// </summary>
//public AxisYCollection YAxes
//{
// get { return _YAxes; }
// set { _YAxes = value; RaisePropertyChanged(); }
//}
//private AxisXCollection _XAxes = new AxisXCollection();
///// <summary>
///// X轴配置
///// </summary>
//public AxisXCollection XAxes
//{
// get { return _XAxes; }
// set { _XAxes = value; RaisePropertyChanged(); }
//}
//private SampleDataSeriesCollection _ChartDataSeries;
///// <summary>
///// 曲线集合数据
///// </summary>
//public SampleDataSeriesCollection ChartDataSeries
//{
// get { return _ChartDataSeries; }
// set { _ChartDataSeries = value; RaisePropertyChanged(); }
//}
//#endregion
}
}