diff options
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs')
| -rw-r--r-- | Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs | 70 |
1 files changed, 68 insertions, 2 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs index 8eb792f0d..f6b8a35df 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs @@ -39,6 +39,8 @@ using RealTimeGraphX.DataPoints; using Tango.MachineStudio.Technician.Views; using RealTimeGraphX.WPF; using Tango.Core.ExtensionMethods; +using System.Diagnostics; +using Tango.BL.Builders; namespace Tango.MachineStudio.Technician.ViewModels { @@ -49,6 +51,13 @@ namespace Tango.MachineStudio.Technician.ViewModels /// <seealso cref="Tango.MachineStudio.Common.StudioApplication.IShutdownListener" /> public class MachineTechViewVM : StudioViewModel { + private class PackColor + { + public int Index { get; set; } + public Color Color { get; set; } + public String Name { get; set; } + } + private List<PropertyInfo> _diagnoticsMonitorsDataProperties; private IDiagnosticsFrameProvider _diagnosticsFrameProvider; private Dictionary<SingleGraphItem, TechGraphController> _singleControllers; @@ -68,6 +77,8 @@ namespace Tango.MachineStudio.Technician.ViewModels private DateTime _start_time = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 0, 0, 0); private DateTime _last_time = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 0, 0, 0); + private Machine _machine; + private List<PackColor> _packsColors; #region Properties @@ -374,7 +385,7 @@ namespace Tango.MachineStudio.Technician.ViewModels /// </summary> /// <param name="sender">The sender.</param> /// <param name="machine">The machine.</param> - private void ApplicationManager_ConnectedMachineChanged(object sender, IExternalBridgeClient machine) + private async void ApplicationManager_ConnectedMachineChanged(object sender, IExternalBridgeClient machine) { MachineOperator = machine; @@ -384,6 +395,45 @@ namespace Tango.MachineStudio.Technician.ViewModels } ClearAllGraphs(); + + if (machine != null) + { + try + { + using (ObservablesContext db = ObservablesContext.CreateDefault()) + { + _machine = await new MachineBuilder(db).Set(machine.Machine.Guid).WithConfiguration().BuildAsync(); + + _packsColors = new List<PackColor>(); + + foreach (var pack in _machine.Configuration.NoneEmptyIdsPacks.OrderBy(x => x.PackIndex).ToList()) + { + PackColor pc = new PackColor(); + pc.Index = pack.PackIndex; + pc.Name = pack.LiquidType.Name; + + if (pack.LiquidType.LiquidTypeColor == Colors.Black) + { + pc.Color = Colors.Gray; + } + else if (pack.LiquidType.LiquidTypeColor == Colors.Transparent) + { + pc.Color = Colors.White; + } + else + { + pc.Color = pack.LiquidType.LiquidTypeColor; + } + + _packsColors.Add(pc); + } + } + } + catch (Exception ex) + { + LogManager.Log(ex, LogCategory.Warning, "Error loading the connected machine details from db."); + } + } } /// <summary> @@ -543,6 +593,22 @@ namespace Tango.MachineStudio.Technician.ViewModels timesMat.Add(times); } + try + { + if (_packsColors != null) + { + foreach (var pack in _packsColors) + { + controller.DataSeriesCollection[pack.Index].Stroke = pack.Color; + controller.DataSeriesCollection[pack.Index].Name = pack.Name; + } + } + } + catch (Exception ex) + { + Debug.WriteLine($"Error assigning multi graph colors.\n{ex.ToString()}"); + } + controller.PushData(timesMat, dPoints); } @@ -2490,4 +2556,4 @@ namespace Tango.MachineStudio.Technician.ViewModels #endregion } -} +}
\ No newline at end of file |
