using System; using System.Collections.Generic; using System.Text; namespace DaoCommon { public class Salt2Header { public string afsender; public string modtager; public string transaktionForkortelse; } public class Salt2Helper { public static Salt2Header parseHeader(string salt2String) { Salt2Header header = new Salt2Header(); header.afsender = salt2String.Substring(0, 5); header.modtager = salt2String.Substring(5, 5); header.transaktionForkortelse = salt2String.Substring(55, 4); header.afsender = header.afsender.Trim().ToUpper(); header.modtager = header.modtager.Trim().ToUpper(); header.transaktionForkortelse = header.transaktionForkortelse.Trim().ToUpper(); return header; } public static bool validateSalt2Header(string salt2String) { if (salt2String.StartsWith("?")) { //addLogEntry("Illegal start character - discarding"); return false; } if (salt2String.Length < 66) { //addLogEntry("Transaction too short - discarding"); return false; } int result; long result_long; //string afsender = salt2String.Substring(0, 5); //string modtager = salt2String.Substring(5, 5); //string afsenderTegnSaet = salt2String.Substring(10, 6); //string standardNavn = salt2String.Substring(16, 6); string standardVersion = salt2String.Substring(22, 3); string afsenderSekvensnr = salt2String.Substring(25, 6); string afsenderTidsstempel = salt2String.Substring(31, 14); //string afsenderBakkeIdent = salt2String.Substring(45, 5); //string modtagerBakkeIdent = salt2String.Substring(50, 5); //string transaktionForkortelse = salt2String.Substring(55, 4); string transaktionsLaengde = salt2String.Substring(59, 5); string prioritet = salt2String.Substring(64, 1); if (int.TryParse(standardVersion.Trim(), out result) == false) // standardVersion _skal_ være en int { //addLogEntry("standardVersion not an integer, discarding"); return false; } if (int.TryParse(afsenderSekvensnr.Trim(), out result) == false) // afsenderSekvensnr _skal_ være en int { //addLogEntry("afsenderSekvensnr not an integer, discarding"); return false; } if (long.TryParse(afsenderTidsstempel.Trim(), out result_long) == false) // afsenderTidsstempel _skal_ være en long { //addLogEntry("afsenderTidsstempel not a long integer, discarding"); return false; } if (int.TryParse(transaktionsLaengde.Trim(), out result) == false) // transaktionsLaengde _skal_ være en int { //addLogEntry("transaktionsLaengde not an integer, discarding"); return false; } if (int.TryParse(prioritet.Trim(), out result) == false) // prioritet _skal_ være en int { //addLogEntry("prioritet not an integer, discarding"); return false; } return true; } } }