using Newtonsoft.Json; using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations.Schema; using System.Linq; using System.Text; using System.Threading.Tasks; using Tango.Core.ExtensionMethods; namespace Tango.BL.Entities { public partial class ProcessParametersTable : ProcessParametersTableBase { public event EventHandler DyeingSpeedMinInkUptakeChanged; public const double DRYER_METERS_PER_CYCLE = 0.76; public const double DRYER_TO_SPOOL_LENGTH_METERS = 0.9; protected override void RaisePropertyChanged(string propName) { base.RaisePropertyChanged(propName); if (propName == nameof(DyeingSpeed) || propName == nameof(MinInkUptake)) { OnDyeingSpeedMinInkUptakeChanged(); } } protected virtual void OnDyeingSpeedMinInkUptakeChanged() { DyeingSpeedMinInkUptakeChanged?.Invoke(this, new EventArgs()); } [NotMapped] [JsonIgnore] public double DryerBufferLengthMeters { get { return (DryerBufferLength * DRYER_METERS_PER_CYCLE) + DRYER_TO_SPOOL_LENGTH_METERS; } } /// /// Initializes a new instance of the class. /// public ProcessParametersTable() : base() { } public double GetAverageTemperature() { List heaters = new List(); heaters.Add(HeadZone1Temp); heaters.Add(HeadZone2Temp); heaters.Add(HeadZone3Temp); heaters.Add(HeadZone4Temp); heaters.Add(HeadZone5Temp); heaters.Add(HeadZone6Temp); heaters.Add(HeadZone7Temp); heaters.Add(HeadZone8Temp); heaters.Add(HeadZone9Temp); heaters.Add(HeadZone10Temp); heaters.Add(HeadZone11Temp); heaters.Add(HeadZone12Temp); heaters.Add(LBlowerTemp); heaters.Add(RBlowerTemp); return heaters.Average(); } public PMR.Printing.ProcessParameters ToProcessParametersPMR() { PMR.Printing.ProcessParameters p = new PMR.Printing.ProcessParameters(); this.MapPrimitivesTo(p); return p; } } }