using System.Dynamic;
namespace IStation.Model
{
///
/// 调度配置
///
public class ScheduleConfig : System.ICloneable
{
///
///
///
public ScheduleConfig() { }
///
///
///
///
public ScheduleConfig(ScheduleConfig rhs)
{
this.MinOpenCount = rhs.MinOpenCount;
this.MaxOpenCount = rhs.MaxOpenCount;
this.MustOpenFlagList = rhs.MustOpenFlagList?.ToList();
this.MustCloseFlagList = rhs.MustCloseFlagList?.ToList();
this.ForbiddenFlagCombineList = rhs.ForbiddenFlagCombineList?.ToList();
this.AssociativeFlagCombineList = rhs.AssociativeFlagCombineList?.ToList();
this.SameSectionFlagCombineList = rhs.SameSectionFlagCombineList?.ToList();
this.WaterSupplyLimitList = rhs.WaterSupplyLimitList?.ToList();
this.FrequencyLimitList = rhs.FrequencyLimitList?.ToList();
this.PriorityOpenFlagList = rhs.PriorityOpenFlagList?.ToList();
this.MaintenanceFlagList=rhs.MaintenanceFlagList?.ToList();
}
///
///
///
///
public void Reset(ScheduleConfig rhs)
{
this.MinOpenCount = rhs.MinOpenCount;
this.MaxOpenCount = rhs.MaxOpenCount;
this.MustOpenFlagList = rhs.MustOpenFlagList?.ToList();
this.MustCloseFlagList = rhs.MustCloseFlagList?.ToList();
this.ForbiddenFlagCombineList = rhs.ForbiddenFlagCombineList?.ToList();
this.AssociativeFlagCombineList = rhs.AssociativeFlagCombineList?.ToList();
this.SameSectionFlagCombineList = rhs.SameSectionFlagCombineList?.ToList();
this.WaterSupplyLimitList = rhs.WaterSupplyLimitList?.ToList();
this.FrequencyLimitList = rhs.FrequencyLimitList?.ToList();
this.PriorityOpenFlagList = rhs.PriorityOpenFlagList?.ToList();
this.MaintenanceFlagList=rhs.MaintenanceFlagList?.ToList();
}
///
/// 最小开泵数量
///
public int MinOpenCount { get; set; }
///
/// 最大开泵数量
///
public int MaxOpenCount { get; set; }
///
/// 必开泵列表
///
public List MustOpenFlagList { get; set; }
///
/// 必关泵列表
///
public List MustCloseFlagList { get; set; }
///
/// 禁用泵组合列表
///
public List> ForbiddenFlagCombineList { get; set; }
///
/// 关联泵组合列表
///
public List> AssociativeFlagCombineList { get; set; }
///
/// 同段泵组合列表
///
public List> SameSectionFlagCombineList { get; set; }
///
/// 供水限制列表
///
public List WaterSupplyLimitList { get; set; }
///
/// 频率限制列表
///
public List FrequencyLimitList { get; set; }
///
/// 优先开泵列表
///
public List PriorityOpenFlagList { get; set; }
///
/// 检修列表
///
public List MaintenanceFlagList { get; set; }
///
///
///
///
public ScheduleConfig Clone()
{
return (ScheduleConfig)this.MemberwiseClone();
}
object ICloneable.Clone()
{
return this.MemberwiseClone();
}
}
}