TechGeek

Untitled

Apr 28th, 2020
294
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.     public class Tester
  2.     {
  3.         public const string TEXT_HEADER = "abc-test1";
  4.         public const string PROC_HEADER = "prt-test2";
  5.         // ... some more header keys
  6.  
  7.         public int TextId { get; set; }
  8.         public int TextIdHeader { get; set; }
  9.  
  10.         public string ProcId { get; set; }
  11.         public string ProcIdHeader { get; set; }
  12.  
  13.         public string DbId { get; set; }
  14.         public string DbIdHeader { get; set; }
  15.  
  16.         public string ContextHeader { get; set; }
  17.         public ContextStr ContextStr { get; set; }
  18.  
  19.         public string LocalHeader { get; set; }
  20.         public LocalStr LocalStr { get; set; }
  21.  
  22.         public static string GenerateDbId() => GenerateId();
  23.         public static string GenerateThetaId() => GenerateId();
  24.         public static string GenerateProcId() => Guid.NewGuid().ToString();
  25.  
  26.         private static string GenerateId()
  27.         {
  28.             var data = Guid.NewGuid().ToByteArray();
  29.             var byteData = BitConverter.ToUInt64(data, 0);
  30.             return byteData.ToString();
  31.         }
  32.  
  33.         public Tester() { }
  34.  
  35.         public Tester(IDictionary<string, StringValues> headers)
  36.         {
  37.           // exactly same content as I mentioned in my original answer
  38.         }
  39.  
  40.         private string GetHeaderValue(IDictionary<string, StringValues> headers, string headerKey)
  41.         {
  42.             headers.TryGetValue(headerKey, out var headerValues);
  43.             if (headerValues.Count > 0) return headerValues[0];
  44.             return null;
  45.         }
  46.     }
RAW Paste Data