/[projects]/dao/DaoMqPump2/DaoCommon/Salt2Helper.cs
ViewVC logotype

Contents of /dao/DaoMqPump2/DaoCommon/Salt2Helper.cs

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2174 - (show annotations) (download)
Sat May 17 11:25:26 2014 UTC (10 years ago) by torben
File size: 3578 byte(s)
Handle mq headers as upper-case trimmed string
1 using System;
2 using System.Collections.Generic;
3 using System.Text;
4
5 namespace DaoCommon
6 {
7 public class Salt2Header
8 {
9 public string afsender;
10 public string modtager;
11
12 public string transaktionForkortelse;
13 }
14
15 public class Salt2Helper
16 {
17
18 public static Salt2Header parseHeader(string salt2String)
19 {
20 Salt2Header header = new Salt2Header();
21
22 header.afsender = salt2String.Substring(0, 5);
23 header.modtager = salt2String.Substring(5, 5);
24 header.transaktionForkortelse = salt2String.Substring(55, 4);
25
26 header.afsender = header.afsender.Trim().ToUpper();
27 header.modtager = header.modtager.Trim().ToUpper();
28 header.transaktionForkortelse = header.transaktionForkortelse.Trim().ToUpper();
29
30 return header;
31 }
32
33
34 public static bool validateSalt2Header(string salt2String)
35 {
36 if (salt2String.StartsWith("?"))
37 {
38 //addLogEntry("Illegal start character - discarding");
39 return false;
40 }
41
42 if (salt2String.Length < 66)
43 {
44 //addLogEntry("Transaction too short - discarding");
45 return false;
46 }
47
48
49 int result;
50 long result_long;
51
52 //string afsender = salt2String.Substring(0, 5);
53 //string modtager = salt2String.Substring(5, 5);
54 //string afsenderTegnSaet = salt2String.Substring(10, 6);
55 //string standardNavn = salt2String.Substring(16, 6);
56 string standardVersion = salt2String.Substring(22, 3);
57 string afsenderSekvensnr = salt2String.Substring(25, 6);
58 string afsenderTidsstempel = salt2String.Substring(31, 14);
59 //string afsenderBakkeIdent = salt2String.Substring(45, 5);
60 //string modtagerBakkeIdent = salt2String.Substring(50, 5);
61 //string transaktionForkortelse = salt2String.Substring(55, 4);
62 string transaktionsLaengde = salt2String.Substring(59, 5);
63 string prioritet = salt2String.Substring(64, 1);
64
65
66
67 if (int.TryParse(standardVersion.Trim(), out result) == false) // standardVersion _skal_ være en int
68 {
69 //addLogEntry("standardVersion not an integer, discarding");
70 return false;
71 }
72
73 if (int.TryParse(afsenderSekvensnr.Trim(), out result) == false) // afsenderSekvensnr _skal_ være en int
74 {
75 //addLogEntry("afsenderSekvensnr not an integer, discarding");
76 return false;
77 }
78
79 if (long.TryParse(afsenderTidsstempel.Trim(), out result_long) == false) // afsenderTidsstempel _skal_ være en long
80 {
81 //addLogEntry("afsenderTidsstempel not a long integer, discarding");
82 return false;
83 }
84
85 if (int.TryParse(transaktionsLaengde.Trim(), out result) == false) // transaktionsLaengde _skal_ være en int
86 {
87 //addLogEntry("transaktionsLaengde not an integer, discarding");
88 return false;
89 }
90
91 if (int.TryParse(prioritet.Trim(), out result) == false) // prioritet _skal_ være en int
92 {
93 //addLogEntry("prioritet not an integer, discarding");
94 return false;
95 }
96
97 return true;
98 }
99 }
100 }

  ViewVC Help
Powered by ViewVC 1.1.20