From 91754ec1d6f63597fbdc4af4f2386d2b050b7e53 Mon Sep 17 00:00:00 2001 From: Thomas Wiedebusch Date: Thu, 11 Sep 2025 13:01:44 +0200 Subject: [PATCH 1/4] ProductionUiCordonel: - cleaned solution --- .../ApplicationSettings.cs | 137 ----- .../BarcodeInput/Listener.cs | 102 ---- .../Data/FinalTestState.cs | 101 ---- .../Data/FinalTestStateInfo.cs | 52 -- .../Data/FinalTestStateText.cs | 19 - .../Data/PickingResultData.cs | 120 ---- .../Data/PressureResultDataNotifyable.cs | 162 ------ .../Docu/ProductionUiCordonel.qea | Bin 2625536 -> 2625536 bytes .../Model/IMultiModeChildViewModel.cs | 12 - .../Model/MarriageMultiModeViewModel.cs | 158 ------ .../Model/MultiModeChildViewModel.cs | 332 ----------- .../Model/MultiModeMasterViewModel.cs | 516 ------------------ .../Model/PickingMultiModeViewModel.cs | 440 --------------- .../Model/PickingViewModel.cs | 221 -------- .../Model/PressureMultiModeViewModel.cs | 192 ------- .../ProductionUiCordonel.csproj | 32 -- .../ctls/ctlMultiModeMarriage.xaml | 29 - .../ctls/ctlMultiModeMarriage.xaml.cs | 47 -- .../ctls/ctlMultiModePicking.xaml | 70 --- .../ctls/ctlMultiModePicking.xaml.cs | 124 ----- .../ctls/ctlMultiModePressure.xaml | 150 ----- .../ctls/ctlMultiModePressure.xaml.cs | 168 ------ 22 files changed, 3184 deletions(-) delete mode 100644 Common/Production/ProductionUiCordonel/ApplicationSettings.cs delete mode 100644 Common/Production/ProductionUiCordonel/BarcodeInput/Listener.cs delete mode 100644 Common/Production/ProductionUiCordonel/Data/FinalTestState.cs delete mode 100644 Common/Production/ProductionUiCordonel/Data/FinalTestStateInfo.cs delete mode 100644 Common/Production/ProductionUiCordonel/Data/FinalTestStateText.cs delete mode 100644 Common/Production/ProductionUiCordonel/Data/PickingResultData.cs delete mode 100644 Common/Production/ProductionUiCordonel/Data/PressureResultDataNotifyable.cs delete mode 100644 Common/Production/ProductionUiCordonel/Model/IMultiModeChildViewModel.cs delete mode 100644 Common/Production/ProductionUiCordonel/Model/MarriageMultiModeViewModel.cs delete mode 100644 Common/Production/ProductionUiCordonel/Model/MultiModeChildViewModel.cs delete mode 100644 Common/Production/ProductionUiCordonel/Model/MultiModeMasterViewModel.cs delete mode 100644 Common/Production/ProductionUiCordonel/Model/PickingMultiModeViewModel.cs delete mode 100644 Common/Production/ProductionUiCordonel/Model/PickingViewModel.cs delete mode 100644 Common/Production/ProductionUiCordonel/Model/PressureMultiModeViewModel.cs delete mode 100644 Common/Production/ProductionUiCordonel/ctls/ctlMultiModeMarriage.xaml delete mode 100644 Common/Production/ProductionUiCordonel/ctls/ctlMultiModeMarriage.xaml.cs delete mode 100644 Common/Production/ProductionUiCordonel/ctls/ctlMultiModePicking.xaml delete mode 100644 Common/Production/ProductionUiCordonel/ctls/ctlMultiModePicking.xaml.cs delete mode 100644 Common/Production/ProductionUiCordonel/ctls/ctlMultiModePressure.xaml delete mode 100644 Common/Production/ProductionUiCordonel/ctls/ctlMultiModePressure.xaml.cs diff --git a/Common/Production/ProductionUiCordonel/ApplicationSettings.cs b/Common/Production/ProductionUiCordonel/ApplicationSettings.cs deleted file mode 100644 index be2860eb..00000000 --- a/Common/Production/ProductionUiCordonel/ApplicationSettings.cs +++ /dev/null @@ -1,137 +0,0 @@ -//using System; -//using System.Collections.Generic; -//using System.IO; -//using Newtonsoft.Json; - -//namespace Xylem.Common.Production.ProductionUiCordonel -//{ - -// /// -// /// Configuration of ProductionUi -// /// -// public class ApplicationSettings -// { - -// public class Pos -// { -// public Double Left { get; set; } -// public Double Top { get; set; } -// public Double Height { get; set; } -// public Double Width { get; set; } -// } -// public class MultiFormChilds -// { -// public Type ViewModelType { get; set; } -// public Boolean Visisble { get; set; } -// public String Name { get; set; } -// public Int32 Slot { get; set; } -// public String TextPort { get; set; } -// public Pos StartPos { get; set; } - -// } -// public Int32 Slot { get; set; } - -// public Int32? PressureStationId { get; set; } -// public Boolean AutoDetect { get; set; } - -// public Boolean AccessToPresuretestTab { get; set; } -// public Boolean AccessToMarrieTab { get; set; } -// public Boolean AccessToFinalcheckTab { get; set; } - -// public Boolean AccessToSettingTab { get; set; } -// public Boolean AccessToStatusTab { get; set; } -// public Boolean AccessToPickingTab { get; set; } - - -// public Int32? SirtComport433 { get; set; } -// public Int32? SirtComport866 { get; set; } -// public Int32? SirtBoxNr { get; set; } - -// public Int32? StationId { get; set; } - -// public List ChildForms { get; set; } - -// /// -// /// ctor -// /// -// public ApplicationSettings() -// { -// Slot = 0; -// AutoDetect = false; -// AccessToPresuretestTab = false; -// AccessToMarrieTab = false; -// AccessToFinalcheckTab = false; -// AccessToSettingTab = false; -// AccessToPickingTab = false; -// AccessToStatusTab = false; -// PressureStationId = null; -// SirtComport433 = null; -// SirtComport866 = null; -// SirtBoxNr = null; -// ChildForms = new List(); -// StationId = null; -// } -// /// -// public ApplicationSettings(String file) -// { -// //var configFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), -// //nameof(Xylem.Common.Hardware.WaterMeter.Genesis), file); - -// //if (!File.Exists(configFile)) -// //{ -// var configFile = Path.Combine(file); -// if (!File.Exists(configFile)) -// { -// Slot = 0; -// AutoDetect = false; -// AccessToPresuretestTab = false; -// AccessToMarrieTab = false; -// AccessToFinalcheckTab = false; -// AccessToSettingTab = false; -// AccessToPickingTab = false; -// AccessToStatusTab = false; -// PressureStationId = null; -// ChildForms = new List(); -// StationId = null; -// return; -// } -// //} - -// using (var tr = new StreamReader(configFile)) -// { -// var meterConfig = JsonConvert.DeserializeObject(tr.ReadToEnd()); -// if (meterConfig != null) -// { -// Slot = meterConfig.Slot; -// AutoDetect = meterConfig.AutoDetect; -// AccessToPresuretestTab = meterConfig.AccessToPresuretestTab; -// AccessToMarrieTab = meterConfig.AccessToMarrieTab; -// AccessToFinalcheckTab = meterConfig.AccessToFinalcheckTab; -// AccessToSettingTab = meterConfig.AccessToSettingTab; -// AccessToPickingTab = meterConfig.AccessToPickingTab; -// AccessToStatusTab = meterConfig.AccessToStatusTab; -// PressureStationId = meterConfig.PressureStationId; - -// ChildForms = meterConfig.ChildForms; -// StationId = meterConfig.StationId; -// } -// } - -// } - -// public void Update(String file) -// { -// var configFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), -// nameof(Hardware.WaterMeter.Genesis), file); - -// if (!File.Exists(configFile)) -// { -// configFile = Path.Combine(file); -// } - -// File.WriteAllText(file, JsonConvert.SerializeObject(this)); -// } - - -// } -//} diff --git a/Common/Production/ProductionUiCordonel/BarcodeInput/Listener.cs b/Common/Production/ProductionUiCordonel/BarcodeInput/Listener.cs deleted file mode 100644 index a5e49ac4..00000000 --- a/Common/Production/ProductionUiCordonel/BarcodeInput/Listener.cs +++ /dev/null @@ -1,102 +0,0 @@ -//using System; -//using System.Collections.Generic; -//using System.Linq; -//using System.Text; -//using System.Threading.Tasks; -//using System.Windows.Forms; - -//namespace ProductionUiCordonel.BarcodeInput -//{ -// public class Listener : NativeWindow -// { -// /// -// /// Initializes a new instance of the BarcodeScannerListener -// /// class. The raw input devices that this class will listen to are -// /// registered with the given window handle. -// /// -// /// the form that should listen for -// /// barcode scans -// /// if the form is null -// /// if we are unable to register -// /// for raw input devices -// /// if an error occurs -// /// during configuration -// public Listener(Form form) -// { -// IntPtr hwnd; - -// if (form == null) -// { -// throw new ArgumentNullException("form"); -// } - -// hwnd = form.Handle; - -// HookRawInput(hwnd); // We'll take a look at this in a minute -// this.HookHandleEvents(form); - -// this.AssignHandle(hwnd); -// } -// /// -// /// Registers ourselves to listen to raw input from keyboard-like devices. -// /// -// /// the handle of the form that will receive the raw -// /// input messages -// /// if the call to register with the -// /// raw input API fails for some reason -// private static void HookRawInput(IntPtr hwnd) -// { -// NativeMethods.RAWINPUTDEVICE[] rid; - -// rid = new NativeMethods.RAWINPUTDEVICE[1]; - -// rid[0].usUsagePage = 0x01; // USB HID Generic Desktop Page -// rid[0].usUsage = 0x06; // Keyboard Usage ID -// rid[0].dwFlags = NativeMethods.RawInputDeviceFlags.RIDEV_INPUTSINK; -// rid[0].hwndTarget = hwnd; - -// if (!NativeMethods.RegisterRawInputDevices(rid, (uint)rid.Length, (uint)Marshal.SizeOf(rid[0]))) -// { -// InvalidOperationException e; - -// e = new InvalidOperationException( -// "The barcode scanner listener could not register for raw input devices.", -// new Win32Exception()); -// throw e; -// } -// } - -// /// -// /// Hooks into the form's HandleCreated and HandleDestoryed events -// /// to ensure that we start and stop listening at appropriate times. -// /// -// /// the form to listen to -// private void HookHandleEvents(Form form) -// { -// form.HandleCreated += this.OnHandleCreated; -// form.HandleDestroyed += this.OnHandleDestroyed; -// } - -// /// -// /// When the form's handle is created, let's hook into it so we can see -// /// the WM_INPUT event. -// /// -// /// the form whose handle was created -// /// the event arguments -// private void OnHandleCreated(object sender, EventArgs e) -// { -// this.AssignHandle(((Form)sender).Handle); -// } - -// /// -// /// When the form's handle is destroyed, let's unhook from it so we stop -// /// listening and allow the OS to free up its resources. -// /// -// /// the form whose handle was destroyed -// /// the event arguments -// private void OnHandleDestroyed(object sender, EventArgs e) -// { -// this.ReleaseHandle(); -// } -// } -//} diff --git a/Common/Production/ProductionUiCordonel/Data/FinalTestState.cs b/Common/Production/ProductionUiCordonel/Data/FinalTestState.cs deleted file mode 100644 index 1981f6d7..00000000 --- a/Common/Production/ProductionUiCordonel/Data/FinalTestState.cs +++ /dev/null @@ -1,101 +0,0 @@ -namespace ProductionUiCordonel.Data -{ - /// - /// Genesis meter final test states - /// - public enum FinalTestState - { - /// - /// Idle (nothing to do) - /// - Idle, - /// - /// Start the initial execution - /// - StartInitial, - /// - /// Error handling - /// - Error, - /// - /// Single processing step failed - /// - StepFailed, - /// - /// Repeat last step - /// - RepeatStep, - /// - /// Repeat the entire final test - /// - RepeatFinalTest, - /// - /// Final test failed - /// - FinalTestFailed, - /// - /// Check the actual shipping state - /// - CheckShippingState, - /// - /// Check the attachments - /// - CheckAttachments, - /// - /// Check the order number - /// - CheckOrderNumber, - /// - /// Check the serial number - /// - CheckSerialNumber, - /// - /// Connect to Cordonel - /// - ConnectCordonel, - /// - /// Store all configurations to FLASH memory - /// - StoreAllConfigurations, - /// - /// Reboot the Cordonel to check all parameters being stored to FLASH memory - /// - RebootCordonel, - /// - /// Finalize process - /// - FinalizeProcess, - /// - /// Final parametrization fixed values - /// - FinalParametrizationFix, - /// - /// Final parametrization with VAKO and CSD - /// - FinalParametrizationVakoCsd, - /// - /// Read out all parametrization values - /// - FullReadOutParametrization, - /// - /// Check all settings for against required values - /// - ConfigurationCheck, - /// - /// Acquire, process set the password file - /// - ProcessPasswordFile, - /// - /// Process special configuration - /// - ProcessSpecialConfig, - /// - /// Prepare shipping mode - /// - PrepareShippingMode, - /// - /// Delimiter for list - /// - StateListDelimiter - } -} \ No newline at end of file diff --git a/Common/Production/ProductionUiCordonel/Data/FinalTestStateInfo.cs b/Common/Production/ProductionUiCordonel/Data/FinalTestStateInfo.cs deleted file mode 100644 index bfcbca55..00000000 --- a/Common/Production/ProductionUiCordonel/Data/FinalTestStateInfo.cs +++ /dev/null @@ -1,52 +0,0 @@ -using System; -using System.Linq; -using ProductionUiCordonel.Properties; - -namespace ProductionUiCordonel.Data -{ - /// - /// Concatenation of state and string - /// - public static class FinalTestStateInfo - { - /// - /// Build state information - /// - private static readonly FinalTestStateText[] StateInfos; - - /// - /// Ctor - /// - static FinalTestStateInfo() - { - StateInfos = new FinalTestStateText[(Int32)FinalTestState.StateListDelimiter]; - StateInfos[(Int32)FinalTestState.Idle].State = FinalTestState.Idle; - StateInfos[(Int32)FinalTestState.Idle].Message = Resources.StrStateIdle; - - StateInfos[(Int32)FinalTestState.StartInitial].State = FinalTestState.StartInitial; - StateInfos[(Int32)FinalTestState.StartInitial].Message = Resources.StrStateStartInitial; - - } - - /// - /// Get the current information - /// - /// state to search for information text - public static String GetTextFromState(FinalTestState state) - { - return (from stateInfo in StateInfos - where stateInfo.State == state - select stateInfo.Message).FirstOrDefault(); - } - /// - /// Get the state of the text - /// - /// information text to search if state is assigned - public static FinalTestState GetStateFromText(String text) - { - return (from stateInfo in StateInfos - where stateInfo.Message == text - select stateInfo.State).FirstOrDefault(); - } - } -} diff --git a/Common/Production/ProductionUiCordonel/Data/FinalTestStateText.cs b/Common/Production/ProductionUiCordonel/Data/FinalTestStateText.cs deleted file mode 100644 index 4bfd80cf..00000000 --- a/Common/Production/ProductionUiCordonel/Data/FinalTestStateText.cs +++ /dev/null @@ -1,19 +0,0 @@ -using System; - -namespace ProductionUiCordonel.Data -{ - /// - /// Concatenation between final test state and text - /// - public struct FinalTestStateText - { - /// - /// The state of the final test - /// - public FinalTestState State; - /// - /// The message text of the final test state - /// - public String Message; - } -} diff --git a/Common/Production/ProductionUiCordonel/Data/PickingResultData.cs b/Common/Production/ProductionUiCordonel/Data/PickingResultData.cs deleted file mode 100644 index da089f8e..00000000 --- a/Common/Production/ProductionUiCordonel/Data/PickingResultData.cs +++ /dev/null @@ -1,120 +0,0 @@ -using System; -using System.Windows.Media; -using Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore; -using Xylem.Common.Hardware.WaterMeter.Genesis.Registers; - -namespace Xylem.Common.Production.ProductionUiCordonel.Data -{ - public class PickingItemCheckReturn - { - public Boolean? Result; - public String Msg; - } - -public abstract class PickingResultBaseData : IPickingResultData - { - public String Ident { get; set; } - - public Int32 Index { get; set; } - - public String CheckText { get; set; } - - public String CurrentValueText { get; set; } - - public Boolean? Result { get; set; } - - public Boolean HasError { get; set; } - - public Brush ResultColor => getColorFromResult(); - public abstract Func Action { get; } - - private Brush getColorFromResult() - { - var converter = new BrushConverter(); - var brush = (Brush)converter.ConvertFromString("#000000"); - - if (Result.HasValue) // && a.Result.Value )) - { - if (!Result.Value) - { - brush = (Brush)converter.ConvertFromString("#FF8000"); - } - else - { - brush = (Brush)converter.ConvertFromString("#419C14"); - } - - } - return brush; - } - - } - public interface IPickingResultData - { - String Ident { get; set; } - - Int32 Index { get; set; } - String CheckText { get; set; } - - String CurrentValueText { get; set; } - - Boolean? Result { get; set; } - - Boolean HasError { get; set; } - - Brush ResultColor { get; } - - Func Action { get; } - } - public class PickingResultRegisterData : PickingResultBaseData - { - public String RegisterIdent { get; set; } - - public GenesisMeter ReadMeter { get; set; } - - public Object CompareObject { get; set; } - - public override Func Action => staticReadAndCompareAction(); - - public Func staticReadAndCompareAction() - { - return delegate - { - var retComp = new PickingItemCheckReturn(); - retComp.Result = null; - retComp.Msg = "-"; - if (ReadMeter != null && ReadMeter.IsLoggedOn) - { - var r = ReadMeter.ReadRegister(RegisterIdent); - - if (CompareObject is UInt32 intNumber) - { - retComp.Result = intNumber.Equals(RegisterConverter.ByteArrayToValue(r)); - retComp.Msg = intNumber.ToString(); - } - else if (CompareObject is Boolean boolCompare) - { - retComp.Result = boolCompare.Equals(RegisterConverter.ByteArrayToValue(r)); - retComp.Msg = boolCompare.ToString(); - } - - } - - return retComp; - }; - } - } - - public class PickingResultCustomCheckData : PickingResultBaseData - { - - public PickingResultCustomCheckData(Func action) - { - _action = action; - } - - public readonly Func _action; - public override Func Action => _action; - } - -} diff --git a/Common/Production/ProductionUiCordonel/Data/PressureResultDataNotifyable.cs b/Common/Production/ProductionUiCordonel/Data/PressureResultDataNotifyable.cs deleted file mode 100644 index d5468de5..00000000 --- a/Common/Production/ProductionUiCordonel/Data/PressureResultDataNotifyable.cs +++ /dev/null @@ -1,162 +0,0 @@ -using System; -using System.Collections.ObjectModel; -using System.ComponentModel; -using System.Linq; -using System.Runtime.CompilerServices; -using Xylem.Common.Logic.ProductionOrderCore.TestResults; - -namespace Xylem.Common.Production.ProductionUiCordonel.Data -{ - public class PressureResultDataNotifyable : INotifyPropertyChanged - { - public event PropertyChangedEventHandler PropertyChanged; - - - protected virtual void NotifyPropertyChanged([CallerMemberName] String propertyName = "") - { - PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); - } - - public PressureResultDataNotifyable(PressureResultData baseData) - { - LeakRate = baseData.LeakRate; - Passed = baseData.Passed; - PcbId = baseData.PcbId; - Remark = baseData.Remark; - Rev = baseData.Rev; - TesterName = baseData.TesterName; - Testpoints = new ObservableCollection(); - baseData.TestPoints.ForEach(o => Testpoints.Add(o)); - TestPressure = baseData.TestPressure; - } - public PressureResultDataNotifyable() - { - - } - public void InternalPropertyChanged(String propertyName = "") - { - NotifyPropertyChanged(propertyName); - } - - - public String PcbId; - - - private Int32 rev; - - public Int32 Rev - { - get => rev; - set - { - rev = value; - InternalPropertyChanged(nameof(Rev)); - } - } - private Boolean? passed = false; - public Boolean? Passed - { - get => passed; - set - { - passed = value; - InternalPropertyChanged(nameof(Passed)); - } - } - - - - private String testerName = "C. Röhl"; - public String TesterName - { - get => testerName; - set - { - testerName = value; - InternalPropertyChanged(nameof(TesterName)); - } - } - - private String testPressure = "6"; - public String TestPressure - { - get => testPressure; - set - { - testPressure = value; - InternalPropertyChanged(nameof(TestPressure)); - } - } - - - private String leakRate = " 0,00001"; - public String LeakRate - { - get => leakRate; - set - { - leakRate = value; - InternalPropertyChanged(nameof(LeakRate)); - } - } - - private String remark = ""; - public String Remark - { - get => remark; - set - { - remark = value; - InternalPropertyChanged(nameof(Remark)); - } - } - - - private ObservableCollection testpoints = new ObservableCollection - { - new PressureTestPoints { Ident = 1, Input = "2E-07" }, - new PressureTestPoints { Ident = 2, Input = "2E-07" }, - new PressureTestPoints { Ident = 3, Input = "2E-07" }, - new PressureTestPoints { Ident = 4, Input = "2E-07" }, - new PressureTestPoints { Ident = 5, Input = "2E-07" }, - new PressureTestPoints { Ident = 6, Input = "2E-07" }, - new PressureTestPoints { Ident = 7, Input = "2E-07" }, - new PressureTestPoints { Ident = 8, Input = "2E-07" }, - new PressureTestPoints { Ident = 9, Input = "2E-07" }, - new PressureTestPoints { Ident = 10, Input = "2E-07" } - }; - public ObservableCollection Testpoints - { - get => testpoints; - set - { - testpoints = value; - InternalPropertyChanged(nameof(Testpoints)); - } - } - - internal void SetAllTestPoints(String input) - { - foreach (var item in Testpoints) - { - item.Input = input; - } - InternalPropertyChanged(nameof(Testpoints)); - } - public PressureResultData ToBase() - { - var baseData = new PressureResultData(); - baseData.LeakRate = LeakRate; - baseData.Passed = Passed; - baseData.PcbId = PcbId; - baseData.Remark = Remark; - baseData.Rev = Rev; - baseData.TesterName = TesterName; - baseData.TestPoints = Testpoints.ToList(); - baseData.TestPressure = TestPressure; - return baseData; - } - - } -} - diff --git a/Common/Production/ProductionUiCordonel/Docu/ProductionUiCordonel.qea b/Common/Production/ProductionUiCordonel/Docu/ProductionUiCordonel.qea index 80842e3d54bb6ce31b60809e214b14100e325a52..bbb7f9eb8a8e7d0a00a2f98c56defa20789c48a0 100644 GIT binary patch delta 146039 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

