From d8ed144dee4e4c4930f573f8d23ae7f7b7325165 Mon Sep 17 00:00:00 2001 From: Milan Hanajik Date: Tue, 15 Dec 2020 11:48:57 +0100 Subject: [PATCH] TracingDB synchronized with Production-Monitoring project, ver. 2.26.1562 --- .../Output/DB/ProductionTracing/Tracing.cs | 4 +- TBF/Properties/AssemblyInfo.cs | 4 +- TracingDB/DB.cs | 66 +++++++++++++++++-- TracingDB/Entities/Part.cs | 51 +++++++------- TracingDB/Entities/ReferenceRecord.cs | 6 +- TracingDB/Enums.cs | 3 + TracingDB/Forms/MessageEventArgs.cs | 10 +++ TracingDB/Forms/ModelessForm.cs | 24 +++++++ TracingDB/ItemSpec.cs | 55 ++++++++-------- TracingDB/Mappings/PartMap.cs | 3 +- TracingDB/Properties/AssemblyInfo.cs | 4 +- TracingDB/Resources/Strings.Designer.cs | 18 +++++ TracingDB/Resources/Strings.resx | 6 ++ TracingDB/Resources/Strings.sk.resx | 6 ++ TracingDB/TracingDB.csproj | 1 + 15 files changed, 194 insertions(+), 67 deletions(-) create mode 100644 TracingDB/Forms/MessageEventArgs.cs diff --git a/TBF/BenchControl/Output/DB/ProductionTracing/Tracing.cs b/TBF/BenchControl/Output/DB/ProductionTracing/Tracing.cs index be9331581..11974b24e 100644 --- a/TBF/BenchControl/Output/DB/ProductionTracing/Tracing.cs +++ b/TBF/BenchControl/Output/DB/ProductionTracing/Tracing.cs @@ -150,7 +150,7 @@ namespace TBF.BenchControl.Output.DB.ProductionTracing ISession session = sessionFactory.OpenSession(); #if !DEBUG - /// Only release version registers a workplace + /// Only a release version registers a workplace TracingDB.DB.RegisterWorkplace(session, workplace, Users.GlobalData.GetCurrentUserName(), @@ -181,7 +181,7 @@ namespace TBF.BenchControl.Output.DB.ProductionTracing using (ISession session = sessionFactory.OpenSession()) { - TracingDB.DB.UnregisterWorkplace(session, workplace); + TracingDB.DB.UnregisterWorkplaceObsolete(session, workplace); session.Flush(); } } diff --git a/TBF/Properties/AssemblyInfo.cs b/TBF/Properties/AssemblyInfo.cs index 077522a96..f2384415d 100644 --- a/TBF/Properties/AssemblyInfo.cs +++ b/TBF/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("2.26.1561.0")] -[assembly: AssemblyFileVersion("2.26.1561.0")] +[assembly: AssemblyVersion("2.26.1562.0")] +[assembly: AssemblyFileVersion("2.26.1562.0")] diff --git a/TracingDB/DB.cs b/TracingDB/DB.cs index 6d7214e04..97886642c 100644 --- a/TracingDB/DB.cs +++ b/TracingDB/DB.cs @@ -179,7 +179,7 @@ namespace TracingDB { /// Read all already existing reference records with Code==pcbNumber, referenceRecords[0] will be the most recent one var referenceRecords = session.QueryOver() - .Where(rr => (rr.Code == pcbNumber)) + .Where(rr => (rr.Code == pcbNumber && rr.Result == 0)) .OrderBy(rr => rr.TimeStamp).Desc .List(); @@ -194,6 +194,60 @@ namespace TracingDB } + /// + /// Updates processes, processDictionary and workstepsDictionary + /// + /// DB session + public static IList ReadWorkflowsFromDB(ISession session, + string thisWorkstepName, + out Dictionary workflowDict, + out Dictionary> workflowStepsDict, + out Dictionary verifInfos, + bool readDeactivatedWorkflows = false) + { + IList workflows; + if (readDeactivatedWorkflows) + { + workflows = session.QueryOver().Where(pr => ((pr.ReleaseStatus == ReleaseStatus.Released) || + (pr.ReleaseStatus == ReleaseStatus.ReleasedActive) || + (pr.ReleaseStatus == ReleaseStatus.ToBeApproved) || + (pr.ReleaseStatus == ReleaseStatus.Deactivated) + )).List(); + } + else + { + workflows = session.QueryOver().Where(pr => ((pr.ReleaseStatus == ReleaseStatus.Released) || + (pr.ReleaseStatus == ReleaseStatus.ReleasedActive) || + (pr.ReleaseStatus == ReleaseStatus.ToBeApproved) + )).List(); + } + + workflowDict = new Dictionary(); + workflowStepsDict = new Dictionary>(); + verifInfos = new Dictionary(); + + foreach (var wf in workflows) + { + IList steps = session.QueryOver() + .Where(ws => ((ws.Process == wf) && (ws.Name == thisWorkstepName))) + .List(); + workflowDict.Add(wf.Id, wf); + workflowStepsDict.Add(wf.Id, steps); + + Workstep step; + bool verifyRefPart; + Part verifiedPart; + if (steps.Count == 1 && TracingDB.DB.AnalyzeProcess(session, wf, steps[0], out step, out verifyRefPart, out verifiedPart)) + { + verifInfos.Add(wf.Id, new ScanVerificationInfo(step, verifyRefPart, verifiedPart)); + log.WarnFormat("Workflow {0} :: Verified step={1} part={2} verify ref. part={3}", wf, step, verifiedPart, verifyRefPart); + } + } + + return workflows; + } + + /// /// Finds a workstep and a part to be verified (typically a previous workstep and one of its parts). /// Updates this.verifiedWorkstep, this.verifiedPart and this.verifyReferencePart. @@ -342,15 +396,13 @@ namespace TracingDB /// /// Obsolete, use WorkplaceRegistration class instead /// - public static bool UnregisterWorkplace(ISession session, string workplace) + public static bool UnregisterWorkplaceObsolete(ISession session, string workplace) { try { - IList wpRegs = session - .QueryOver() - .Where(x => (x.Workplace == workplace)) - .List(); - + IList wpRegs = session.QueryOver() + .Where(x => (x.Workplace == workplace)) + .List(); if (wpRegs.Count == 1) { WorkplaceRegistration wpReg = wpRegs[0]; diff --git a/TracingDB/Entities/Part.cs b/TracingDB/Entities/Part.cs index 58a468e92..02bf5388d 100644 --- a/TracingDB/Entities/Part.cs +++ b/TracingDB/Entities/Part.cs @@ -12,12 +12,38 @@ namespace TracingDB.Entities public virtual CodeType CodeType { get; set; } public virtual CodeForm CodeForm { get; set; } public virtual CodeLocation CodeLocation { get; set; } + public virtual string DefaultCode { get; set; } public virtual LifetimeManagement LifetimeManagement { get; set; } public virtual int StepNumber { get; set; } public virtual Process Process { get; set; } public virtual Workstep Workstep { get; set; } + /// + /// Create a copy of a part (1) belongig to another process, (2) not assigned to any workstep yet. + /// + /// Process owning the cloned part + /// Cloned part + public virtual Part Clone(Process owningProcess) + { + Part rslt = new Part(); + + rslt.Name = Name; + rslt.OraDBType = OraDBType; + rslt.Description = Description; + rslt.CodeType = CodeType; + rslt.CodeForm = CodeForm; + rslt.CodeLocation = CodeLocation; + rslt.DefaultCode = DefaultCode; + rslt.LifetimeManagement = LifetimeManagement; + rslt.StepNumber = StepNumber; + + rslt.Process = owningProcess; + rslt.Workstep = null; + + return rslt; + } + public Part() { @@ -48,36 +74,13 @@ namespace TracingDB.Entities CodeType = codeType; CodeForm = codeForm; CodeLocation = codeLocation; + DefaultCode = string.Empty; StepNumber = 0; Process = process; Workstep = null; } - /// - /// Create a copy of a part (1) belongig to another process, (2) not assigned to any workstep yet. - /// - /// Process owning the cloned part - /// Cloned part - public virtual Part Clone(Process owningProcess) - { - Part rslt = new Part(); - - rslt.Name = Name; - rslt.OraDBType = OraDBType; - rslt.Description = Description; - rslt.CodeType = CodeType; - rslt.CodeForm = CodeForm; - rslt.CodeLocation = CodeLocation; - rslt.LifetimeManagement = LifetimeManagement; - rslt.StepNumber = StepNumber; - - rslt.Process = owningProcess; - rslt.Workstep = null; - - return rslt; - } - public override string ToString() { return string.Format("{0} ({1}: {2})", Name, StepNumber, Description); diff --git a/TracingDB/Entities/ReferenceRecord.cs b/TracingDB/Entities/ReferenceRecord.cs index c8129b47e..beef1e2c4 100644 --- a/TracingDB/Entities/ReferenceRecord.cs +++ b/TracingDB/Entities/ReferenceRecord.cs @@ -78,9 +78,9 @@ namespace TracingDB.Entities { return string.Format("code={0} part={1} description='{2}' step='{3}' workplace='{4}' user={5} time={6:dd.MM.yyyy HH:mm:ss}", (Code != null) ? Code : "", - Workstep.ReferencePart.Name, - Workstep.ReferencePart.Description, - Workstep.Name, + (Workstep != null) ? Workstep.ReferencePart.Name : string.Empty, + (Workstep != null) ? Workstep.ReferencePart.Description : string.Empty, + (Workstep != null) ? Workstep.Name : string.Empty, Workplace, UserName, TimeStamp); diff --git a/TracingDB/Enums.cs b/TracingDB/Enums.cs index 0ae90ce50..3bef150d6 100644 --- a/TracingDB/Enums.cs +++ b/TracingDB/Enums.cs @@ -79,6 +79,9 @@ namespace TracingDB QRCode, /// QR code Keyboard, /// Data entered by a keyboard OkNok, /// OK/NOK or Yes/No data entered by a keyboard or a mouse + SerialNr, /// Complete serial number of iPERL (follows PcbNumber which is a reference part) + Camera, + Scale, Count } diff --git a/TracingDB/Forms/MessageEventArgs.cs b/TracingDB/Forms/MessageEventArgs.cs new file mode 100644 index 000000000..97c957e47 --- /dev/null +++ b/TracingDB/Forms/MessageEventArgs.cs @@ -0,0 +1,10 @@ +using System; + +namespace TracingDB.Forms +{ + public class MessageEventArgs : EventArgs + { + public string Message; + public MessageEventArgs(string message) { Message = message; } + } +} diff --git a/TracingDB/Forms/ModelessForm.cs b/TracingDB/Forms/ModelessForm.cs index c5ad2469d..0c4ab1b81 100644 --- a/TracingDB/Forms/ModelessForm.cs +++ b/TracingDB/Forms/ModelessForm.cs @@ -6,6 +6,24 @@ namespace TracingDB.Forms { public partial class ModelessForm : Form { + /// + /// Called from the state machine when an operation forces a modeless dialog close. + /// + public static void UpdateMessage(MessageEventArgs args) + { + if (UpdateMessageHandler == null) return; + try { UpdateMessageHandler(null, args); } + catch (Exception) { } + } + public static event EventHandler UpdateMessageHandler; + + void OnUpdateMessage(object sender, MessageEventArgs args) + { + Message = args.Message; + if (Message != null) label1.Text = Message; + } + + /// /// Called from the state machine when an operation forces a modeless dialog close. /// @@ -44,6 +62,12 @@ namespace TracingDB.Forms InitializeComponent(); ControlBox = false; + UpdateMessageHandler += delegate(object sender, MessageEventArgs args) + { + if (InvokeRequired) { Invoke(new EventHandler(OnUpdateMessage), sender, args); } + else OnUpdateMessage(sender, args); + }; + CloseFormHandler += delegate(object sender, EventArgs args) { if (InvokeRequired) { Invoke(new EventHandler(OnCloseForm), sender, args); } diff --git a/TracingDB/ItemSpec.cs b/TracingDB/ItemSpec.cs index 231dd0ba8..f6cf0cb97 100644 --- a/TracingDB/ItemSpec.cs +++ b/TracingDB/ItemSpec.cs @@ -99,32 +99,33 @@ namespace TracingDB { AllItems = new List(); - AllItems.Add(new ItemSpec(ItemSpecID.RefRecordID, Strings.RefRecordID, (x, f, p, w) => ((int)x).ToString(), ItemSpecCaps.ReferenceRecord)); - - AllItems.Add(new ItemSpec(ItemSpecID.TimeStamp, Strings.Time_stamp, (x, f, p, w) => string.IsNullOrEmpty(f) ? ((DateTime)x).ToString() : string.Format(f, (DateTime)x), ItemSpecCaps.ReferenceRecord)); - AllItems.Add(new ItemSpec(ItemSpecID.Workstep, Strings.Workstep, (x, f, p, w) => FormatStr(f, ((Workstep)x).Name), ItemSpecCaps.ReferenceRecord)); - AllItems.Add(new ItemSpec(ItemSpecID.Workplace, Strings.Workplace, (x, f, p, w) => FormatStr(f, x), ItemSpecCaps.ReferenceRecord)); - AllItems.Add(new ItemSpec(ItemSpecID.UserName, Strings.User_name, (x, f, p, w) => FormatStr(f, x), ItemSpecCaps.ReferenceRecord)); - AllItems.Add(new ItemSpec(ItemSpecID.Barcode, Strings.Ref_part_barcode, (x, f, p, w) => FormatStr(f, x), ItemSpecCaps.ReferenceRecord)); - AllItems.Add(new ItemSpec(ItemSpecID.RefPartName, Strings.Ref_part_name, (x, f, p, w) => FormatStr(f, ((Workstep)x).ReferencePart.Name), ItemSpecCaps.ReferenceRecord)); - AllItems.Add(new ItemSpec(ItemSpecID.PartBarcode, Strings.Part_barcode, (x, f, p, w) => FormatStr(f, x), ItemSpecCaps.ReferenceRecord | ItemSpecCaps.AssociatedRecord)); - AllItems.Add(new ItemSpec(ItemSpecID.PartName, Strings.Part_name, (x, f, p, w) => FormatStr(f, ((Part)x).Name), ItemSpecCaps.ReferenceRecord | ItemSpecCaps.AssociatedRecord)); - - AllItems.Add(new ItemSpec(ItemSpecID.TimeStamp2, Strings.Time_stamp+"2", (x, f, p, w) => string.IsNullOrEmpty(f) ? ((DateTime)x).ToString() : string.Format(f, (DateTime)x), ItemSpecCaps.ReferenceRecord)); - AllItems.Add(new ItemSpec(ItemSpecID.Workstep2, Strings.Workstep + "2", (x, f, p, w) => FormatStr(f, ((Workstep)x).Name), ItemSpecCaps.ReferenceRecord)); - AllItems.Add(new ItemSpec(ItemSpecID.Workplace2, Strings.Workplace + "2", (x, f, p, w) => FormatStr(f, x), ItemSpecCaps.ReferenceRecord)); - AllItems.Add(new ItemSpec(ItemSpecID.UserName2, Strings.User_name + "2", (x, f, p, w) => FormatStr(f, x), ItemSpecCaps.ReferenceRecord)); - AllItems.Add(new ItemSpec(ItemSpecID.Barcode2, Strings.Barcode + "2", (x, f, p, w) => FormatStr(f, x), ItemSpecCaps.ReferenceRecord)); - AllItems.Add(new ItemSpec(ItemSpecID.PartBarcode2, Strings.Part_barcode+"2", (x, f, p, w) => FormatStr(f, x), ItemSpecCaps.ReferenceRecord | ItemSpecCaps.AssociatedRecord)); - - AllItems.Add(new ItemSpec(ItemSpecID.SerialNr, Strings.Serial_nr, (x, f, p, w) => x as string, ItemSpecCaps.ReferenceRecord | ItemSpecCaps.OracleQuery)); - AllItems.Add(new ItemSpec(ItemSpecID.PurchaseOrder, Strings.Purchase_order, (x, f, p, w) => x as string, ItemSpecCaps.ReferenceRecord | ItemSpecCaps.OracleQuery)); - AllItems.Add(new ItemSpec(ItemSpecID.TestResult, Strings.Test_result, (x, f, p, w) => x as string, ItemSpecCaps.ReferenceRecord | ItemSpecCaps.OracleQuery)); - AllItems.Add(new ItemSpec(ItemSpecID.MaxPruefindex, Strings.Tests_count, (x, f, p, w) => x as string, ItemSpecCaps.ReferenceRecord | ItemSpecCaps.OracleQuery)); - AllItems.Add(new ItemSpec(ItemSpecID.MaxTestindexEx,Strings.Tests_count_and_rslt,(x, f, p, w) => x as string, ItemSpecCaps.ReferenceRecord | ItemSpecCaps.OracleQuery)); - AllItems.Add(new ItemSpec(ItemSpecID.TestBenchId, Strings.Test_bench_Id, (x, f, p, w) => x as string, ItemSpecCaps.ReferenceRecord | ItemSpecCaps.OracleQuery)); - - AllItems.Add(new ItemSpec(ItemSpecID.Process, Strings.Process, (x, f, p, w) => FormatStr(f, ((Process)x).Name), ItemSpecCaps.ReferenceRecord)); + AllItems.Add(new ItemSpec(ItemSpecID.RefRecordID, Strings.RefRecordID, (x, f, p, w) => ((int)x).ToString(), ItemSpecCaps.ReferenceRecord)); + + AllItems.Add(new ItemSpec(ItemSpecID.TimeStamp, Strings.Time_stamp, (x, f, p, w) => string.IsNullOrEmpty(f) ? ((DateTime)x).ToString() : string.Format(f, (DateTime)x), ItemSpecCaps.ReferenceRecord)); + AllItems.Add(new ItemSpec(ItemSpecID.Workstep, Strings.Workstep, (x, f, p, w) => FormatStr(f, x is Workstep ? (x as Workstep).Name : ""), ItemSpecCaps.ReferenceRecord)); + AllItems.Add(new ItemSpec(ItemSpecID.Workplace, Strings.Workplace, (x, f, p, w) => FormatStr(f, x), ItemSpecCaps.ReferenceRecord)); + AllItems.Add(new ItemSpec(ItemSpecID.UserName, Strings.User_name, (x, f, p, w) => FormatStr(f, x), ItemSpecCaps.ReferenceRecord)); + AllItems.Add(new ItemSpec(ItemSpecID.Barcode, Strings.Ref_part_barcode, (x, f, p, w) => FormatStr(f, x), ItemSpecCaps.ReferenceRecord)); + AllItems.Add(new ItemSpec(ItemSpecID.RefPartName, Strings.Ref_part_name, (x, f, p, w) => FormatStr(f, ((Workstep)x).ReferencePart.Name), ItemSpecCaps.ReferenceRecord)); + AllItems.Add(new ItemSpec(ItemSpecID.PartBarcode, Strings.Part_barcode, (x, f, p, w) => FormatStr(f, x), ItemSpecCaps.ReferenceRecord | ItemSpecCaps.AssociatedRecord)); + AllItems.Add(new ItemSpec(ItemSpecID.PartName, Strings.Part_name, (x, f, p, w) => FormatStr(f, ((Part)x).Name), ItemSpecCaps.ReferenceRecord | ItemSpecCaps.AssociatedRecord)); + + AllItems.Add(new ItemSpec(ItemSpecID.TimeStamp2, Strings.Time_stamp+"2", (x, f, p, w) => string.IsNullOrEmpty(f) ? ((DateTime)x).ToString() : string.Format(f, (DateTime)x), ItemSpecCaps.ReferenceRecord)); + AllItems.Add(new ItemSpec(ItemSpecID.Workstep2, Strings.Workstep + "2", (x, f, p, w) => FormatStr(f, ((Workstep)x).Name), ItemSpecCaps.ReferenceRecord)); + AllItems.Add(new ItemSpec(ItemSpecID.Workplace2, Strings.Workplace + "2", (x, f, p, w) => FormatStr(f, x), ItemSpecCaps.ReferenceRecord)); + AllItems.Add(new ItemSpec(ItemSpecID.UserName2, Strings.User_name + "2", (x, f, p, w) => FormatStr(f, x), ItemSpecCaps.ReferenceRecord)); + AllItems.Add(new ItemSpec(ItemSpecID.Barcode2, Strings.Barcode + "2", (x, f, p, w) => FormatStr(f, x), ItemSpecCaps.ReferenceRecord)); + AllItems.Add(new ItemSpec(ItemSpecID.PartBarcode2, Strings.Part_barcode+"2", (x, f, p, w) => FormatStr(f, x), ItemSpecCaps.ReferenceRecord | ItemSpecCaps.AssociatedRecord)); + + AllItems.Add(new ItemSpec(ItemSpecID.SerialNr, Strings.Serial_nr, (x, f, p, w) => x as string, ItemSpecCaps.ReferenceRecord | ItemSpecCaps.OracleQuery)); + AllItems.Add(new ItemSpec(ItemSpecID.PurchaseOrder, Strings.Purchase_order, (x, f, p, w) => x as string, ItemSpecCaps.ReferenceRecord | ItemSpecCaps.OracleQuery)); + AllItems.Add(new ItemSpec(ItemSpecID.TestResult, Strings.Test_result, (x, f, p, w) => x as string, ItemSpecCaps.ReferenceRecord | ItemSpecCaps.OracleQuery)); + AllItems.Add(new ItemSpec(ItemSpecID.MaxPruefindex, Strings.Tests_count, (x, f, p, w) => x as string, ItemSpecCaps.ReferenceRecord | ItemSpecCaps.OracleQuery)); + AllItems.Add(new ItemSpec(ItemSpecID.MaxTestindexEx,Strings.Tests_count_and_rslt, (x, f, p, w) => x as string, ItemSpecCaps.ReferenceRecord | ItemSpecCaps.OracleQuery)); + AllItems.Add(new ItemSpec(ItemSpecID.TestBenchId, Strings.Test_bench_Id, (x, f, p, w) => x as string, ItemSpecCaps.ReferenceRecord | ItemSpecCaps.OracleQuery)); + + AllItems.Add(new ItemSpec(ItemSpecID.Process, Strings.Workflow, (x, f, p, w) => FormatStr(f, x is Process ? (x as Process).Name : ""), ItemSpecCaps.ReferenceRecord)); + AllItems.Add(new ItemSpec(ItemSpecID.Result, Strings.Result, (x, f, p, w) => FormatStr(f, ((int)x).ToString()), ItemSpecCaps.ReferenceRecord)); } @@ -183,6 +184,7 @@ namespace TracingDB case ItemSpecID.TestBenchId: return null; case ItemSpecID.Process: return Projections.Property(() => refRecord.Process); + case ItemSpecID.Result: return Projections.Property(() => refRecord.Result); default: return null; } @@ -216,6 +218,7 @@ namespace TracingDB case ItemSpecID.TestBenchId: return null; case ItemSpecID.Process: return Projections.Property(() => refRecord2.Process); + case ItemSpecID.Result: return Projections.Property(() => refRecord2.Result); default: return null; } diff --git a/TracingDB/Mappings/PartMap.cs b/TracingDB/Mappings/PartMap.cs index 0aeee6251..fd2fcad7e 100644 --- a/TracingDB/Mappings/PartMap.cs +++ b/TracingDB/Mappings/PartMap.cs @@ -13,7 +13,8 @@ namespace TracingDB.Mappings Map(x => x.CodeType); Map(x => x.CodeForm); Map(x => x.CodeLocation); - Map(x => x.LifetimeManagement); + Map(x => x.DefaultCode); + Map(x => x.LifetimeManagement); Map(x => x.StepNumber); References(x => x.Process); diff --git a/TracingDB/Properties/AssemblyInfo.cs b/TracingDB/Properties/AssemblyInfo.cs index 60422579d..c441011a9 100644 --- a/TracingDB/Properties/AssemblyInfo.cs +++ b/TracingDB/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("2.0.81.0")] -[assembly: AssemblyFileVersion("2.0.81.0")] +[assembly: AssemblyVersion("2.1.110.0")] +[assembly: AssemblyFileVersion("2.1.110.0")] diff --git a/TracingDB/Resources/Strings.Designer.cs b/TracingDB/Resources/Strings.Designer.cs index 87fabe372..37b4b3b21 100644 --- a/TracingDB/Resources/Strings.Designer.cs +++ b/TracingDB/Resources/Strings.Designer.cs @@ -249,6 +249,15 @@ namespace TracingDB.Resources { } } + /// + /// Looks up a localized string similar to Result. + /// + internal static string Result { + get { + return ResourceManager.GetString("Result", resourceCulture); + } + } + /// /// Looks up a localized string similar to Selected results. /// @@ -375,6 +384,15 @@ namespace TracingDB.Resources { } } + /// + /// Looks up a localized string similar to Workflow. + /// + internal static string Workflow { + get { + return ResourceManager.GetString("Workflow", resourceCulture); + } + } + /// /// Looks up a localized string similar to Workplace. /// diff --git a/TracingDB/Resources/Strings.resx b/TracingDB/Resources/Strings.resx index 38c8b3691..c014e1c47 100644 --- a/TracingDB/Resources/Strings.resx +++ b/TracingDB/Resources/Strings.resx @@ -228,4 +228,10 @@ Test bench Id + + Result + + + Workflow + \ No newline at end of file diff --git a/TracingDB/Resources/Strings.sk.resx b/TracingDB/Resources/Strings.sk.resx index 10b789719..ff21fab73 100644 --- a/TracingDB/Resources/Strings.sk.resx +++ b/TracingDB/Resources/Strings.sk.resx @@ -141,4 +141,10 @@ neuložený + + Výsledok + + + Pozícia + \ No newline at end of file diff --git a/TracingDB/TracingDB.csproj b/TracingDB/TracingDB.csproj index 401e9f38a..9a4b0f642 100644 --- a/TracingDB/TracingDB.csproj +++ b/TracingDB/TracingDB.csproj @@ -72,6 +72,7 @@ + Form