From e6febb2cda232a2c89467690d9e1fbb82423618a Mon Sep 17 00:00:00 2001 From: Roy Ben-Shabat Date: Wed, 25 Sep 2019 15:20:42 +0300 Subject: Implemented MultiGraph data series colors from configuration. Added dispensers & mid-tanks diagnostics monitors. --- .../ViewModels/MachineTechViewVM.cs | 70 +++++++++++++++++++++- 1 file changed, 68 insertions(+), 2 deletions(-) (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs') 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 /// public class MachineTechViewVM : StudioViewModel { + private class PackColor + { + public int Index { get; set; } + public Color Color { get; set; } + public String Name { get; set; } + } + private List _diagnoticsMonitorsDataProperties; private IDiagnosticsFrameProvider _diagnosticsFrameProvider; private Dictionary _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 _packsColors; #region Properties @@ -374,7 +385,7 @@ namespace Tango.MachineStudio.Technician.ViewModels /// /// The sender. /// The machine. - 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(); + + 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."); + } + } } /// @@ -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 -- cgit v1.3.1