-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򪳟)}8dR&! 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 ZEme4M{P6J<))-G}$xP?SyH8q${|EC<*AoB$ delta 137777 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

$CH>7(%0Fm$Nb?%=1GhUz|A>^M|BSy>(^qpB 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�>UnkCRHth(7?OH#@f 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�$# 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 diff --git a/Common/Production/ProductionUiCordonel/Model/IMultiModeChildViewModel.cs b/Common/Production/ProductionUiCordonel/Model/IMultiModeChildViewModel.cs deleted file mode 100644 index dbd07012..00000000 --- a/Common/Production/ProductionUiCordonel/Model/IMultiModeChildViewModel.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System; -using System.ComponentModel; - -namespace Xylem.Common.Production.ProductionUiCordonel.Model -{ - public interface IMultiModeChildViewModel : INotifyPropertyChanged, IDisposable - { - String GetChildIdent(); - - void InputText(String text); - } -} diff --git a/Common/Production/ProductionUiCordonel/Model/MarriageMultiModeViewModel.cs b/Common/Production/ProductionUiCordonel/Model/MarriageMultiModeViewModel.cs deleted file mode 100644 index 2048f0d5..00000000 --- a/Common/Production/ProductionUiCordonel/Model/MarriageMultiModeViewModel.cs +++ /dev/null @@ -1,158 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Net; -using System.Threading.Tasks; -using System.Windows; -using Xylem.Common.CommonCore.Configuration; -using Xylem.Common.Hardware.WaterMeter.WaterMeterCore.Consts; -using Xylem.Common.Logic.SoftwareAccessHelper; - -namespace Xylem.Common.Production.ProductionUiCordonel.Model -{ - public class MarriageMultiModeViewModel : BaseMultiModeChildViewModel - { - private Boolean canMarry; - public Boolean CanMarry - { - get => canMarry; - set - { - canMarry = value; - NotifyPropertyChanged(); - } - } - - - private Int32 serialNr; - public Int32 SerialNr - { - get => serialNr; - set - { - serialNr = value; - NotifyPropertyChanged(); - } - } - - - private Boolean locked = false; - public MarriageMultiModeViewModel(String ctrName, Int32 slotNR, List barcodeTrigger, Int32? stationID = null) : - base(ctrName, slotNR, barcodeTrigger, stationID) - { - VisibilityMarriage = Visibility.Visible; - MeterDetectedHandler += PickingMultiModeViewModel_MeterDetectedHandler; - } - - internal async Task Store() - { - var url = $"{ServiceUrls.MarriageServiceUrl()}SetPcbToSerial?PcbId={CurrentPcbID}&SerialNumber={SerialNr}&returnMetroData=0"; - - return await Task.Run(() => - { - try - { - - //url = "http://10.49.40.25/MeterProcessState/api/Marriage/SetPcbToSerial?PcbId=201420242&SerialNumber=20728820&returnMetroData=1"; - var resp = LocalWebRequest.GetRequest(url); - - if (!string.IsNullOrEmpty(resp)) - { - if (CurrentMeter != null) - { - CurrentMeter.Login(); - //if (resp.Trim() != "store") - //{ - - - // var myJsonResponse = JsonConvert.DeserializeObject>(resp); - // foreach (var item in myJsonResponse) - // { - // CurrentMeter.WriteRegister(item.RegisterName, item.RegisterValue); - // } - //} - CurrentMeter.SetProcessState(DisplayCodes.Mounted); - CurrentMeter.GetLastProcessState(); - } - - return true; - } - - Log($"No result for {url} on Store"); - return false; - - - } - catch (Exception ex) - { - if (ex is WebException) - { - Log($"Error on Store {url}: {Environment.NewLine} {((WebException)ex).Message}"); - } - else - { - Log(ex.Message); - } - - - } - return false; - - }); - } - - private void PickingMultiModeViewModel_MeterDetectedHandler(Object sender, EventArgs e) - { - CheckBtnEnable(); - } - - private void CheckBtnEnable() - { - if (SerialNr > 0 && !string.IsNullOrEmpty(CurrentPcbID)) - { - CanMarry = true; - } - else - { - CanMarry = false; - } - - } - - - - public override void InputText(String text) - { - try - { - SerialNr = 0; - text = text.Replace(" ", ""); - var preFix = "8SEN20"; - if (text.Contains(preFix) && text.Contains(",")) - { - var tmpSerialNr = 0; - var srText = text.Substring(text.IndexOf(preFix) + preFix.Length, text.IndexOf(",") - preFix.Length); - if (int.TryParse(srText, out tmpSerialNr)) - { - SerialNr = tmpSerialNr; - } - } - CheckBtnEnable(); - } - catch (Exception ex) - { - Log(ex.Message); - } - finally - { - CheckBtnEnable(); - } - - - } - - public override Boolean SlotIsLocked() - { - return locked; - } - } -} diff --git a/Common/Production/ProductionUiCordonel/Model/MultiModeChildViewModel.cs b/Common/Production/ProductionUiCordonel/Model/MultiModeChildViewModel.cs deleted file mode 100644 index a401b1d7..00000000 --- a/Common/Production/ProductionUiCordonel/Model/MultiModeChildViewModel.cs +++ /dev/null @@ -1,332 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Runtime.CompilerServices; -using System.Timers; -using System.Windows; -using NLog; -using Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore; -using Xylem.Common.Hardware.WaterMeter.WaterMeterCore; -using Xylem.Common.Utils.Logging; - -namespace Xylem.Common.Production.ProductionUiCordonel.Model -{ - public abstract class BaseMultiModeChildViewModel : IMultiModeChildViewModel - { - - private readonly ILogger _logger; - - private Timer tmrAutoDetect; - - public EventHandler OnPcbIdDetect; - public List BarcodeTrigger = new List(); - - private Int32 intervalWithoutDetect = 1000; - private Int32 intervalWithDetect = 10000; - private String _currentPcbID; - private MeterBatch Batch = new MeterBatch(); - private Visibility visibilityMarriage = Visibility.Collapsed; - public Visibility VisibilityMarriage - { - get => visibilityMarriage; - set - { - visibilityMarriage = value; - - NotifyPropertyChanged(); - } - } - - private Visibility visibilityPicking = Visibility.Collapsed; - public Visibility VisibilityPicking - { - get => visibilityPicking; - set - { - visibilityPicking = value; - - NotifyPropertyChanged(); - } - } - - private Visibility visibilityPressure = Visibility.Collapsed; - public Visibility VisibilityPressure - { - get => visibilityPressure; - set - { - visibilityPressure = value; - - NotifyPropertyChanged(); - } - } - - - public String currentSlotStateText = "none"; - public String CurrentSlotStateText - { - get => currentSlotStateText; - set - { - currentSlotStateText = value; - - NotifyPropertyChanged(); - } - } - - - - - private SlotState currentSlotState = SlotState.None; - public SlotState CurrentSlotState - { - get => currentSlotState; - set - { - currentSlotState = value; - switch (currentSlotState) - { - case SlotState.None: - CurrentSlotStateText = "Keiner"; - break; - case SlotState.IsDetecting: - CurrentSlotStateText = "Warte auf Zähler Kontakt"; - break; - case SlotState.Detected: - CurrentSlotStateText = "Zähler detektiert"; - break; - case SlotState.InProgress: - CurrentSlotStateText = "Zähler wird bearbeitet"; - break; - case SlotState.Done: - CurrentSlotStateText = "Zähler wurde bearbeitet"; - break; - case SlotState.ConnectionLost: - CurrentSlotStateText = "Verbindung getrennt"; - break; - case SlotState.Error: - CurrentSlotStateText = "Fehler beim bearbeitet"; - break; - case SlotState.Fatal: - CurrentSlotStateText = "Schwerwiegender Fehler"; - break; - } - NotifyPropertyChanged(); - } - } - - - private String slotInfo = "-"; - public String SlotInfo - { - get => slotInfo; - set - { - slotInfo = value; - NotifyPropertyChanged(); - } - } - - - public enum SlotState - { - None, - IsDetecting, - Detected, - InProgress, - Done, - ConnectionLost, - Error, - Fatal - } - private String childName = "asd"; - public String ChildName - { - get => childName; - set - { - childName = value; - NotifyPropertyChanged(); - } - } - - private String order; - public String Order - { - get => order; - set - { - order = value; - NotifyPropertyChanged(); - } - } - - - public String CurrentPcbID - { - get => _currentPcbID; - set - { - _currentPcbID = value; - - NotifyPropertyChanged(); - } - } - - - public GenesisMeter CurrentMeter { get; private set; } - - public event PropertyChangedEventHandler PropertyChanged; - - protected virtual void NotifyPropertyChanged([CallerMemberName] String propertyName = "") - { - PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); - } - - public String GetChildIdent() - { - return ChildName; - } - - - public Int32 SlotNr; - public BaseMultiModeChildViewModel(String ctrName, Int32 slotNR,List barcodeTrigger, Int32? StationId = null, Boolean useTimer = true) - { - _logger = NLogHelper.CreateOrGetLogger("ProductionUI"); - ChildName = ctrName; - SlotNr = slotNR; - SlotInfo = SlotNr.ToString(); - if (useTimer) - { - tmrAutoDetect = new Timer(intervalWithoutDetect); - tmrAutoDetect.Elapsed += TmrAutoDetect_Elapsed; - tmrAutoDetect.Enabled = true; - } - - BarcodeTrigger = barcodeTrigger; - - } - public void TmrAutoDetect_Elapsed(Object sender, EventArgs e) - { - CurrentSlotState = SlotState.IsDetecting; - tmrAutoDetect.Enabled = false; - var hasDetect = Detect(SlotNr); - if (hasDetect) - { - CurrentSlotState = SlotState.Detected; - tmrAutoDetect.Interval = intervalWithDetect; - - } - else - { - tmrAutoDetect.Interval = intervalWithoutDetect; - } - tmrAutoDetect.Enabled = true; - } - - public void TextForceUpdate() - { - var hasDetect = Detect(SlotNr); - if (hasDetect) - { - CurrentSlotState = SlotState.Detected; - - } - } - - public virtual void InputText(String text) - { - Order = text; - } - - public void Log(String txt) - { - _logger?.Info(txt); - } - public abstract Boolean SlotIsLocked(); - - public event EventHandler MeterDetectedHandler; - private Boolean Detect(Int32 slot) - { - if (!SlotIsLocked()) - { - Log("Start Detect"); - Boolean hasDetect = false; - if (string.IsNullOrEmpty(CurrentPcbID) || CurrentMeter == null) - { - Batch = new MeterBatch(); - var tryMeter = new GenesisMeter(); - try - { - tryMeter.SetupFromConfigFile(slot); - Batch.AddMeter(tryMeter); - tryMeter.Logout(); - Log("Try to get PcbID"); - CurrentPcbID = tryMeter.GetPcbId(); - - hasDetect = !string.IsNullOrEmpty(CurrentPcbID); - CurrentMeter = tryMeter; - if (hasDetect) - { - Log($"New PcbID detected {CurrentPcbID}"); - MeterDetectedHandler?.Invoke(CurrentMeter, EventArgs.Empty); - } - else - { - Log("No Meter found"); - DisposeAllConnections(); - } - - } - catch (Exception e) - { - Log($"Error occur.{ Environment.NewLine} {e.Message}"); - } - - } - else - { - Log("Check if Meter is still connected"); - var ret = CurrentMeter.GetPcbId(); - if (string.IsNullOrEmpty(ret) || ret != CurrentPcbID) - { - Log("Meter connection lost"); - hasDetect = false; - DisposeAllConnections(); - - CurrentPcbID = ""; - } - else - { - Log("Meter is still connected"); - hasDetect = true; - } - } - return hasDetect; - } - - Log("Meter is still connected (locked)"); - return true; - } - - private void DisposeAllConnections() - { - MeterDetectedHandler?.Invoke(null, EventArgs.Empty); - if (Batch != null) - { - Batch.RemoveAllMeters(); - if (CurrentMeter != null) - { - CurrentMeter.Dispose(); - } - Batch.Dispose(); - } - - } - - public void Dispose() - { - DisposeAllConnections(); - } - } -} diff --git a/Common/Production/ProductionUiCordonel/Model/MultiModeMasterViewModel.cs b/Common/Production/ProductionUiCordonel/Model/MultiModeMasterViewModel.cs deleted file mode 100644 index 928fa233..00000000 --- a/Common/Production/ProductionUiCordonel/Model/MultiModeMasterViewModel.cs +++ /dev/null @@ -1,516 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.IO.Ports; -using System.Linq; -using System.Runtime.CompilerServices; -using System.Threading; -using System.Threading.Tasks; -using System.Windows.Media; -using Logic.ProductionToProductMapper.Cordonel; -using Newtonsoft.Json; -using Xylem.Common.CommonCore.Configuration; -using Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore; -using Xylem.Common.Hardware.WaterMeter.Genesis.Registers; -using Xylem.Common.Hardware.WaterMeter.WaterMeterCore; -using Xylem.Common.Hardware.WaterMeter.WaterMeterCore.Consts; -using Xylem.Common.Logic.SoftwareAccessHelper; - -namespace Xylem.Common.Production.ProductionUiCordonel.Model -{ - internal class MultiModeMasterViewModel : INotifyPropertyChanged - { - private String pickingState = "Warte auf Scanner"; - private String pickingScanner = "keine Verbindung"; - private String pickingSlot = "-"; - private String pickingResult = "-"; - - private Brush pickingResultColor; - public Brush PickingResultColor - { - get => pickingResultColor; - set - { - pickingResultColor = value; - NotifyPropertyChanged(); - } - } - public String PickingState - { - get => pickingState; - set - { - pickingState = value; - NotifyPropertyChanged(); - } - } - public String PickingScanner - { - get => pickingScanner; - set - { - pickingScanner = value; - NotifyPropertyChanged(); - } - } - public String PickingSlot - { - get => pickingSlot; - set - { - pickingSlot = value; - NotifyPropertyChanged(); - } - } - public String PickingResult - { - get => pickingResult; - set - { - pickingResult = value; - NotifyPropertyChanged(); - } - } - public event PropertyChangedEventHandler PropertyChanged; - protected virtual void NotifyPropertyChanged([CallerMemberName] String propertyName = "") - { - - PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); - } - - - - public void StartPicking(CancellationTokenSource cancle) - { - var s = new Task(() => { PickingLoop(cancle.Token); }, cancle.Token); - s.Start(); - } - public enum PickingStateMachine - { - Init, - WaitForScanning, - ScanningDone, - WaitForDetect, - GetOrderDetails, - Compare, - MeterDone, - MeterError, - StartCom, - WaitForBuildingMeterReady, - WaitForBuildingPressureReady, - } - private PickingStateMachine sm = PickingStateMachine.Init; - - private class BarScanner : IDisposable - { - private Boolean isRuning; - public String Input = ""; - private String Port; - private CancellationToken Cancellation; - private Task WaitForScannerTask; - public BarScanner(String port, CancellationToken cancellation) - { - Port = port; - Cancellation = cancellation; - } - public void Start() - { - if (!isRuning) - { - if (Port == null) - { - return; - } - WaitForScannerTask = new Task(() => - { - using (var a = new SerialPort(Port)) - { - a.Open(); - a.NewLine = "\r"; - while (true) - { - if (Cancellation.IsCancellationRequested) - { - isRuning = false; - break; - } - - Input = a.ReadLine(); - a.Close(); - isRuning = false; - break; - } - } - - - }, Cancellation); - WaitForScannerTask.Start(); - } - } - - public void Dispose() - { - if (WaitForScannerTask.Status != TaskStatus.Faulted && WaitForScannerTask.Status != TaskStatus.RanToCompletion && WaitForScannerTask.Status != TaskStatus.Canceled) - { - WaitForScannerTask.Dispose(); - } - - } - } - - - public Boolean Compare(Dictionary checkAppsIdVersion, UInt32 Frequency, UInt32 MeterSize, Boolean PressurePresent) - { - using (var Batch = new MeterBatch()) - { - - using (var meter = new GenesisMeter()) - { - - meter.SetupFromConfigFile(PickingSlotNr); - Batch.AddMeter(meter); - PickingState = "Am Zähler anmelden"; - if (meter.Login()) - { - meter.SetProcessState(DisplayCodes.PickingStarted); - var ret = RunCheck(checkAppsIdVersion, Frequency, MeterSize, PressurePresent, meter); - - if (ret) - { - meter.SetProcessState(DisplayCodes.PickingTested); - var url = $"{ServiceUrls.MeterProcessStateUrl()}SetPickingState?PcbID={meter.PcbId}&FertigungsauftragsNr={PickingOrder}"; - var RetString = LocalWebRequest.PostRequestAsyncAndGetContent(url); - - var result = false; - if (bool.TryParse(RetString, out result)) - { - return result; - - } - } - else - { - meter.SetProcessState(DisplayCodes.PickingFailed); - } - } - } - } - return false; - } - - private Boolean RunCheck(Dictionary checkAppsIdVersion, UInt32 Frequency, UInt32 MeterSize, Boolean PressurePresent, GenesisMeter meter) - { - PickingState = "Üperprüfe Parameter"; - var FrequencyReadOut = RegisterConverter.ByteArrayToValue(meter.ReadRegister("SENSUSRADIO_FrequencyIndicator")); - if (FrequencyReadOut != Frequency) - { - PickingState = $"Falsche Frequenz! soll {Frequency}MHz ist {FrequencyReadOut}MHz"; - return false; - } - - var MeterSizeReadOut = RegisterConverter.ByteArrayToValue(meter.ReadRegister("GENESISFLOW_MeterSize")); - if (MeterSizeReadOut != MeterSize) - { - PickingState = $"Meter Dn falsch! soll {MeterSize}DN ist {MeterSizeReadOut}DN"; - return false; - } - - - var PressureReadOut = RegisterConverter.ByteArrayToValue(meter.ReadRegister("METROLOGYASST_PressurePresent")); - if (PressureReadOut != PressurePresent) - { - if (PressurePresent) - { - PickingState = "Pcb mit Drucksensor. Laut Auftrag keine verbaut"; - } - else - { - PickingState = "Pcb ohne Drucksensor. Laut Auftrag soll eine verbaut werden"; - } - //todo raus - return false; - } - - foreach (var item in checkAppsIdVersion) - { - - try - { - var MeterFWApp = meter.MeterAppListVersion.First(a => item.Key == a.AppId); - if (MeterFWApp == null || MeterFWApp.Version != item.Value) - { - PickingState = "Falsche FW, bitte Updaten"; - return false; - } - - } - catch (Exception) - { - PickingState = "Fehler beim auslesen der FW"; - return false; - } - - - } - - - try - { - meter.WriteRegister("METROLOGYASST_StoreConfiguration", 1); - Thread.Sleep(100); - var storeRet = meter.ReadRegister("METROLOGYASST_StoreConfiguration"); - if (!storeRet.All(a => a.Equals(0))) - { - PickingState = "Filesystem corrupt"; - return false; - } - - } - catch (Exception) - { - PickingState = "Fehler beim überprüfen des Filesystems"; - return false; - } - - return true; - } - - private PickingCompareItem PickingOrderDetails; - private BarScanner PickingBarScanner; - private String PickingOrder; - private String PickingPcbId; - - - private String PickingScannerPort = "COM6"; - private Int32 PickingSlotNr = 1; - //PickingState,PickingScanner,PickingSlot,PickingResult - private void PickingLoop(CancellationToken token) - { - while (!token.IsCancellationRequested) - { - switch (sm) - { - case PickingStateMachine.Init: - PickingState = "Initialisierung"; - PickingSlot = $"Inaktiv EP {PickingSlotNr}"; - PickingScanner = $"Geschlossen {PickingScannerPort}"; - //CheckAllPorts? - - sm = PickingStateMachine.StartCom; - - break; - case PickingStateMachine.StartCom: - PickingOrderDetails = null; - PickingScanner = $"Öfffne {PickingScannerPort}"; - //CheckAllPorts? - PickingBarScanner = new BarScanner(PickingScannerPort, token); - PickingBarScanner.Start(); - - sm = PickingStateMachine.WaitForScanning; - - break; - case PickingStateMachine.WaitForScanning: - PickingScanner = $"Offen {PickingScannerPort}"; - PickingState = $"Warte auf Scannereingabe({PickingScannerPort})"; - if (PickingBarScanner != null && !string.IsNullOrEmpty(PickingBarScanner.Input)) - { - PickingOrder = PickingBarScanner.Input; - PickingScanner = $"Geschlossen {PickingScannerPort}"; - PickingBarScanner = null; - - - sm = PickingStateMachine.WaitForDetect; - - } - - break; - case PickingStateMachine.WaitForDetect: - using (var Batch = new MeterBatch()) - { - - using (var tryMeter = new GenesisMeter()) - { - try - { - PickingState = "Warte auf Pcb"; - PickingSlot = $"Öffne EP {PickingSlotNr}"; - tryMeter.SetupFromConfigFile(PickingSlotNr); - Batch.AddMeter(tryMeter); - tryMeter.Logout(); - Log("Try to get PcbID"); - PickingPcbId = tryMeter.GetPcbId(); - - var hasDetect = !string.IsNullOrEmpty(PickingPcbId); - - if (hasDetect) - { - - PickingState = $"Pcb gefunden {PickingPcbId}"; - Log($"New PcbID detected {PickingPcbId}"); - sm = PickingStateMachine.GetOrderDetails; - } - else - { - PickingSlot = $"Keine Konnektivität EP {PickingSlotNr}"; - Log("No Meter found"); - - } - - } - catch (Exception e) - { - Log($"Error occur.{ Environment.NewLine} {e.Message}"); - } - } - } - - break; - case PickingStateMachine.GetOrderDetails: - - PickingState = $"Lade Auftragsdaten {PickingOrder}"; - var retCode = 0; - var str = LocalWebRequest.GetRequestWithError($"{ServiceUrls.GenesisFinalCheckServiceUrl()}GetOrderOverview?ProductionOrderNumber={PickingOrder}&CheckPcbId={PickingPcbId}", out retCode, 15000); - if (retCode == 417) - { - sm = PickingStateMachine.MeterError; - PickingResult = "Keine Radio Parameter"; - } - else - { - var retStr = JsonConvert.DeserializeObject(str); - PickingOrderDetails = retStr.PickingCompareItem; - - if (retStr.OrderOverViewCordonel.Count == retStr.OrderOverViewCordonel.AssignedPicking) - { - PickingResult = "Auftrag schon komplett"; - sm = PickingStateMachine.MeterError; - } - else - { - PickingState = $"Auftragsdaten geladen {PickingOrder}"; - sm = PickingStateMachine.Compare; - } - } - - break; - case PickingStateMachine.Compare: - //Compare - PickingState = $"Vergleiche Auftragsdaten {PickingOrder} mit Pcb Eigenschaften"; - - - var converter = new BrushConverter(); - if (Compare(PickingOrderDetails.CheckAppsIdVersion, PickingOrderDetails.FrequencyIndicator, PickingOrderDetails.MeterSize, PickingOrderDetails.PressurePresent)) - { - //erfolg anzeigen und weiter - var b = (Brush)converter.ConvertFromString("#419C14"); - b.Freeze(); - PickingResultColor = b; - sm = PickingStateMachine.MeterDone; - } - else - { - sm = PickingStateMachine.MeterError; - - var b = (Brush)converter.ConvertFromString("#FF8000"); - b.Freeze(); - PickingResultColor = b; - } - break; - case PickingStateMachine.MeterError: - PickingOrderDetails = null; - PickingState = "Vergleich abgeschlossen"; - PickingResult = "Vergleich fertig fehlgeschlagen"; - Thread.Sleep(10000); - sm = PickingStateMachine.StartCom; - - break; - case PickingStateMachine.MeterDone: - - - PickingState = "Vergleich abgeschlossen warten auf Montage Rückmeldung"; - PickingResult = $"Pcb {PickingPcbId} wurde dem Auftrag {PickingOrder} hinzugefügt"; - Thread.Sleep(10000); - PickingScanner = $"Öfffne {PickingScannerPort}"; - PickingBarScanner = new BarScanner(PickingScannerPort, token); - - PickingBarScanner.Start(); - sm = PickingStateMachine.WaitForBuildingMeterReady; - - //CheckAllPorts? - - - - break; - case PickingStateMachine.WaitForBuildingMeterReady: - - if (PickingBarScanner != null && !string.IsNullOrEmpty(PickingBarScanner.Input)) - { - - if (PickingBarScanner.Input == "%Cordonel_SAP_100%") - { - - var url = ServiceUrls.MeterProcessStateUrl(); - url = url + $"setSapState?PcbID={PickingPcbId}&code=100&version=1"; - try - { - LocalWebRequest.PostRequestAsync(url); - } - catch (Exception ex) - { - } - - if (PickingOrderDetails.PressurePresent) - { - PickingBarScanner = new BarScanner(PickingScannerPort, token); - - PickingBarScanner.Start(); - PickingState = "Montage Rückmeldung erhalten, Montage des Drucksensors bestätigen"; - sm = PickingStateMachine.WaitForBuildingPressureReady; - } - else - { - PickingState = "Montage Rückmeldung erhalten, auftrag Scannen"; - sm = PickingStateMachine.StartCom; - } - } - } - break; - case PickingStateMachine.WaitForBuildingPressureReady: - - if (PickingBarScanner != null && !string.IsNullOrEmpty(PickingBarScanner.Input)) - { - - if (PickingBarScanner.Input == "%Cordonel_SAP_101%") - { - var url = ServiceUrls.MeterProcessStateUrl(); - url = url + $"setSapState?PcbID={PickingPcbId}&code=101&version=1"; - try - { - LocalWebRequest.PostRequestAsync(url); - } - catch (Exception ex) - { - } - - PickingState = "Montage Rückmeldung erhalten, auftrag Scannen"; - sm = PickingStateMachine.StartCom; - } - } - break; - } - Thread.Sleep(1000); - - } - - } - - private void Log(String v) - { - //throw new NotImplementedException(); - } - } - - - -} - diff --git a/Common/Production/ProductionUiCordonel/Model/PickingMultiModeViewModel.cs b/Common/Production/ProductionUiCordonel/Model/PickingMultiModeViewModel.cs deleted file mode 100644 index 6e6a42c4..00000000 --- a/Common/Production/ProductionUiCordonel/Model/PickingMultiModeViewModel.cs +++ /dev/null @@ -1,440 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.ComponentModel; -using System.Linq; -using System.Threading; -using System.Threading.Tasks; -using System.Windows; -using System.Windows.Media; -using Logic.ProductionToProductMapper.Cordonel; -using Newtonsoft.Json; -using Xylem.Common.CommonCore.Configuration; -using Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore; -using Xylem.Common.Hardware.WaterMeter.WaterMeterCore.Consts; -using Xylem.Common.Logic.ProductionOrderCore.OrderData; -using Xylem.Common.Logic.SoftwareAccessHelper; -using Xylem.Common.Production.ProductionUiCordonel.Data; -using MessageBox = System.Windows.Forms.MessageBox; - -namespace Xylem.Common.Production.ProductionUiCordonel.Model -{ - public class PickingMultiModeViewModel : BaseMultiModeChildViewModel - { - - private Boolean inputIsEnabled; - public Boolean InputIsEnabled - { - get => inputIsEnabled; - set - { - inputIsEnabled = value; - NotifyPropertyChanged(); - } - } - - - private Boolean locked; - public PickingMultiModeViewModel(String ctrName, Int32 slotNR, List barcodeTrigger, Int32? stationID = null) : base(ctrName, slotNR, barcodeTrigger, stationID, false) - { - VisibilityPicking = Visibility.Visible; - MeterDetectedHandler += PickingMultiModeViewModel_MeterDetectedHandler; - } - - private void PickingMultiModeViewModel_MeterDetectedHandler(Object sender, EventArgs e) - { - - } - - - - public override Boolean SlotIsLocked() - { - return locked; - } - public override void InputText(String text) - { - Order = text; - ReloadData(); - TextForceUpdate(); - } - internal void ReloadData() - { - - Task.Run((Action)(() => - { - try - { - if (!locked && !string.IsNullOrEmpty(Order) && Order.Length > 6 && int.TryParse(Order, out var orderNR)) - { - - var str = LocalWebRequest.GetRequest($"{ServiceUrls.GenesisFinalCheckServiceUrl()}GetOrderOverview?ProductionOrderNumber={orderNR}"); - var OrderOverView = JsonConvert.DeserializeObject(str); - var doneCount = OrderOverView.AssignedPicking; - if (OrderOverView.Count == OrderOverView.AssignedPicking) - { - - UpdatePickingUi("Order is already completed", StatusColor, "Input a new order number", 0, 0); - locked = false; - return; - } - - str = LocalWebRequest.GetRequestWithError($"{ServiceUrls.GenesisFinalCheckServiceUrl()}GetOrderDetails?ProductionOrderNumber={orderNR}&CheckPcbId={CurrentMeter.PcbId}", out var retCode, 15000); - - if (retCode == 417) - { - MessageBox.Show(@"NO radio parameter found"); - } - - if (OrderOverView.Count == OrderOverView.AssignedPicking) - { - - UpdatePickingUi("Order is already completed", StatusColor, "Input a new order number", 0, 0); - locked = false; - return; - } - - var OrderDteails = JsonConvert.DeserializeObject(str); - - - if (CurrentMeter != null) - { - try - { - - - locked = true; - //Init(CurrentMeter, new Dictionary(), OrderDteails.FrequencyIndicator, OrderDteails.MeterSize, OrderDteails.PressurePresent); - - - var a = new Dictionary(); - a.Add(0, 486); - a.Add(15, 287); - if (OrderDteails.FrequencyIndicator == 868) - { - a.Add(24, 1067); - } - else - { - a.Add(24, 1066); - } - - Init(CurrentMeter, a, OrderDteails.FrequencyIndicator, OrderDteails.MeterSize, OrderDteails.PressurePresent); - - - var r = Run(CurrentMeter.PcbId, orderNR.ToString()); - - if (r) - { - doneCount = doneCount + 1; - } - locked = false; - UpdatePickingUi("Start checking meter", StatusColor, orderNR.ToString(), OrderOverView.Count, doneCount); - } - catch (Exception ex) - { - Log(ex.Message); - } - finally - { - locked = false; - } - } - } - else - { - UpdatePickingUi("Please input a valid order number", StatusColor, "no valid order!", 0, 0); - - } - } - catch (Exception ex) - { - Log(ex.Message); - } - })); - } - - private void UpdatePickingUi(String state, Brush StateColor, String order, Int32 toDo, Int32 done) - { - Message = state; - Order = order; - ToDo = toDo; - Done = done; - OnUpdateUi?.Invoke(null, EventArgs.Empty); - //if (true) - //{ - - //} - // lblStatus.Content = state; - // lblStatus.Background = StateColor; - // lblPickingOrder.Content = $"{Order}({Done}/{toDo}"; - // txtHiddenInput.Focus(); - // if (Done > 0 && Done >= toDo) - // { - // MessageBox.Show("Order is Finish"); - // txtOrderNr.Text = ""; - // lblStatus.Content = "Please input a new order number"; - // } - - //})); - - } - //private void RefreshPicking() - //{ - - // tbarOrder.Visibility = Visibility.Visible; - // if (!string.IsNullOrEmpty(txtOrderNr.Text)) - // { - // lblPickingOrder.Content = orderString; - - - // } - // else - // { - // UpdatePickingUi("Please input a valid order number", PickingData.StatusColor, "no valid order!", 0, 0); - // } - //} - - public event EventHandler OnDataChanged; - public event EventHandler OnUpdateUi; - public new event PropertyChangedEventHandler PropertyChanged; - - private GenesisMeter currentMeter; - - public ObservableCollection Data - { - get; set; - } - - private OverallStatus status = OverallStatus.NoDetect; - private OverallStatus Status - { - get => status; - set - { - status = value; - OnDataChanged?.Invoke(value.GetHashCode(), EventArgs.Empty); - - } - } - public String Message - { - get; set; - } - private enum OverallStatus - { - NoDetect, - CheckingIsRunning, - CheckingIsDone, - CheckingIsNoMatch, - CheckingIsHasError, - } - public String StatusText - { - get - { - switch (Status) - { - case OverallStatus.NoDetect: - return "Wait for meter"; - case OverallStatus.CheckingIsRunning: - return "Is checking, please wait"; - case OverallStatus.CheckingIsDone: - return "Succsesfull check next Pcb"; - case OverallStatus.CheckingIsNoMatch: - return "Check has mismatch, this PCB cannot be used!"; - default: - return "Check has errors, this PCB cannot be used!"; - } - - } - } - - public Brush StatusColor - { - get - { - switch (Status) - { - case OverallStatus.NoDetect: - return (SolidColorBrush)new BrushConverter().ConvertFromString("White"); - case OverallStatus.CheckingIsRunning: - return (SolidColorBrush)new BrushConverter().ConvertFromString("Yellow"); - case OverallStatus.CheckingIsDone: - return (SolidColorBrush)new BrushConverter().ConvertFromString("Green"); - case OverallStatus.CheckingIsNoMatch: - return (SolidColorBrush)new BrushConverter().ConvertFromString("Red"); - default: - return (SolidColorBrush)new BrushConverter().ConvertFromString("DarkRed"); - } - } - } - - public Int32 ToDo - { - get; private set; - } - public Int32 Done - { - get; private set; - } - - public void Init(GenesisMeter meter, Dictionary checkAppsIdVersion, UInt32 Frequency, UInt32 MeterSize, Boolean PressurePresent) - { - - - currentMeter = meter; - var data = new List(); - - data.Add(new PickingResultCustomCheckData(delegate - { - - meter.Login(); - meter.SetProcessState(DisplayCodes.PickingStarted); - return new PickingItemCheckReturn { Result = true, Msg = "done" }; - - }) - { - Index = data.Count, Ident = "Login", CheckText = "Try to access Meter", HasError = false, Result = null, - CurrentValueText = "-" - }); - - data.Add(new PickingResultRegisterData - { - ReadMeter = meter, Index = data.Count, Ident = "Check Radio", CheckText = $"{Frequency}MHz", - CompareObject = Frequency, CurrentValueText = "none", HasError = false, Result = null, - RegisterIdent = "SENSUSRADIO_FrequencyIndicator" - }); - - - data.Add(new PickingResultRegisterData - { - ReadMeter = meter, Index = data.Count, Ident = "MeterSize", - CheckText = "DN40-50", CompareObject = MeterSize, CurrentValueText = "none", HasError = false, - Result = null, RegisterIdent = "GENESISFLOW_MeterSize" - }); - - data.Add(new PickingResultRegisterData - { - ReadMeter = meter, Index = data.Count, Ident = "Pressure", - CheckText = "Pressure Sensor", CompareObject = PressurePresent, CurrentValueText = "-", HasError = false, - Result = null, RegisterIdent = "METROLOGYASST_PressurePresent" - }); - - - foreach (var item in checkAppsIdVersion) - { - data.Add(new PickingResultCustomCheckData(delegate - { - try - { - var MeterFWApp = meter.MeterAppListVersion.First(a => item.Key == a.AppId); - if (MeterFWApp.Version != item.Value) - { - return new PickingItemCheckReturn { Result = false, Msg = MeterFWApp.StrVersion }; - } - return new PickingItemCheckReturn { Result = true, Msg = MeterFWApp.StrVersion }; - } - catch (Exception) - { - return new PickingItemCheckReturn { Result = false, Msg = "error" }; - } - - }) - { - Index = data.Count, Ident = $"Check AppId {item.Key}", CheckText = $"Version {item.Value}", - HasError = false, Result = null, CurrentValueText = "-" - }); - - } - - data.Add(new PickingResultCustomCheckData(delegate - { - try - { - meter.WriteRegister("METROLOGYASST_StoreConfiguration", 1); - Thread.Sleep(100); - var storeRet = meter.ReadRegister("METROLOGYASST_StoreConfiguration"); - if (storeRet.All(a => a.Equals(0))) - { - return new PickingItemCheckReturn { Result = true, Msg = "Filesystem OK" }; - } - - return new PickingItemCheckReturn { Result = false, Msg = "Filesystem corrupt" }; - - } - catch (Exception) - { - return new PickingItemCheckReturn { Result = false, Msg = "error" }; - } - - }) - { - Index = data.Count, Ident = "Check Filesystem", CheckText = "Check Filesystem", HasError = false, - Result = null, CurrentValueText = "checking" - }); - - Status = OverallStatus.CheckingIsRunning; - ChangeDataData(data); - } - private void ChangeDataData(List data) - { - Data = new ObservableCollection(data); - OnDataChanged?.Invoke(Data, EventArgs.Empty); - } - - public Boolean Run(String pcbID, String OrderNr) - { - var tmpData = Data.ToList(); - foreach (var item in tmpData.Where(a => !a.Result.HasValue).OrderBy(a => a.Index)) - { - var result = item.Action.Invoke(); - item.Result = result.Result; - item.CurrentValueText = result.Msg; - ChangeDataData(tmpData); - } - - if (tmpData.All(a => !a.HasError && a.Result.HasValue && a.Result.Value)) - { - currentMeter.SetProcessState(DisplayCodes.PickingTested); - var url = $"{ServiceUrls.MeterProcessStateUrl()}SetPickingState?PcbID={pcbID}&FertigungsauftragsNr={OrderNr}"; - var RetString = LocalWebRequest.PostRequestAsyncAndGetContent(url); - - if (bool.TryParse(RetString, out var result)) - { - Status = OverallStatus.CheckingIsDone; - return result; - - } - - Status = OverallStatus.CheckingIsHasError; - - return false; - - } - - currentMeter.SetProcessState(DisplayCodes.PickingFailed); - if (tmpData.All(a => a.HasError)) - { - Status = OverallStatus.CheckingIsHasError; - } - else - { - Status = OverallStatus.CheckingIsNoMatch; - } - - return false; - } - - internal void Empty() - { - Status = OverallStatus.NoDetect; - ChangeDataData(new List()); - } - - protected virtual void OnPropertyChanged(PropertyChangedEventArgs e) - { - PropertyChanged?.Invoke(this, e); - } - } -} diff --git a/Common/Production/ProductionUiCordonel/Model/PickingViewModel.cs b/Common/Production/ProductionUiCordonel/Model/PickingViewModel.cs deleted file mode 100644 index 66eb4822..00000000 --- a/Common/Production/ProductionUiCordonel/Model/PickingViewModel.cs +++ /dev/null @@ -1,221 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.ComponentModel; -using System.Linq; -using System.Threading; -using System.Windows.Media; -using Logic.ProductionToProductMapper.Cordonel; -using Xylem.Common.CommonCore.Configuration; -using Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore; -using Xylem.Common.Hardware.WaterMeter.WaterMeterCore.Consts; -using Xylem.Common.Logic.SoftwareAccessHelper; -using Xylem.Common.Production.ProductionUiCordonel.Data; - -namespace Xylem.Common.Production.ProductionUiCordonel.Model -{ - public class PickingViewModel : INotifyPropertyChanged - { - public event EventHandler OnDataChanged; - public event PropertyChangedEventHandler PropertyChanged; - - private GenesisMeter currentMeter; - private PickingCompareItem baseFile; - - public ObservableCollection Data { get; set; } - - private OverallStatus status = OverallStatus.NoDetect; - private OverallStatus Status - { - get => status; - set - { - status = value; - OnDataChanged?.Invoke(value.GetHashCode(), EventArgs.Empty); - - } - } - - private enum OverallStatus - { - NoDetect, - CheckingIsRunning, - CheckingIsDone, - CheckingIsNoMatch, - CheckingIsHasError, - } - public String StatusText - { - get - { - switch (Status) - { - case OverallStatus.NoDetect: - return "Wait for meter"; - case OverallStatus.CheckingIsRunning: - return "Is checking, please wait"; - case OverallStatus.CheckingIsDone: - return "Succsesfull check next Pcb"; - case OverallStatus.CheckingIsNoMatch: - return "Check has mismatch, this PCB cannot be used!"; - default: - return "Check has errors, this PCB cannot be used!"; - } - - } - } - - public Brush StatusColor - { - get - { - switch (Status) - { - case OverallStatus.NoDetect: - return (SolidColorBrush)new BrushConverter().ConvertFromString("White"); - case OverallStatus.CheckingIsRunning: - return (SolidColorBrush)new BrushConverter().ConvertFromString("Yellow"); - case OverallStatus.CheckingIsDone: - return (SolidColorBrush)new BrushConverter().ConvertFromString("Green"); - case OverallStatus.CheckingIsNoMatch: - return (SolidColorBrush)new BrushConverter().ConvertFromString("Red"); - default: - return (SolidColorBrush)new BrushConverter().ConvertFromString("DarkRed"); - } - } - } - - - public void Init(GenesisMeter meter, Dictionary checkAppsIdVersion, UInt32 Frequency, UInt32 MeterSize, Boolean PressurePresent) - { - - - currentMeter = meter; - var data = new List(); - - data.Add(new PickingResultCustomCheckData(delegate - { - - var r = meter.Login(); - meter.SetProcessState(DisplayCodes.PickingStarted); - return new PickingItemCheckReturn { Result = true, Msg = "done" }; - - }) - { Index = data.Count, Ident = "Login", CheckText = "Try to access Meter", HasError = false, Result = null, CurrentValueText = "-" }); - if (Frequency != 0) - { - data.Add(new PickingResultRegisterData { ReadMeter = meter, Index = data.Count, Ident = "Check Radio", CheckText = "433", CompareObject = Frequency, CurrentValueText = "none", HasError = false, Result = null, RegisterIdent = "SENSUSRADIO_FrequencyIndicator" }); ; - - - data.Add(new PickingResultRegisterData { ReadMeter = meter, Index = data.Count, Ident = "MeterSize", CheckText = "DN40-50", CompareObject = MeterSize, CurrentValueText = "none", HasError = false, Result = null, RegisterIdent = "GENESISFLOW_MeterSize" }); - } - - foreach (var item in checkAppsIdVersion) - { - data.Add(new PickingResultCustomCheckData(delegate - { - try - { - var MeterFWApp = meter.MeterAppListVersion.First(a => item.Key == a.AppId); - if (MeterFWApp == null || MeterFWApp.Version != item.Value) - { - return new PickingItemCheckReturn { Result = false, Msg = MeterFWApp.StrVersion }; - } - return new PickingItemCheckReturn { Result = true, Msg = MeterFWApp.StrVersion }; - } - catch (Exception) - { - return new PickingItemCheckReturn { Result = false, Msg = "error" }; - } - - }) - { Index = data.Count, Ident = $"Check AppId {item.Key}", CheckText = $"Version {item.Value}", HasError = false, Result = null, CurrentValueText = "-" }); ; - - } - - data.Add(new PickingResultCustomCheckData(delegate - { - try - { - meter.WriteRegister("METROLOGYASST_StoreConfiguration", 1); - Thread.Sleep(100); - var storeRet = meter.ReadRegister("METROLOGYASST_StoreConfiguration"); - if (storeRet.All(a => a.Equals(0))) - { - return new PickingItemCheckReturn { Result = true, Msg = "Filesystem OK" }; - } - - return new PickingItemCheckReturn { Result = false, Msg = "Filesystem corrupt" }; - - } - catch (Exception) - { - return new PickingItemCheckReturn { Result = false, Msg = "error" }; - } - - }) - { Index = data.Count, Ident = "Check Filesystem", CheckText = "Check Filesystem", HasError = false, Result = null, CurrentValueText = "checking" }); ; - - Status = OverallStatus.CheckingIsRunning; - ChangeDataData(data); - } - private void ChangeDataData(List data) - { - Data = new ObservableCollection(data); - OnDataChanged?.Invoke(Data, EventArgs.Empty); - } - - public Boolean Run(String pcbID, String OrderNr) - { - var tmpData = Data.ToList(); - foreach (var item in tmpData.Where(a => !a.Result.HasValue).OrderBy(a => a.Index)) - { - var result = item.Action.Invoke(); - item.Result = result.Result; - item.CurrentValueText = result.Msg; - ChangeDataData(tmpData); - } - - if (tmpData.All(a => !a.HasError && a.Result.HasValue && a.Result.Value)) - { - currentMeter.SetProcessState(DisplayCodes.PickingTested); - var url = $"{ServiceUrls.MeterProcessStateUrl()}SetPickingState?PcbID={pcbID}&FertigungsauftragsNr={OrderNr}"; - var RetString = LocalWebRequest.PostRequestAsyncAndGetContent(url); - - var result = false; - if (bool.TryParse(RetString, out result)) - { - Status = OverallStatus.CheckingIsDone; - return result; - - } - - Status = OverallStatus.CheckingIsHasError; - - return false; - - } - - currentMeter.SetProcessState(DisplayCodes.PickingFailed); - if (tmpData.All(a => a.HasError)) - { - Status = OverallStatus.CheckingIsHasError; - } - else - { - Status = OverallStatus.CheckingIsNoMatch; - } - - return false; - - - - } - - internal void Empty() - { - Status = OverallStatus.NoDetect; - ChangeDataData(new List()); - } - } -} diff --git a/Common/Production/ProductionUiCordonel/Model/PressureMultiModeViewModel.cs b/Common/Production/ProductionUiCordonel/Model/PressureMultiModeViewModel.cs deleted file mode 100644 index 6fdd352b..00000000 --- a/Common/Production/ProductionUiCordonel/Model/PressureMultiModeViewModel.cs +++ /dev/null @@ -1,192 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.Linq; -using System.Threading.Tasks; -using System.Windows; -using Newtonsoft.Json; -using Xylem.Common.CommonCore.Configuration; -using Xylem.Common.Hardware.WaterMeter.WaterMeterCore.Consts; -using Xylem.Common.Logic.ProductionOrderCore.ProcessState; -using Xylem.Common.Logic.ProductionOrderCore.TestResults; -using Xylem.Common.Logic.SoftwareAccessHelper; -using Xylem.Common.Production.ProductionUiCordonel.Data; -using Xylem.Common.Production.ProductionUiCordonel.Event; - -namespace Xylem.Common.Production.ProductionUiCordonel.Model -{ - public class PressureMultiModeViewModel : BaseMultiModeChildViewModel - { - - - public event EventHandler OnStoreDone; - private PressureResultDataNotifyable result = new PressureResultDataNotifyable(); - public PressureResultDataNotifyable Result - { - get => result; - set - { - result = value; - NotifyPropertyChanged(); - } - } - - - private Boolean inputIsEnabled; - public Boolean InputIsEnabled - { - get => inputIsEnabled; - set - { - inputIsEnabled = value; - NotifyPropertyChanged(); - } - } - - - public Boolean Locked { get; set; } = false; - public Int32? StationID { get; set; } - - public PressureMultiModeViewModel(String ctrName, Int32 slotNR, List barcodeTrigger, Int32? stationID = null) : base(ctrName, slotNR, barcodeTrigger, stationID) - { - VisibilityPressure = Visibility.Visible; - StationID = stationID; - } - - public Boolean isHydraulicStaion() - { - - if (!StationID.HasValue || StationID.Value == 1) - { - return false; - } - return true; - } - public override Boolean SlotIsLocked() - { - return false; - } - - internal void ReloadData(Boolean reset) - { - - if (Result != null && Result.PcbId != CurrentPcbID) - { - InputIsEnabled = false; - if (true) - { - - } - Result = new PressureResultDataNotifyable { Remark = "loading", Testpoints = new ObservableCollection(), PcbId = "" }; - Task.Run((Func)(() => - { - try - { - var url = ServiceUrls.MeterProcessStateUrl(); - url = url + $"GetPressureStateDetailed?PcbId={CurrentPcbID}&TopCount=1"; - - var retStr = LocalWebRequest.GetRequest(url); - - var pressureResultData = JsonConvert.DeserializeObject>(retStr); - if (!pressureResultData.Any()) - { - return new PressureResultDataNotifyable(); - } - return new PressureResultDataNotifyable(pressureResultData.First()); - } - catch (Exception ex) - { - Log(ex.Message); - return new PressureResultDataNotifyable(); - } - - })).ContinueWith(a => - { - var res = a.Result; - res.PcbId = CurrentPcbID; - - Result = res; - InputIsEnabled = true; - } - - ); - - } - } - - internal void StoreData(Boolean successfull) - { - - if (Result != null && Result.PcbId == CurrentPcbID) - { - InputIsEnabled = false; - var isStored = false; - var status = DisplayCodes.PressureTestedFailed; - - Task.Run((Action)(() => - { - var url = ServiceUrls.MeterProcessStateUrl(); - - if (successfull) - { - status = DisplayCodes.PressureTested; - } - try - { - if (StationID == 1) - { - var addResult = new PressureTestResult - { - FreeText = Result.Remark, - Passed = successfull, - StationId = StationID - }; - - url = url + $"SetPressureState?PcbId={CurrentPcbID}&FertigungsauftragsNr=0"; - - - if (!LocalWebRequest.PostRequestAsync(url, json: addResult)) - { - throw new ApplicationException("PressureState: NOT successful"); - } - - } - else - { - url = url + "SetPressureStateDetailed"; - var mutedResult = Result.ToBase(); - isStored = LocalWebRequest.PostRequestAsync(url, json: mutedResult); - if (!isStored) - { - OnStoreDone?.Invoke(null, new StringArgs("Can not store Result")); - status = DisplayCodes.PressureTestedFailed; - } - } - - - CurrentMeter.Login(); - CurrentMeter.SetProcessState(status); - } - catch (Exception ex) - { - Log(ex.Message); - status = DisplayCodes.PressureTestedFailed; - OnStoreDone?.Invoke(null, new StringArgs("Can not store Result")); - } - - - if (status == DisplayCodes.PressureTested) - { - OnStoreDone?.Invoke(null, new StringArgs("Pressure test stored successfully. Meter can passed")); - return; - } - OnStoreDone?.Invoke(null, new StringArgs("Pressure test stored successfully. But Meter is marked with a leakage. Please inform QS")); - - })); - - } - } - - } - -} diff --git a/Common/Production/ProductionUiCordonel/ProductionUiCordonel.csproj b/Common/Production/ProductionUiCordonel/ProductionUiCordonel.csproj index bcb12697..3ad7c80c 100644 --- a/Common/Production/ProductionUiCordonel/ProductionUiCordonel.csproj +++ b/Common/Production/ProductionUiCordonel/ProductionUiCordonel.csproj @@ -140,17 +140,6 @@ Properties\SharedAssemblyInfo.cs - - - - ctlMultiModeMarriage.xaml - - - ctlMultiModePicking.xaml - - - ctlMultiModePressure.xaml - @@ -173,16 +162,7 @@ - - - - - - - - - @@ -242,18 +222,6 @@ UcPasswordFile.xaml - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - Designer MSBuild:Compile diff --git a/Common/Production/ProductionUiCordonel/ctls/ctlMultiModeMarriage.xaml b/Common/Production/ProductionUiCordonel/ctls/ctlMultiModeMarriage.xaml deleted file mode 100644 index 4edc8917..00000000 --- a/Common/Production/ProductionUiCordonel/ctls/ctlMultiModeMarriage.xaml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - -