355 lines
9.3 KiB
C#
355 lines
9.3 KiB
C#
using CommunityToolkit.Mvvm.ComponentModel;
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using System.Collections.ObjectModel;
|
||
using System.ComponentModel;
|
||
using System.Linq;
|
||
using System.Text;
|
||
using System.Threading.Tasks;
|
||
using System.Xml.Serialization;
|
||
|
||
namespace Common.Models
|
||
{
|
||
public enum FunctionTypeEnum
|
||
{
|
||
[Description("添加液体原料")]
|
||
加液体原料,
|
||
[Description("添加固体原料")]
|
||
加固体原料,
|
||
[Description("震荡摇匀")]
|
||
震荡摇匀,
|
||
}
|
||
|
||
[Serializable]
|
||
public class MaterialDoseFunctionFlow : ObservableObject
|
||
{
|
||
private bool bisdosefinish = false;
|
||
/// <summary>
|
||
/// 是否配置完成
|
||
/// </summary>
|
||
public bool IsDoseFinish
|
||
{
|
||
get { return bisdosefinish; }
|
||
set { SetProperty(ref bisdosefinish, value); }
|
||
}
|
||
|
||
private FunctionTypeEnum functionType = FunctionTypeEnum.加液体原料;
|
||
public FunctionTypeEnum FunctionFlowType
|
||
{
|
||
get => functionType;
|
||
set
|
||
{
|
||
SetProperty(ref functionType, value);
|
||
}
|
||
}
|
||
|
||
private string useMaterialName = string.Empty;
|
||
/// <summary>
|
||
/// 使用的试剂名称
|
||
/// </summary>
|
||
public string UseMaterialName
|
||
{
|
||
get { return useMaterialName; }
|
||
set
|
||
{
|
||
SetProperty(ref useMaterialName, value);
|
||
}
|
||
}
|
||
|
||
private double targetVolume = 0;
|
||
/// <summary>
|
||
/// 目标体积(μl)/目标重量(mg)
|
||
/// </summary>
|
||
public double TargetVolume
|
||
{
|
||
get { return targetVolume; }
|
||
set
|
||
{
|
||
SetProperty(ref targetVolume, value);
|
||
}
|
||
}
|
||
|
||
private double actualVolume;
|
||
/// <summary>
|
||
/// 实际加入体积/重量
|
||
/// </summary>
|
||
public double ActualVolume
|
||
{
|
||
get { return actualVolume; }
|
||
set
|
||
{
|
||
SetProperty(ref actualVolume, value);
|
||
}
|
||
}
|
||
|
||
//private double liquidprecision = 1;
|
||
///// <summary>
|
||
///// 液体加液最大精度,单位g
|
||
///// </summary>
|
||
//public double LiquidPrecision
|
||
//{
|
||
// get { return liquidprecision; }
|
||
// set
|
||
// {
|
||
// SetProperty(ref liquidprecision, value);
|
||
// }
|
||
//}
|
||
}
|
||
|
||
//[Serializable]
|
||
//public class SampleBottlePowderFunctionFlow : ObservableObject
|
||
//{
|
||
// private FunctionTypeEnum functionType = FunctionTypeEnum.加固体原料;
|
||
// public FunctionTypeEnum FunctionFlowType
|
||
// {
|
||
// get => functionType;
|
||
// set
|
||
// {
|
||
// SetProperty(ref functionType, value);
|
||
// }
|
||
// }
|
||
|
||
// private string useSourcePowderName = string.Empty;
|
||
// /// <summary>
|
||
// /// 使用的粉末试剂名称
|
||
// /// </summary>
|
||
// public string UsePowderName
|
||
// {
|
||
// get { return useSourcePowderName; }
|
||
// set
|
||
// {
|
||
// SetProperty(ref useSourcePowderName, value);
|
||
// }
|
||
// }
|
||
|
||
// private double targetPowderAmount;
|
||
// /// <summary>
|
||
// /// 粉末目标加入量,单位g
|
||
// /// </summary>
|
||
// public double TargetPowderAmount
|
||
// {
|
||
// get { return targetPowderAmount; }
|
||
// set
|
||
// {
|
||
// if (targetPowderAmount != value)
|
||
// {
|
||
// targetPowderAmount = value;
|
||
// PowderPrecision = PrecisionRuleHelper.GetPowderPrecision(value); // 根据目标量获取精度g
|
||
// OnPropertyChanged(nameof(TargetPowderAmount));
|
||
// OnPropertyChanged(nameof(PowderPrecision));
|
||
// }
|
||
// }
|
||
// }
|
||
|
||
// private double actualPowderAmount;
|
||
// /// <summary>
|
||
// /// 粉末实际加入量,单位g
|
||
// /// </summary>
|
||
// public double ActualPowderAmount
|
||
// {
|
||
// get { return actualPowderAmount; }
|
||
// set
|
||
// {
|
||
// SetProperty(ref actualPowderAmount, value);
|
||
// }
|
||
// }
|
||
|
||
// private double powderprecision = 1;
|
||
// /// <summary>
|
||
// /// 粉末加量最大精度,单位g
|
||
// /// </summary>
|
||
// public double PowderPrecision
|
||
// {
|
||
// get { return powderprecision; }
|
||
// set
|
||
// {
|
||
// SetProperty(ref powderprecision, value);
|
||
// }
|
||
// }
|
||
//}
|
||
|
||
public enum ReactFunctionTypeEnum
|
||
{
|
||
[Description("取样")]
|
||
取样,
|
||
[Description("补液")]
|
||
补液,
|
||
}
|
||
|
||
/// <summary>
|
||
/// 取样操作类
|
||
/// </summary>
|
||
[Serializable]
|
||
public class ReactSampleFunctionFlow : ObservableObject
|
||
{
|
||
private double time;
|
||
/// <summary>
|
||
/// 操作时间
|
||
/// </summary>
|
||
public double OperateTime
|
||
{
|
||
get { return time; }
|
||
set { time = value; }
|
||
}
|
||
|
||
private double targetVolume = 0;
|
||
/// <summary>
|
||
/// 取样体积
|
||
/// </summary>
|
||
public double TargetAddVolume
|
||
{
|
||
get { return targetVolume; }
|
||
set
|
||
{
|
||
SetProperty(ref targetVolume, value);
|
||
}
|
||
}
|
||
|
||
private bool bAddLiquid = false;
|
||
/// <summary>
|
||
/// 取样后是否紧接着加样
|
||
/// </summary>
|
||
public bool bAfterAddLiquid
|
||
{
|
||
get { return bAddLiquid; }
|
||
set { SetProperty(ref bAddLiquid, value); }
|
||
}
|
||
|
||
private ObservableCollection<AddLiquidFunctionFlow> addLiquidList = new ObservableCollection<AddLiquidFunctionFlow>();
|
||
/// <summary>
|
||
/// 加液集合
|
||
/// </summary>
|
||
public ObservableCollection<AddLiquidFunctionFlow> AddLiquidList
|
||
{
|
||
get { return addLiquidList; }
|
||
set { SetProperty(ref addLiquidList, value); }
|
||
}
|
||
|
||
private bool _isDuilte = false;
|
||
/// <summary>
|
||
/// 是否稀释,默认都会稀释
|
||
/// </summary>
|
||
public bool IsDulite
|
||
{
|
||
get => _isDuilte;
|
||
set => SetProperty(ref _isDuilte, value);
|
||
}
|
||
|
||
private ObservableCollection<AddDiluentFunction> diluentList = new ObservableCollection<AddDiluentFunction>();
|
||
/// <summary>
|
||
/// 稀释剂集合
|
||
/// </summary>
|
||
public ObservableCollection<AddDiluentFunction> DiluentFunctionFlowList
|
||
{
|
||
get { return diluentList; }
|
||
set { SetProperty(ref diluentList, value); }
|
||
}
|
||
}
|
||
|
||
|
||
[Serializable]
|
||
public class AddLiquidFunctionFlow : ObservableObject
|
||
{
|
||
private double time;
|
||
/// <summary>
|
||
/// 操作时间
|
||
/// </summary>
|
||
public double OperateTime
|
||
{
|
||
get { return time; }
|
||
set { time = value; }
|
||
}
|
||
|
||
private string liquidName = string.Empty;
|
||
/// <summary>
|
||
/// 液体名称
|
||
/// </summary>
|
||
public string LiquidName
|
||
{
|
||
get { return liquidName; }
|
||
set { SetProperty(ref liquidName, value); }
|
||
}
|
||
|
||
private double targetVolume;
|
||
/// <summary>
|
||
///目标加入体积
|
||
/// </summary>
|
||
public double TargetAddVolume
|
||
{
|
||
get { return targetVolume; }
|
||
set
|
||
{
|
||
SetProperty(ref targetVolume, value);
|
||
}
|
||
}
|
||
|
||
private double actualVolume;
|
||
/// <summary>
|
||
/// 实际加入体积
|
||
/// </summary>
|
||
public double ActualVolume
|
||
{
|
||
get { return actualVolume; }
|
||
set
|
||
{
|
||
SetProperty(ref actualVolume, value);
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
/// <summary>
|
||
/// 添加稀释剂
|
||
/// </summary>
|
||
[Serializable]
|
||
public class AddDiluentFunction : ObservableObject
|
||
{
|
||
private string diluentName = string.Empty;
|
||
/// <summary>
|
||
/// 稀释剂名称
|
||
/// </summary>
|
||
public string DiluentName
|
||
{
|
||
get { return diluentName; }
|
||
set { SetProperty(ref diluentName, value); }
|
||
}
|
||
|
||
private double targetDiluentVolume = 0.00;
|
||
/// <summary>
|
||
///稀释剂目标加入体积
|
||
/// </summary>
|
||
public double TargetDiluentVolume
|
||
{
|
||
get { return targetDiluentVolume; }
|
||
set
|
||
{
|
||
SetProperty(ref targetDiluentVolume, value);
|
||
}
|
||
}
|
||
|
||
private double actualDiluentVolume = 0.00;
|
||
/// <summary>
|
||
/// 稀释剂实际加入体积
|
||
/// </summary>
|
||
public double ActualDiluentVolume
|
||
{
|
||
get { return actualDiluentVolume; }
|
||
set
|
||
{
|
||
SetProperty(ref actualDiluentVolume, value);
|
||
}
|
||
}
|
||
|
||
private double diluentfactor = 1.00;
|
||
/// <summary>
|
||
/// 稀释倍数,自动计算
|
||
/// </summary>
|
||
public double DiluentFactor
|
||
{
|
||
get { return diluentfactor; }
|
||
set { SetProperty(ref diluentfactor, value); }
|
||
}
|
||
|
||
}
|
||
}
|