diff options
| author | Roy <Roy.mail.net@gmail.com> | 2023-09-03 16:18:55 +0300 |
|---|---|---|
| committer | Roy <Roy.mail.net@gmail.com> | 2023-09-03 16:18:55 +0300 |
| commit | c66acc359b311ecc940f3c4e74bd9e21dc0bfd51 (patch) | |
| tree | 8869b9d48fbad776c94df401680afc43fc350e69 /Software/Visual_Studio/Tango.BL/Entities | |
| parent | 6cdea71fa07d092139697d9c67651dade37aed96 (diff) | |
| parent | b271fe1c21172ed22a34b987a2cb9457b39ce8a3 (diff) | |
| download | Tango-c66acc359b311ecc940f3c4e74bd9e21dc0bfd51.tar.gz Tango-c66acc359b311ecc940f3c4e74bd9e21dc0bfd51.zip | |
Merged Eureka Branch !!!
Diffstat (limited to 'Software/Visual_Studio/Tango.BL/Entities')
13 files changed, 1699 insertions, 17 deletions
diff --git a/Software/Visual_Studio/Tango.BL/Entities/HardwareVersion.cs b/Software/Visual_Studio/Tango.BL/Entities/HardwareVersion.cs index bc65c33ce..1688e87fc 100644 --- a/Software/Visual_Studio/Tango.BL/Entities/HardwareVersion.cs +++ b/Software/Visual_Studio/Tango.BL/Entities/HardwareVersion.cs @@ -5,12 +5,27 @@ using System.ComponentModel.DataAnnotations.Schema; using System.Linq; using System.Text; using System.Threading.Tasks; +using Tango.BL.Enumerations; using Tango.BL.Serialization; namespace Tango.BL.Entities { public partial class HardwareVersion : HardwareVersionBase { + [NotMapped] + [JsonIgnore] + public MachineTypes ForMachineType + { + get + { + return (MachineTypes)MachineType; + } + set + { + MachineType = value.ToInt32(); + } + } + public override HardwareVersion Clone() { var cloned = base.Clone(); @@ -99,7 +114,7 @@ namespace Tango.BL.Entities [JsonIgnore] public String FullName { - get { return $"{Name} v{Version}"; } + get { return $"{Name} v{Version} {ForMachineType}"; } } /// <summary> diff --git a/Software/Visual_Studio/Tango.BL/Entities/HardwareVersionBase.cs b/Software/Visual_Studio/Tango.BL/Entities/HardwareVersionBase.cs index 3d7d555dc..e30903baa 100644 --- a/Software/Visual_Studio/Tango.BL/Entities/HardwareVersionBase.cs +++ b/Software/Visual_Studio/Tango.BL/Entities/HardwareVersionBase.cs @@ -31,6 +31,10 @@ namespace Tango.BL.Entities public event EventHandler<String> NameChanged; + public event EventHandler<Int32> MachineTypeChanged; + + public event EventHandler<String> UserNameChanged; + public event EventHandler<SynchronizedObservableCollection<Configuration>> ConfigurationsChanged; public event EventHandler<SynchronizedObservableCollection<HardwareBlower>> HardwareBlowersChanged; @@ -101,6 +105,60 @@ namespace Tango.BL.Entities } } + protected Int32 _machinetype; + + /// <summary> + /// Gets or sets the hardwareversionbase machine type. + /// </summary> + + [Column("MACHINE_TYPE")] + + public Int32 MachineType + { + get + { + return _machinetype; + } + + set + { + if (_machinetype != value) + { + _machinetype = value; + + OnMachineTypeChanged(value); + + } + } + } + + protected String _username; + + /// <summary> + /// Gets or sets the hardwareversionbase user name. + /// </summary> + + [Column("USER_NAME")] + + public String UserName + { + get + { + return _username; + } + + set + { + if (_username != value) + { + _username = value; + + OnUserNameChanged(value); + + } + } + } + protected SynchronizedObservableCollection<Configuration> _configurations; /// <summary> @@ -320,6 +378,24 @@ namespace Tango.BL.Entities } /// <summary> + /// Called when the MachineType has changed. + /// </summary> + protected virtual void OnMachineTypeChanged(Int32 machinetype) + { + MachineTypeChanged?.Invoke(this, machinetype); + RaisePropertyChanged(nameof(MachineType)); + } + + /// <summary> + /// Called when the UserName has changed. + /// </summary> + protected virtual void OnUserNameChanged(String username) + { + UserNameChanged?.Invoke(this, username); + RaisePropertyChanged(nameof(UserName)); + } + + /// <summary> /// Called when the Configurations has changed. /// </summary> protected virtual void OnConfigurationsChanged(SynchronizedObservableCollection<Configuration> configurations) diff --git a/Software/Visual_Studio/Tango.BL/Entities/Job.cs b/Software/Visual_Studio/Tango.BL/Entities/Job.cs index c6a6ea226..29f7e1054 100644 --- a/Software/Visual_Studio/Tango.BL/Entities/Job.cs +++ b/Software/Visual_Studio/Tango.BL/Entities/Job.cs @@ -93,6 +93,84 @@ namespace Tango.BL.Entities } } + [NotMapped] + [JsonIgnore] + public double LengthIncludingNumberOfUnitsAndSpools + { + get + { + if (Spools >= 4) + { + return LengthIncludingNumberOfUnits * Spools; + } + + return LengthIncludingNumberOfUnits; + } + } + + [NotMapped] + [JsonIgnore] + public double WeightIncludingNumberOfUnits + { + get + { + if (Rml == null) + return 0; + + var gramPerlength = Rml.GetGramPer1000mLength; + var weight = (LengthIncludingNumberOfUnits * gramPerlength) / (1000 );//(g) + return weight; + } + } + + [NotMapped] + [JsonIgnore] + public double WeightIncludingNumberOfUnitsAndSpools + { + get + { + if (Spools >= 4) + { + return WeightIncludingNumberOfUnits * Spools; + } + + return WeightIncludingNumberOfUnits; + } + } + + [NotMapped] + [JsonIgnore] + public Int32 NumberOfUnitsMultipliedBySpools + { + get + { + if (Spools >= 4) + { + return NumberOfUnits * Spools; + } + return NumberOfUnits; + } + } + + [NotMapped] + [JsonIgnore] + public double WeightNumberOfUnits + { + get + { + _lastLength = GetLength(); + var l = _lastLength * Math.Max(NumberOfUnits, 1); + + if (EnableInterSegment && NumberOfUnits > 1) + { + l += ((NumberOfUnits - 1) * InterSegmentLength); + } + + return l; + } + } + + /// <summary> /// Gets or sets the job <see cref="Status"/> property as <see cref="JobStatus"/> enum instead of int. /// </summary> @@ -141,6 +219,13 @@ namespace Tango.BL.Entities } } + [NotMapped] + [JsonIgnore] + public int Spools + { + get { return 4; }//headunits? + } + /// <summary> /// Gets or sets the effective segments. /// </summary> @@ -318,6 +403,17 @@ namespace Tango.BL.Entities set { EditingState = value.ToInt32(); RaisePropertyChangedAuto(); } } + [NotMapped] + [JsonIgnore] + public double GramPerLength { get; set;} + + [NotMapped] + [JsonIgnore] + public String ThreadName + { + get { return Rml == null ? "" : Rml.DisplayName;} + } + #endregion #region Unmapped Fine Tuning @@ -381,6 +477,18 @@ namespace Tango.BL.Entities } } + protected override void OnRmlChanged(Rml rml) + { + base.OnRmlChanged(rml); + if(rml != null) + { + GramPerLength = Rml.GetGramPer1000mLength; + } + else + GramPerLength = 0; + RaisePropertyChanged(nameof(ThreadName)); + } + #endregion #region Override Methods @@ -527,14 +635,17 @@ namespace Tango.BL.Entities } return length; - //if (Segments != null) - //{ - // return Segments.Sum(x => x.LengthWithFactor) + ((EnableInterSegment && IsAllSegmentsPerSpool) ? (InterSegmentLength * (Segments.Count > 0 ? Segments.Count - 1 : Segments.Count)) : 0); - //} - //else - //{ - // return 0; - //} + } + + private double GetWeigth() + { + if(Rml == null) + return 0; + + double length = GetLength(); + + var weight = (length * GramPerLength) / (1000 );//length in m, return value in g + return weight; } #endregion diff --git a/Software/Visual_Studio/Tango.BL/Entities/JobRunBase.cs b/Software/Visual_Studio/Tango.BL/Entities/JobRunBase.cs index da3ff6f5b..ddb33e7d2 100644 --- a/Software/Visual_Studio/Tango.BL/Entities/JobRunBase.cs +++ b/Software/Visual_Studio/Tango.BL/Entities/JobRunBase.cs @@ -95,6 +95,8 @@ namespace Tango.BL.Entities public event EventHandler<String> FineTuningStringChanged; + public event EventHandler<Int32> MachineTypeChanged; + protected String _machineguid; /// <summary> @@ -1140,6 +1142,33 @@ namespace Tango.BL.Entities } } + protected Int32 _machinetype; + + /// <summary> + /// Gets or sets the jobrunbase machine type. + /// </summary> + + [Column("MACHINE_TYPE")] + + public Int32 MachineType + { + get + { + return _machinetype; + } + + set + { + if (_machinetype != value) + { + _machinetype = value; + + OnMachineTypeChanged(value); + + } + } + } + /// <summary> /// Called when the JobName has changed. /// </summary> @@ -1447,6 +1476,15 @@ namespace Tango.BL.Entities } /// <summary> + /// Called when the MachineType has changed. + /// </summary> + protected virtual void OnMachineTypeChanged(Int32 machinetype) + { + MachineTypeChanged?.Invoke(this, machinetype); + RaisePropertyChanged(nameof(MachineType)); + } + + /// <summary> /// Initializes a new instance of the <see cref="JobRunBase" /> class. /// </summary> public JobRunBase() : base() diff --git a/Software/Visual_Studio/Tango.BL/Entities/Machine.cs b/Software/Visual_Studio/Tango.BL/Entities/Machine.cs index b82738db8..01e17cfde 100644 --- a/Software/Visual_Studio/Tango.BL/Entities/Machine.cs +++ b/Software/Visual_Studio/Tango.BL/Entities/Machine.cs @@ -3,6 +3,7 @@ using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.ComponentModel.DataAnnotations.Schema; +using System.Data.Entity; using System.Linq; using System.Reflection; using System.Text; @@ -90,6 +91,20 @@ namespace Tango.BL.Entities } } + [NotMapped] + [JsonIgnore] + public MachineTypes Type + { + get + { + return (MachineTypes)MachineType; + } + set + { + MachineType = value.ToInt32(); + } + } + #endregion protected override void RaisePropertyChanged(string propName) @@ -162,5 +177,24 @@ namespace Tango.BL.Entities { } + + public async Task<ObservableCollection<SpoolType>> GetSiteSpoolTypes(ObservablesContext db) + { + ObservableCollection<SpoolType> spoolTypes = new ObservableCollection<SpoolType>(); + + spoolTypes = (await db.SitesSpoolTypes.Where(x => x.SiteGuid == SiteGuid).Include(x => x.SpoolType).Select(x => x.SpoolType).ToListAsync()).OrderBy(x => x.LastUpdated).ToObservableCollection(); + + if (spoolTypes.Count == 0) + { + spoolTypes = new ObservableCollection<SpoolType>(); + var standardSpool = await db.SpoolTypes.FirstOrDefaultAsync(x => x.Code == (int)BL.Enumerations.SpoolTypes.StandardSpool); + if (standardSpool != null) + { + spoolTypes.Add(standardSpool); + } + } + + return spoolTypes; + } } } diff --git a/Software/Visual_Studio/Tango.BL/Entities/MachineBase.cs b/Software/Visual_Studio/Tango.BL/Entities/MachineBase.cs index b56e59174..dcd84d9eb 100644 --- a/Software/Visual_Studio/Tango.BL/Entities/MachineBase.cs +++ b/Software/Visual_Studio/Tango.BL/Entities/MachineBase.cs @@ -81,6 +81,8 @@ namespace Tango.BL.Entities public event EventHandler<String> VersionTagChanged; + public event EventHandler<Int32> MachineTypeChanged; + public event EventHandler<SynchronizedObservableCollection<Cat>> CatsChanged; public event EventHandler<SynchronizedObservableCollection<ColorProcessParameter>> ColorProcessParametersChanged; @@ -1037,6 +1039,33 @@ namespace Tango.BL.Entities } } + protected Int32 _machinetype; + + /// <summary> + /// Gets or sets the machinebase machine type. + /// </summary> + + [Column("MACHINE_TYPE")] + + public Int32 MachineType + { + get + { + return _machinetype; + } + + set + { + if (_machinetype != value) + { + _machinetype = value; + + OnMachineTypeChanged(value); + + } + } + } + protected SynchronizedObservableCollection<Cat> _cats; /// <summary> @@ -1602,6 +1631,15 @@ namespace Tango.BL.Entities } /// <summary> + /// Called when the MachineType has changed. + /// </summary> + protected virtual void OnMachineTypeChanged(Int32 machinetype) + { + MachineTypeChanged?.Invoke(this, machinetype); + RaisePropertyChanged(nameof(MachineType)); + } + + /// <summary> /// Called when the Cats has changed. /// </summary> protected virtual void OnCatsChanged(SynchronizedObservableCollection<Cat> cats) diff --git a/Software/Visual_Studio/Tango.BL/Entities/MachinePrototype.cs b/Software/Visual_Studio/Tango.BL/Entities/MachinePrototype.cs index a1dee5a5d..d93c80f8c 100644 --- a/Software/Visual_Studio/Tango.BL/Entities/MachinePrototype.cs +++ b/Software/Visual_Studio/Tango.BL/Entities/MachinePrototype.cs @@ -129,6 +129,7 @@ namespace Tango.BL.Entities prototype.Name = name; prototype.Description = description; prototype.LastUpdated = DateTime.UtcNow; + prototype.MachineType = machine.MachineType; prototype.SetPrototypeMachine(machine); return prototype; diff --git a/Software/Visual_Studio/Tango.BL/Entities/MachinePrototypeBase.cs b/Software/Visual_Studio/Tango.BL/Entities/MachinePrototypeBase.cs index 2ecaad7e4..863496860 100644 --- a/Software/Visual_Studio/Tango.BL/Entities/MachinePrototypeBase.cs +++ b/Software/Visual_Studio/Tango.BL/Entities/MachinePrototypeBase.cs @@ -27,12 +27,41 @@ namespace Tango.BL.Entities public abstract class MachinePrototypeBase : ObservableEntity<MachinePrototype> { + public event EventHandler<Int32> MachineTypeChanged; + public event EventHandler<String> NameChanged; public event EventHandler<String> DescriptionChanged; public event EventHandler<String> PrototypeJsonChanged; + protected Int32 _machinetype; + + /// <summary> + /// Gets or sets the machineprototypebase machine type. + /// </summary> + + [Column("MACHINE_TYPE")] + + public Int32 MachineType + { + get + { + return _machinetype; + } + + set + { + if (_machinetype != value) + { + _machinetype = value; + + OnMachineTypeChanged(value); + + } + } + } + protected String _name; /// <summary> @@ -115,6 +144,15 @@ namespace Tango.BL.Entities } /// <summary> + /// Called when the MachineType has changed. + /// </summary> + protected virtual void OnMachineTypeChanged(Int32 machinetype) + { + MachineTypeChanged?.Invoke(this, machinetype); + RaisePropertyChanged(nameof(MachineType)); + } + + /// <summary> /// Called when the Name has changed. /// </summary> protected virtual void OnNameChanged(String name) diff --git a/Software/Visual_Studio/Tango.BL/Entities/MachineVersion.cs b/Software/Visual_Studio/Tango.BL/Entities/MachineVersion.cs index 5832e8a74..694ee1f37 100644 --- a/Software/Visual_Studio/Tango.BL/Entities/MachineVersion.cs +++ b/Software/Visual_Studio/Tango.BL/Entities/MachineVersion.cs @@ -1,10 +1,13 @@ +using Newtonsoft.Json; using System; using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; using System.Data.Entity; using System.Linq; using System.Text; using System.Threading.Tasks; using Tango.BL.Builders; +using Tango.BL.Enumerations; using Tango.BL.Serialization; namespace Tango.BL.Entities @@ -18,5 +21,12 @@ namespace Tango.BL.Entities { } + + [NotMapped] + [JsonIgnore] + public MachineTypes MachineType + { + get { return Version == 1 ? MachineTypes.TS1800 : MachineTypes.Eureka; } + } } } diff --git a/Software/Visual_Studio/Tango.BL/Entities/ProcessParametersTable.cs b/Software/Visual_Studio/Tango.BL/Entities/ProcessParametersTable.cs index 0a78dbc93..1dadd61c8 100644 --- a/Software/Visual_Studio/Tango.BL/Entities/ProcessParametersTable.cs +++ b/Software/Visual_Studio/Tango.BL/Entities/ProcessParametersTable.cs @@ -5,6 +5,7 @@ using System.ComponentModel.DataAnnotations.Schema; using System.Linq; using System.Text; using System.Threading.Tasks; +using Tango.BL.Enumerations; using Tango.Core.ExtensionMethods; namespace Tango.BL.Entities @@ -13,6 +14,10 @@ namespace Tango.BL.Entities { public event EventHandler DyeingSpeedMinInkUptakeChanged; + [NotMapped] + [JsonIgnore] + public static MachineTypes DryerBufferMode { get; set; } + public const double DRYER_METERS_PER_CYCLE = 0.76; public const double DRYER_TO_SPOOL_LENGTH_METERS = 0.9; @@ -35,7 +40,17 @@ namespace Tango.BL.Entities [JsonIgnore] public double DryerBufferLengthMeters { - get { return (DryerBufferLength * DRYER_METERS_PER_CYCLE) + DRYER_TO_SPOOL_LENGTH_METERS; } + get + { + if (DryerBufferMode == MachineTypes.TS1800) + { + return (DryerBufferLength * DRYER_METERS_PER_CYCLE) + DRYER_TO_SPOOL_LENGTH_METERS; + } + else + { + return DryerBufferLength; + } + } } /// <summary> diff --git a/Software/Visual_Studio/Tango.BL/Entities/ProcessParametersTableBase.cs b/Software/Visual_Studio/Tango.BL/Entities/ProcessParametersTableBase.cs index 702674850..3fe1cacee 100644 --- a/Software/Visual_Studio/Tango.BL/Entities/ProcessParametersTableBase.cs +++ b/Software/Visual_Studio/Tango.BL/Entities/ProcessParametersTableBase.cs @@ -97,6 +97,66 @@ namespace Tango.BL.Entities public event EventHandler<Double> BtsrThreadLengthOffsetChanged; + public event EventHandler<Double> EWinder1TensionChanged; + + public event EventHandler<Double> EWinder2TensionChanged; + + public event EventHandler<Double> EWinder3TensionChanged; + + public event EventHandler<Double> EWinder4TensionChanged; + + public event EventHandler<Double> EBtsr1FeedingTensionChanged; + + public event EventHandler<Double> EBtsr2FeedingTensionChanged; + + public event EventHandler<Double> EBtsr3FeedingTensionChanged; + + public event EventHandler<Double> EBtsr4FeedingTensionChanged; + + public event EventHandler<Double> EMixerTempChanged; + + public event EventHandler<Double> EHeadZone1TempChanged; + + public event EventHandler<Double> EHeadZone2TempChanged; + + public event EventHandler<Double> EHeadZone3TempChanged; + + public event EventHandler<Double> EDryerZone1TempChanged; + + public event EventHandler<Double> EDryerZone2TempChanged; + + public event EventHandler<Double> EDryerZone3TempChanged; + + public event EventHandler<Double> ELubricantTempChanged; + + public event EventHandler<Double> EDryerIncomingAirFlowChanged; + + public event EventHandler<Double> EDryerOutgoingAirFlowChanged; + + public event EventHandler<Double> ETunnelIncomingAirFlowChanged; + + public event EventHandler<Double> ETunnelOutgoingAirFlowChanged; + + public event EventHandler<Double> EWasteAirFlowChanged; + + public event EventHandler<Double> EWastePrepareTimeChanged; + + public event EventHandler<Double> EPumpTempChanged; + + public event EventHandler<Double> EPressureBuildUpChanged; + + public event EventHandler<Double> ESpare1Changed; + + public event EventHandler<Double> ESpare2Changed; + + public event EventHandler<Double> ESpare3Changed; + + public event EventHandler<Double> ESpare4Changed; + + public event EventHandler<Double> ESpare5Changed; + + public event EventHandler<Double> ETunnelTempChanged; + public event EventHandler<ProcessParametersTablesGroup> ProcessParametersTablesGroupChanged; protected String _name; @@ -1206,6 +1266,936 @@ namespace Tango.BL.Entities } } + protected Double _ewinder1tension; + + /// <summary> + /// Gets or sets the processparameterstablebase e winder1 tension. + /// </summary> + + [Column("E_WINDER1_TENSION")] + + [StringFormat("0.0")] + + [PropertyIndex(40)] + + public Double EWinder1Tension + { + get + { + return _ewinder1tension; + } + + set + { + if (_ewinder1tension != value) + { + _ewinder1tension = value; + + OnEWinder1TensionChanged(value); + + } + } + } + + protected Double _ewinder2tension; + + /// <summary> + /// Gets or sets the processparameterstablebase e winder2 tension. + /// </summary> + + [Column("E_WINDER2_TENSION")] + + [StringFormat("0.0")] + + [PropertyIndex(41)] + + public Double EWinder2Tension + { + get + { + return _ewinder2tension; + } + + set + { + if (_ewinder2tension != value) + { + _ewinder2tension = value; + + OnEWinder2TensionChanged(value); + + } + } + } + + protected Double _ewinder3tension; + + /// <summary> + /// Gets or sets the processparameterstablebase e winder3 tension. + /// </summary> + + [Column("E_WINDER3_TENSION")] + + [StringFormat("0.0")] + + [PropertyIndex(42)] + + public Double EWinder3Tension + { + get + { + return _ewinder3tension; + } + + set + { + if (_ewinder3tension != value) + { + _ewinder3tension = value; + + OnEWinder3TensionChanged(value); + + } + } + } + + protected Double _ewinder4tension; + + /// <summary> + /// Gets or sets the processparameterstablebase e winder4 tension. + /// </summary> + + [Column("E_WINDER4_TENSION")] + + [StringFormat("0.0")] + + [PropertyIndex(43)] + + public Double EWinder4Tension + { + get + { + return _ewinder4tension; + } + + set + { + if (_ewinder4tension != value) + { + _ewinder4tension = value; + + OnEWinder4TensionChanged(value); + + } + } + } + + protected Double _ebtsr1feedingtension; + + /// <summary> + /// Gets or sets the processparameterstablebase e btsr1 feeding tension. + /// </summary> + + [Column("E_BTSR1_FEEDING_TENSION")] + + [StringFormat("0.0")] + + [PropertyIndex(44)] + + public Double EBtsr1FeedingTension + { + get + { + return _ebtsr1feedingtension; + } + + set + { + if (_ebtsr1feedingtension != value) + { + _ebtsr1feedingtension = value; + + OnEBtsr1FeedingTensionChanged(value); + + } + } + } + + protected Double _ebtsr2feedingtension; + + /// <summary> + /// Gets or sets the processparameterstablebase e btsr2 feeding tension. + /// </summary> + + [Column("E_BTSR2_FEEDING_TENSION")] + + [StringFormat("0.0")] + + [PropertyIndex(45)] + + public Double EBtsr2FeedingTension + { + get + { + return _ebtsr2feedingtension; + } + + set + { + if (_ebtsr2feedingtension != value) + { + _ebtsr2feedingtension = value; + + OnEBtsr2FeedingTensionChanged(value); + + } + } + } + + protected Double _ebtsr3feedingtension; + + /// <summary> + /// Gets or sets the processparameterstablebase e btsr3 feeding tension. + /// </summary> + + [Column("E_BTSR3_FEEDING_TENSION")] + + [StringFormat("0.0")] + + [PropertyIndex(46)] + + public Double EBtsr3FeedingTension + { + get + { + return _ebtsr3feedingtension; + } + + set + { + if (_ebtsr3feedingtension != value) + { + _ebtsr3feedingtension = value; + + OnEBtsr3FeedingTensionChanged(value); + + } + } + } + + protected Double _ebtsr4feedingtension; + + /// <summary> + /// Gets or sets the processparameterstablebase e btsr4 feeding tension. + /// </summary> + + [Column("E_BTSR4_FEEDING_TENSION")] + + [StringFormat("0.0")] + + [PropertyIndex(47)] + + public Double EBtsr4FeedingTension + { + get + { + return _ebtsr4feedingtension; + } + + set + { + if (_ebtsr4feedingtension != value) + { + _ebtsr4feedingtension = value; + + OnEBtsr4FeedingTensionChanged(value); + + } + } + } + + protected Double _emixertemp; + + /// <summary> + /// Gets or sets the processparameterstablebase e mixer temp. + /// </summary> + + [Column("E_MIXER_TEMP")] + + [StringFormat("0.0")] + + [PropertyIndex(48)] + + public Double EMixerTemp + { + get + { + return _emixertemp; + } + + set + { + if (_emixertemp != value) + { + _emixertemp = value; + + OnEMixerTempChanged(value); + + } + } + } + + protected Double _eheadzone1temp; + + /// <summary> + /// Gets or sets the processparameterstablebase e head zone1 temp. + /// </summary> + + [Column("E_HEAD_ZONE1_TEMP")] + + [StringFormat("0.0")] + + [PropertyIndex(49)] + + public Double EHeadZone1Temp + { + get + { + return _eheadzone1temp; + } + + set + { + if (_eheadzone1temp != value) + { + _eheadzone1temp = value; + + OnEHeadZone1TempChanged(value); + + } + } + } + + protected Double _eheadzone2temp; + + /// <summary> + /// Gets or sets the processparameterstablebase e head zone2 temp. + /// </summary> + + [Column("E_HEAD_ZONE2_TEMP")] + + [StringFormat("0.0")] + + [PropertyIndex(50)] + + public Double EHeadZone2Temp + { + get + { + return _eheadzone2temp; + } + + set + { + if (_eheadzone2temp != value) + { + _eheadzone2temp = value; + + OnEHeadZone2TempChanged(value); + + } + } + } + + protected Double _eheadzone3temp; + + /// <summary> + /// Gets or sets the processparameterstablebase e head zone3 temp. + /// </summary> + + [Column("E_HEAD_ZONE3_TEMP")] + + [StringFormat("0.0")] + + [PropertyIndex(51)] + + public Double EHeadZone3Temp + { + get + { + return _eheadzone3temp; + } + + set + { + if (_eheadzone3temp != value) + { + _eheadzone3temp = value; + + OnEHeadZone3TempChanged(value); + + } + } + } + + protected Double _edryerzone1temp; + + /// <summary> + /// Gets or sets the processparameterstablebase e dryer zone1 temp. + /// </summary> + + [Column("E_DRYER_ZONE1_TEMP")] + + [StringFormat("0.0")] + + [PropertyIndex(52)] + + public Double EDryerZone1Temp + { + get + { + return _edryerzone1temp; + } + + set + { + if (_edryerzone1temp != value) + { + _edryerzone1temp = value; + + OnEDryerZone1TempChanged(value); + + } + } + } + + protected Double _edryerzone2temp; + + /// <summary> + /// Gets or sets the processparameterstablebase e dryer zone2 temp. + /// </summary> + + [Column("E_DRYER_ZONE2_TEMP")] + + [StringFormat("0.0")] + + [PropertyIndex(53)] + + public Double EDryerZone2Temp + { + get + { + return _edryerzone2temp; + } + + set + { + if (_edryerzone2temp != value) + { + _edryerzone2temp = value; + + OnEDryerZone2TempChanged(value); + + } + } + } + + protected Double _edryerzone3temp; + + /// <summary> + /// Gets or sets the processparameterstablebase e dryer zone3 temp. + /// </summary> + + [Column("E_DRYER_ZONE3_TEMP")] + + [StringFormat("0.0")] + + [PropertyIndex(54)] + + public Double EDryerZone3Temp + { + get + { + return _edryerzone3temp; + } + + set + { + if (_edryerzone3temp != value) + { + _edryerzone3temp = value; + + OnEDryerZone3TempChanged(value); + + } + } + } + + protected Double _elubricanttemp; + + /// <summary> + /// Gets or sets the processparameterstablebase e lubricant temp. + /// </summary> + + [Column("E_LUBRICANT_TEMP")] + + [StringFormat("0.0")] + + [PropertyIndex(55)] + + public Double ELubricantTemp + { + get + { + return _elubricanttemp; + } + + set + { + if (_elubricanttemp != value) + { + _elubricanttemp = value; + + OnELubricantTempChanged(value); + + } + } + } + + protected Double _edryerincomingairflow; + + /// <summary> + /// Gets or sets the processparameterstablebase e dryer incoming air flow. + /// </summary> + + [Column("E_DRYER_INCOMING_AIR_FLOW")] + + [StringFormat("0.0")] + + [PropertyIndex(56)] + + public Double EDryerIncomingAirFlow + { + get + { + return _edryerincomingairflow; + } + + set + { + if (_edryerincomingairflow != value) + { + _edryerincomingairflow = value; + + OnEDryerIncomingAirFlowChanged(value); + + } + } + } + + protected Double _edryeroutgoingairflow; + + /// <summary> + /// Gets or sets the processparameterstablebase e dryer outgoing air flow. + /// </summary> + + [Column("E_DRYER_OUTGOING_AIR_FLOW")] + + [StringFormat("0.0")] + + [PropertyIndex(57)] + + public Double EDryerOutgoingAirFlow + { + get + { + return _edryeroutgoingairflow; + } + + set + { + if (_edryeroutgoingairflow != value) + { + _edryeroutgoingairflow = value; + + OnEDryerOutgoingAirFlowChanged(value); + + } + } + } + + protected Double _etunnelincomingairflow; + + /// <summary> + /// Gets or sets the processparameterstablebase e tunnel incoming air flow. + /// </summary> + + [Column("E_TUNNEL_INCOMING_AIR_FLOW")] + + [StringFormat("0.0")] + + [PropertyIndex(58)] + + public Double ETunnelIncomingAirFlow + { + get + { + return _etunnelincomingairflow; + } + + set + { + if (_etunnelincomingairflow != value) + { + _etunnelincomingairflow = value; + + OnETunnelIncomingAirFlowChanged(value); + + } + } + } + + protected Double _etunneloutgoingairflow; + + /// <summary> + /// Gets or sets the processparameterstablebase e tunnel outgoing air flow. + /// </summary> + + [Column("E_TUNNEL_OUTGOING_AIR_FLOW")] + + [StringFormat("0.0")] + + [PropertyIndex(59)] + + public Double ETunnelOutgoingAirFlow + { + get + { + return _etunneloutgoingairflow; + } + + set + { + if (_etunneloutgoingairflow != value) + { + _etunneloutgoingairflow = value; + + OnETunnelOutgoingAirFlowChanged(value); + + } + } + } + + protected Double _ewasteairflow; + + /// <summary> + /// Gets or sets the processparameterstablebase e waste air flow. + /// </summary> + + [Column("E_WASTE_AIR_FLOW")] + + [StringFormat("0.0")] + + [PropertyIndex(60)] + + public Double EWasteAirFlow + { + get + { + return _ewasteairflow; + } + + set + { + if (_ewasteairflow != value) + { + _ewasteairflow = value; + + OnEWasteAirFlowChanged(value); + + } + } + } + + protected Double _ewastepreparetime; + + /// <summary> + /// Gets or sets the processparameterstablebase e waste prepare time. + /// </summary> + + [Column("E_WASTE_PREPARE_TIME")] + + [StringFormat("0.0")] + + [PropertyIndex(61)] + + public Double EWastePrepareTime + { + get + { + return _ewastepreparetime; + } + + set + { + if (_ewastepreparetime != value) + { + _ewastepreparetime = value; + + OnEWastePrepareTimeChanged(value); + + } + } + } + + protected Double _epumptemp; + + /// <summary> + /// Gets or sets the processparameterstablebase e pump temp. + /// </summary> + + [Column("E_PUMP_TEMP")] + + [StringFormat("0.0")] + + [PropertyIndex(62)] + + public Double EPumpTemp + { + get + { + return _epumptemp; + } + + set + { + if (_epumptemp != value) + { + _epumptemp = value; + + OnEPumpTempChanged(value); + + } + } + } + + protected Double _epressurebuildup; + + /// <summary> + /// Gets or sets the processparameterstablebase e pressure build up. + /// </summary> + + [Column("E_PRESSURE_BUILD_UP")] + + [StringFormat("0.0")] + + [PropertyIndex(63)] + + public Double EPressureBuildUp + { + get + { + return _epressurebuildup; + } + + set + { + if (_epressurebuildup != value) + { + _epressurebuildup = value; + + OnEPressureBuildUpChanged(value); + + } + } + } + + protected Double _espare1; + + /// <summary> + /// Gets or sets the processparameterstablebase e spare1. + /// </summary> + + [Column("E_SPARE1")] + + [StringFormat("0.0")] + + [PropertyIndex(65)] + + public Double ESpare1 + { + get + { + return _espare1; + } + + set + { + if (_espare1 != value) + { + _espare1 = value; + + OnESpare1Changed(value); + + } + } + } + + protected Double _espare2; + + /// <summary> + /// Gets or sets the processparameterstablebase e spare2. + /// </summary> + + [Column("E_SPARE2")] + + [StringFormat("0.0")] + + [PropertyIndex(66)] + + public Double ESpare2 + { + get + { + return _espare2; + } + + set + { + if (_espare2 != value) + { + _espare2 = value; + + OnESpare2Changed(value); + + } + } + } + + protected Double _espare3; + + /// <summary> + /// Gets or sets the processparameterstablebase e spare3. + /// </summary> + + [Column("E_SPARE3")] + + [StringFormat("0.0")] + + [PropertyIndex(67)] + + public Double ESpare3 + { + get + { + return _espare3; + } + + set + { + if (_espare3 != value) + { + _espare3 = value; + + OnESpare3Changed(value); + + } + } + } + + protected Double _espare4; + + /// <summary> + /// Gets or sets the processparameterstablebase e spare4. + /// </summary> + + [Column("E_SPARE4")] + + [StringFormat("0.0")] + + [PropertyIndex(68)] + + public Double ESpare4 + { + get + { + return _espare4; + } + + set + { + if (_espare4 != value) + { + _espare4 = value; + + OnESpare4Changed(value); + + } + } + } + + protected Double _espare5; + + /// <summary> + /// Gets or sets the processparameterstablebase e spare5. + /// </summary> + + [Column("E_SPARE5")] + + [StringFormat("0.0")] + + [PropertyIndex(69)] + + public Double ESpare5 + { + get + { + return _espare5; + } + + set + { + if (_espare5 != value) + { + _espare5 = value; + + OnESpare5Changed(value); + + } + } + } + + protected Double _etunneltemp; + + /// <summary> + /// Gets or sets the processparameterstablebase e tunnel temp. + /// </summary> + + [Column("E_TUNNEL_TEMP")] + + [StringFormat("0.0")] + + [PropertyIndex(64)] + + public Double ETunnelTemp + { + get + { + return _etunneltemp; + } + + set + { + if (_etunneltemp != value) + { + _etunneltemp = value; + + OnETunnelTempChanged(value); + + } + } + } + protected ProcessParametersTablesGroup _processparameterstablesgroup; /// <summary> @@ -1554,6 +2544,276 @@ namespace Tango.BL.Entities } /// <summary> + /// Called when the EWinder1Tension has changed. + /// </summary> + protected virtual void OnEWinder1TensionChanged(Double ewinder1tension) + { + EWinder1TensionChanged?.Invoke(this, ewinder1tension); + RaisePropertyChanged(nameof(EWinder1Tension)); + } + + /// <summary> + /// Called when the EWinder2Tension has changed. + /// </summary> + protected virtual void OnEWinder2TensionChanged(Double ewinder2tension) + { + EWinder2TensionChanged?.Invoke(this, ewinder2tension); + RaisePropertyChanged(nameof(EWinder2Tension)); + } + + /// <summary> + /// Called when the EWinder3Tension has changed. + /// </summary> + protected virtual void OnEWinder3TensionChanged(Double ewinder3tension) + { + EWinder3TensionChanged?.Invoke(this, ewinder3tension); + RaisePropertyChanged(nameof(EWinder3Tension)); + } + + /// <summary> + /// Called when the EWinder4Tension has changed. + /// </summary> + protected virtual void OnEWinder4TensionChanged(Double ewinder4tension) + { + EWinder4TensionChanged?.Invoke(this, ewinder4tension); + RaisePropertyChanged(nameof(EWinder4Tension)); + } + + /// <summary> + /// Called when the EBtsr1FeedingTension has changed. + /// </summary> + protected virtual void OnEBtsr1FeedingTensionChanged(Double ebtsr1feedingtension) + { + EBtsr1FeedingTensionChanged?.Invoke(this, ebtsr1feedingtension); + RaisePropertyChanged(nameof(EBtsr1FeedingTension)); + } + + /// <summary> + /// Called when the EBtsr2FeedingTension has changed. + /// </summary> + protected virtual void OnEBtsr2FeedingTensionChanged(Double ebtsr2feedingtension) + { + EBtsr2FeedingTensionChanged?.Invoke(this, ebtsr2feedingtension); + RaisePropertyChanged(nameof(EBtsr2FeedingTension)); + } + + /// <summary> + /// Called when the EBtsr3FeedingTension has changed. + /// </summary> + protected virtual void OnEBtsr3FeedingTensionChanged(Double ebtsr3feedingtension) + { + EBtsr3FeedingTensionChanged?.Invoke(this, ebtsr3feedingtension); + RaisePropertyChanged(nameof(EBtsr3FeedingTension)); + } + + /// <summary> + /// Called when the EBtsr4FeedingTension has changed. + /// </summary> + protected virtual void OnEBtsr4FeedingTensionChanged(Double ebtsr4feedingtension) + { + EBtsr4FeedingTensionChanged?.Invoke(this, ebtsr4feedingtension); + RaisePropertyChanged(nameof(EBtsr4FeedingTension)); + } + + /// <summary> + /// Called when the EMixerTemp has changed. + /// </summary> + protected virtual void OnEMixerTempChanged(Double emixertemp) + { + EMixerTempChanged?.Invoke(this, emixertemp); + RaisePropertyChanged(nameof(EMixerTemp)); + } + + /// <summary> + /// Called when the EHeadZone1Temp has changed. + /// </summary> + protected virtual void OnEHeadZone1TempChanged(Double eheadzone1temp) + { + EHeadZone1TempChanged?.Invoke(this, eheadzone1temp); + RaisePropertyChanged(nameof(EHeadZone1Temp)); + } + + /// <summary> + /// Called when the EHeadZone2Temp has changed. + /// </summary> + protected virtual void OnEHeadZone2TempChanged(Double eheadzone2temp) + { + EHeadZone2TempChanged?.Invoke(this, eheadzone2temp); + RaisePropertyChanged(nameof(EHeadZone2Temp)); + } + + /// <summary> + /// Called when the EHeadZone3Temp has changed. + /// </summary> + protected virtual void OnEHeadZone3TempChanged(Double eheadzone3temp) + { + EHeadZone3TempChanged?.Invoke(this, eheadzone3temp); + RaisePropertyChanged(nameof(EHeadZone3Temp)); + } + + /// <summary> + /// Called when the EDryerZone1Temp has changed. + /// </summary> + protected virtual void OnEDryerZone1TempChanged(Double edryerzone1temp) + { + EDryerZone1TempChanged?.Invoke(this, edryerzone1temp); + RaisePropertyChanged(nameof(EDryerZone1Temp)); + } + + /// <summary> + /// Called when the EDryerZone2Temp has changed. + /// </summary> + protected virtual void OnEDryerZone2TempChanged(Double edryerzone2temp) + { + EDryerZone2TempChanged?.Invoke(this, edryerzone2temp); + RaisePropertyChanged(nameof(EDryerZone2Temp)); + } + + /// <summary> + /// Called when the EDryerZone3Temp has changed. + /// </summary> + protected virtual void OnEDryerZone3TempChanged(Double edryerzone3temp) + { + EDryerZone3TempChanged?.Invoke(this, edryerzone3temp); + RaisePropertyChanged(nameof(EDryerZone3Temp)); + } + + /// <summary> + /// Called when the ELubricantTemp has changed. + /// </summary> + protected virtual void OnELubricantTempChanged(Double elubricanttemp) + { + ELubricantTempChanged?.Invoke(this, elubricanttemp); + RaisePropertyChanged(nameof(ELubricantTemp)); + } + + /// <summary> + /// Called when the EDryerIncomingAirFlow has changed. + /// </summary> + protected virtual void OnEDryerIncomingAirFlowChanged(Double edryerincomingairflow) + { + EDryerIncomingAirFlowChanged?.Invoke(this, edryerincomingairflow); + RaisePropertyChanged(nameof(EDryerIncomingAirFlow)); + } + + /// <summary> + /// Called when the EDryerOutgoingAirFlow has changed. + /// </summary> + protected virtual void OnEDryerOutgoingAirFlowChanged(Double edryeroutgoingairflow) + { + EDryerOutgoingAirFlowChanged?.Invoke(this, edryeroutgoingairflow); + RaisePropertyChanged(nameof(EDryerOutgoingAirFlow)); + } + + /// <summary> + /// Called when the ETunnelIncomingAirFlow has changed. + /// </summary> + protected virtual void OnETunnelIncomingAirFlowChanged(Double etunnelincomingairflow) + { + ETunnelIncomingAirFlowChanged?.Invoke(this, etunnelincomingairflow); + RaisePropertyChanged(nameof(ETunnelIncomingAirFlow)); + } + + /// <summary> + /// Called when the ETunnelOutgoingAirFlow has changed. + /// </summary> + protected virtual void OnETunnelOutgoingAirFlowChanged(Double etunneloutgoingairflow) + { + ETunnelOutgoingAirFlowChanged?.Invoke(this, etunneloutgoingairflow); + RaisePropertyChanged(nameof(ETunnelOutgoingAirFlow)); + } + + /// <summary> + /// Called when the EWasteAirFlow has changed. + /// </summary> + protected virtual void OnEWasteAirFlowChanged(Double ewasteairflow) + { + EWasteAirFlowChanged?.Invoke(this, ewasteairflow); + RaisePropertyChanged(nameof(EWasteAirFlow)); + } + + /// <summary> + /// Called when the EWastePrepareTime has changed. + /// </summary> + protected virtual void OnEWastePrepareTimeChanged(Double ewastepreparetime) + { + EWastePrepareTimeChanged?.Invoke(this, ewastepreparetime); + RaisePropertyChanged(nameof(EWastePrepareTime)); + } + + /// <summary> + /// Called when the EPumpTemp has changed. + /// </summary> + protected virtual void OnEPumpTempChanged(Double epumptemp) + { + EPumpTempChanged?.Invoke(this, epumptemp); + RaisePropertyChanged(nameof(EPumpTemp)); + } + + /// <summary> + /// Called when the EPressureBuildUp has changed. + /// </summary> + protected virtual void OnEPressureBuildUpChanged(Double epressurebuildup) + { + EPressureBuildUpChanged?.Invoke(this, epressurebuildup); + RaisePropertyChanged(nameof(EPressureBuildUp)); + } + + /// <summary> + /// Called when the ESpare1 has changed. + /// </summary> + protected virtual void OnESpare1Changed(Double espare1) + { + ESpare1Changed?.Invoke(this, espare1); + RaisePropertyChanged(nameof(ESpare1)); + } + + /// <summary> + /// Called when the ESpare2 has changed. + /// </summary> + protected virtual void OnESpare2Changed(Double espare2) + { + ESpare2Changed?.Invoke(this, espare2); + RaisePropertyChanged(nameof(ESpare2)); + } + + /// <summary> + /// Called when the ESpare3 has changed. + /// </summary> + protected virtual void OnESpare3Changed(Double espare3) + { + ESpare3Changed?.Invoke(this, espare3); + RaisePropertyChanged(nameof(ESpare3)); + } + + /// <summary> + /// Called when the ESpare4 has changed. + /// </summary> + protected virtual void OnESpare4Changed(Double espare4) + { + ESpare4Changed?.Invoke(this, espare4); + RaisePropertyChanged(nameof(ESpare4)); + } + + /// <summary> + /// Called when the ESpare5 has changed. + /// </summary> + protected virtual void OnESpare5Changed(Double espare5) + { + ESpare5Changed?.Invoke(this, espare5); + RaisePropertyChanged(nameof(ESpare5)); + } + + /// <summary> + /// Called when the ETunnelTemp has changed. + /// </summary> + protected virtual void OnETunnelTempChanged(Double etunneltemp) + { + ETunnelTempChanged?.Invoke(this, etunneltemp); + RaisePropertyChanged(nameof(ETunnelTemp)); + } + + /// <summary> /// Called when the ProcessParametersTablesGroup has changed. /// </summary> protected virtual void OnProcessParametersTablesGroupChanged(ProcessParametersTablesGroup processparameterstablesgroup) diff --git a/Software/Visual_Studio/Tango.BL/Entities/Rml.cs b/Software/Visual_Studio/Tango.BL/Entities/Rml.cs index a49b3cf84..fdeb8f05e 100644 --- a/Software/Visual_Studio/Tango.BL/Entities/Rml.cs +++ b/Software/Visual_Studio/Tango.BL/Entities/Rml.cs @@ -24,6 +24,7 @@ namespace Tango.BL.Entities WhitePointL = 92.1815; WhitePointA = 2.2555; WhitePointB = -10.9325; + PliesPerThread = 1; } protected override void OnWhitePointLChanged(double whitepointl) @@ -234,6 +235,15 @@ namespace Tango.BL.Entities { base.OnPliesPerFiberChanged(pliesperfiber); UpdateFiberCount(); + + } + + protected override void OnPliesPerThreadChanged(Int32 pliesperthread) + { + base.OnPliesPerThreadChanged(pliesperthread); + UpdateDencityCount(); + UpdateFiberCount(); + RaisePropertyChanged(nameof(RMLPlies)); } private void UpdateDencityCount() @@ -252,20 +262,21 @@ namespace Tango.BL.Entities { get { + var count = 0; if (LinearMassDensityUnit == null || FiberSize==0) - return 0; + return count; if (LinearMassDensityUnit.Name== "Tex") - return Convert.ToInt32(FiberSize) * 9; + count = Convert.ToInt32(FiberSize) * 9; if (LinearMassDensityUnit.Name == "DTEX") - return (int)(Convert.ToInt32(FiberSize) * 0.9); + count = (int)(Convert.ToInt32(FiberSize) * 0.9); if (LinearMassDensityUnit.Name == "Ne") - return (int)(5315 / Convert.ToInt32(FiberSize)); + count = (int)(5315 / Convert.ToInt32(FiberSize)); if (LinearMassDensityUnit.Name == "Nm") - return (int)(9000 / Convert.ToInt32(FiberSize)); + count = (int)(9000 / Convert.ToInt32(FiberSize)); if (LinearMassDensityUnit.Name == "Denier") - return (int)FiberSize; + count = (int)FiberSize; - return 0; + return PliesPerThread == 0 ? count : count * PliesPerThread; } } @@ -292,6 +303,29 @@ namespace Tango.BL.Entities } } + [NotMapped] + [JsonIgnore] + public double GetGramPer1000mLength + { + + get + { + + //if (LinearMassDensityUnit.Name == "Tex") + // return FiberSize; + //if (LinearMassDensityUnit.Name == "DTEX") + // return (FiberSize /10); + //if (LinearMassDensityUnit.Name == "Ne") + // return (590.5 / FiberSize); + //if (LinearMassDensityUnit.Name == "Nm") + // return (1000 / FiberSize); + //if (LinearMassDensityUnit.Name == "Denier") + // return FiberSize/9; + + return DencityCount == 0? (1/9 ): (DencityCount / 9); + } + } + [NotMapped] [JsonIgnore] @@ -302,6 +336,8 @@ namespace Tango.BL.Entities { base.PliesPerThread = value.ToInt32(); RaisePropertyChangedAuto(); + UpdateDencityCount(); + UpdateFiberCount(); } } diff --git a/Software/Visual_Studio/Tango.BL/Entities/Segment.cs b/Software/Visual_Studio/Tango.BL/Entities/Segment.cs index be72100a5..5a99442e4 100644 --- a/Software/Visual_Studio/Tango.BL/Entities/Segment.cs +++ b/Software/Visual_Studio/Tango.BL/Entities/Segment.cs @@ -271,6 +271,16 @@ namespace Tango.BL.Entities } } + public BrushStop FirstBrushStop + { + get { if (BrushStops.Count == 1)//Intersegment?? - null + return BrushStops[0]; + else if(BrushStops.Count >= 5) + return BrushStops[1]; + else + return null; } + } + public static Color GetRelativeRGB(Color first, Color second, double firstOffset, double secondOffset, double offset) { var color = new Color(); |
