diff options
| author | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-10-10 20:58:55 +0300 |
|---|---|---|
| committer | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-10-10 20:58:55 +0300 |
| commit | a909429b932b76f4310933c1dba6e3e77f88c92d (patch) | |
| tree | 74ea7e2890c537a0d550583ecb5bc5530e1a8fbb /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs | |
| parent | 9f236b7522c03ce0c8219abbccae7d8e5f427590 (diff) | |
| download | Tango-a909429b932b76f4310933c1dba6e3e77f88c92d.tar.gz Tango-a909429b932b76f4310933c1dba6e3e77f88c92d.zip | |
Done Implementing Valves !!!
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 | 79 |
1 files changed, 75 insertions, 4 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 1e1638928..59cd6fe19 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 @@ -559,6 +559,17 @@ namespace Tango.MachineStudio.Technician.ViewModels heaterItem.HeaterState = heaterState; } } + else if (item.GetType() == typeof(ValveItem)) + { + ValveItem valveItem = item as ValveItem; + + var valveState = data.ValvesStates.SingleOrDefault(x => x.ValveType == (ValveType)valveItem.TechValve.Code); + + if (valveState != null) + { + valveItem.EffectiveState = valveState.State; + } + } else if (item.GetType() == typeof(BlowerItem)) { BlowerItem blowerItem = item as BlowerItem; @@ -686,6 +697,11 @@ namespace Tango.MachineStudio.Technician.ViewModels var editor = CreateElement<HeaterElementEditor, HeaterItem, TechHeater>(bounds, Adapter.TechHeaters.FirstOrDefault()); InitTechHeater(editor.HeaterItem); } + else if (item is ValveItem) + { + var editor = CreateElement<ValveElementEditor, ValveItem, TechValve>(bounds, Adapter.TechValves.FirstOrDefault()); + InitTechValveItem(editor.ValveItem); + } else if (item is SingleGraphItem) { var editor = CreateElement<SingleGraphElementEditor, SingleGraphItem, TechMonitor>(bounds, Adapter.TechMonitors.Where(x => !x.MultiChannel).FirstOrDefault()); @@ -822,6 +838,11 @@ namespace Tango.MachineStudio.Technician.ViewModels (item as HeaterItem).TechHeater = Adapter.TechHeaters.FirstOrDefault(x => x.Guid == item.ItemGuid); CreateElement<HeaterElementEditor>(item); } + else if (item is ValveItem) + { + (item as ValveItem).TechValve = Adapter.TechValves.FirstOrDefault(x => x.Guid == item.ItemGuid); + CreateElement<ValveElementEditor>(item); + } else if (item is MeterItem) { (item as MeterItem).TechMonitor = Adapter.TechMonitors.Where(x => !x.MultiChannel).FirstOrDefault(x => x.Guid == item.ItemGuid); @@ -1018,26 +1039,51 @@ namespace Tango.MachineStudio.Technician.ViewModels var dispenser = element.HostedElement as DispenserItem; InitDispenserItem(dispenser); } - else if (element is DigitalOutItem) + else if (element is DigitalOutElementEditor) { var ioItem = element.HostedElement as DigitalOutItem; InitDigitalOutItem(ioItem); } - else if (element is ThreadMotionItem) + else if (element is ThreadMotionElementEditor) { var threadMotionItem = element.HostedElement as ThreadMotionItem; InitThreadMotionItem(threadMotionItem); } - else if (element is MotorGroupItem) + else if (element is MotorGroupElementEditor) { var motorGroupItem = element.HostedElement as MotorGroupItem; InitMotorGroupItem(motorGroupItem); } - else if (element is ControllerItem) + else if (element is ControllerElementEditor) { var controllerItem = element.HostedElement as ControllerItem; InitControllerItem(controllerItem); } + else if (element is MonitorRecorderElementEditor) + { + var item = element.HostedElement as MonitorRecorderItem; + InitMonitorRecorderItem(item); + } + else if (element is ValveElementEditor) + { + var item = element.HostedElement as ValveItem; + InitTechValveItem(item); + } + else if (element is BlowerElementEditor) + { + var item = element.HostedElement as BlowerItem; + InitBlowerItem(item); + } + else if (element is HeaterElementEditor) + { + var item = element.HostedElement as HeaterItem; + InitTechHeater(item); + } + else if (element is ProcessParametersElementEditor) + { + var item = element.HostedElement as ProcessParametersItem; + InitProcessParameterItem(item); + } } } @@ -1045,6 +1091,10 @@ namespace Tango.MachineStudio.Technician.ViewModels #region Init Tech Items + /// <summary> + /// Initializes the monitor recorder item. + /// </summary> + /// <param name="item">The item.</param> private void InitMonitorRecorderItem(MonitorRecorderItem item) { item.RecordingStarted += () => @@ -1090,6 +1140,27 @@ namespace Tango.MachineStudio.Technician.ViewModels } /// <summary> + /// Initializes the tech valve. + /// </summary> + /// <param name="item">The valve item.</param> + private void InitTechValveItem(ValveItem item) + { + item.StateChanged += async (x, state) => + { + try + { + CheckMachineOperator(); + await MachineOperator.SetValveState((ValveType)item.TechValve.Code, state); + } + catch (Exception ex) + { + LogManager.Log(ex, String.Format("Error executing technician set valve state command on '{0}'.", item.TechName)); + _eventLogger.Log(ex, String.Format("Error executing technician set valve state command on '{0}'.", item.TechName)); + } + }; + } + + /// <summary> /// Initializes the blower item. /// </summary> /// <param name="item">The blower item.</param> |
