Blame view

Vrh.OneMessage/OneMessageParameters.cs 6.22 KB
ab9f2fbe   Schwirg László   Add project files.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
  using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Text;
  using System.Threading.Tasks;
  using Vrh.XmlProcessing;
  
  namespace Vrh.OneMessage
  {
      /// <summary>
      /// OneMessage üzenet kézbesítő komponens számára 
      /// szükséges paramétereket tartalmazza.
      /// !FIGYELEM: A név szerinti tulajdonságokat, nem a Parameters tulajdonságban kell átadni.
      /// </summary>
      /// <remarks>
      /// A Parameters gyűjtemény a OneMessage paraméter XML fájlban paraméterként
      /// megadott hivatkozások feloldására való.
      /// </remarks>
      public class OneMessageParameters
      {
          #region PROPERTIES
          /// <summary>
          /// OneMessage paraméterező XML fájl helyét meghatározó kapcsolati sztring.
          /// </summary>
          public string XmlConnectionString { get; set; }
  
          /// <summary>
          /// A relatív ("~") útvonal feloldásának mappája.
          /// Példányosítás után külön kell neki értéket adni.
          /// </summary>
          public string AppPath { get; set; }
  
          /// <summary>
          /// A paraméterező fájból melyik üzenetleíró alapján kell a kézbesítést megvalósítani.
          /// </summary>
          public string MessageId { get; set; }
  
          /// <summary>
          /// A paraméterező fájlban, ezt a nyelvű üzenetleírót kell alkalmazni.
          /// Ha üres, akkor az XmlParser nyelvi beállítása határozza meg.
          /// </summary>
          public string LCID { get; set; }
  
          /// <summary>
          /// A paraméterező fájlban megadott továbbítás leírók közül melyiket használja
          /// a kézbesítés végrehajtásához.
          /// </summary>        
          public string Delivery { get; set; }
  
          /// <summary>
          /// A paraméterező fájlban megadott címzettek felülírása.
          /// Ha ez a paraméter értéket tartalmaz, akkor ezen címzettek részére történik a kézbesítés.
          /// </summary>
          public string SendTo { get; set; }
  
          /// <summary>
          /// Kinek a nevében kell feladni az üzenetet.
          /// A paraméterező fájlban megadott feladók felülírása.
          /// Ha ebben van érték, akkor ez(ek) lesz(nek) a feladó(k).
          /// </summary>
          public string SendAs { get; set; }
  
  		/// <summary>
  		/// Az  e-mail serverre mutató kapcsolat leríró.
  		/// A paraméterező fájlban megadott kapcsolat leíró felülírása.
  		/// Ha ebben van érték, akkor ez lesz a kapcsolat leíró.
  		/// </summary>
  		public string ConnectionString{ get; set; }
  
  		/// <summary>
  		/// Másolatot kapó címzettek vesszővel (",") elválasztott listája.
  		/// A paraméterező fájlban megadott másolatot kapók felülírása.
  		/// Ha ebben van érték, akkor ezek a címzettek kapnak másolatot.
  		/// </summary>
  		public string SendCopyTo { get; set; }
  
          /// <summary>
          /// A paraméterező fájlban megadott csatolmányok felülírása.
          /// A csatolmányokat vesszővel (",") kell elválasztani egymástól.
          /// Ha ez a gyűjtemény tartalmaz csatolmányokat, akkor ezen csatolmányok lesznek a kézbesítendő
          /// üzenetben.
          /// </summary>
          public string Attachments { get; set; }
  
          /// <summary>
          /// A paraméterező fájlban megadott üzenet tárgyának felülírása.
          /// Ha ez a paraméter értéket tartalmaz, akkor ez lesz az üzenet tárgya.
          /// </summary>
          public string Subject { get; set; }
  
          /// <summary>
          /// A paraméterező fájlban megadott üzenet tartalom felülírása.
          /// Ha ez a paraméter értéket tartalmaz, akkor ez lesz az üzenet tartalma.
          /// </summary>
          public string MessageBody { get; set; }
  
          /// <summary>
          /// Egyéb paraméterek az XmlParser számára.
          /// </summary>
          public Dictionary<string, string> Parameters = new Dictionary<string, string>();
  
          #endregion PROPERTIES
  
          #region Constructors
          /// <summary>
          /// Alapértelmezett kontruktor.
          /// </summary>
          public OneMessageParameters() { }
  
          /// <summary>
          /// Példány létrehozása a két szótár alapján.
          /// </summary>
17c73aec   Schwirg László   Vrh.Web.Reporting...
113
114
115
          /// <param name="apppath"></param>
          /// <param name="firstlist">Alap paraméterek szótára.</param>
          /// <param name="secondlist">Egyéb paramáterek szótára.</param>
ab9f2fbe   Schwirg László   Add project files.
116
117
118
          /// <exception cref="System.ApplicationException">
          /// Ha 
          /// </exception>
17c73aec   Schwirg László   Vrh.Web.Reporting...
119
          public OneMessageParameters(List<KeyValuePair<string,string>> firstlist, List<KeyValuePair<string, string>> secondlist=null, string apppath="")
ab9f2fbe   Schwirg László   Add project files.
120
          {
17c73aec   Schwirg László   Vrh.Web.Reporting...
121
122
123
124
              this.AppPath = apppath; if (string.IsNullOrEmpty(this.AppPath)) { this.AppPath = ""; }
              var EMPTYLIST = new List<KeyValuePair<string, string>>();
              var allparameters = (firstlist ?? EMPTYLIST).Concat(secondlist ?? EMPTYLIST);
              foreach (var item in allparameters) 
ab9f2fbe   Schwirg László   Add project files.
125
              {
17c73aec   Schwirg László   Vrh.Web.Reporting...
126
127
128
                  if (string.IsNullOrWhiteSpace(item.Key)) continue;
                  var value = item.Value;
                  switch (item.Key)
ab9f2fbe   Schwirg László   Add project files.
129
                  {
17c73aec   Schwirg László   Vrh.Web.Reporting...
130
131
132
133
134
135
136
137
138
139
140
141
                      case Constants.UParam.XML: this.XmlConnectionString = value; break;
                      case Constants.UParam.LCID: this.LCID = value; break;
                      case Constants.UParam.MSGID: this.MessageId = value; break;
                      case Constants.UParam.DELIVERY: this.Delivery = value; break;
                      case Constants.UParam.SENDAS: this.SendAs = value; break;
                      case Constants.UParam.CONNSTR: this.ConnectionString = value; break;
                      case Constants.UParam.SENDCOPYTO: this.SendCopyTo = value; break;
                      case Constants.UParam.SENDTO: this.SendTo = value; break;
                      case Constants.UParam.SUBJECT: this.Subject = value; break;
                      case Constants.UParam.MSGBODY: this.MessageBody = value; break;
                      case Constants.UParam.ATTACHMENTS: this.Attachments = value; break;
                      default: if (Parameters.ContainsKey(item.Key)) { this.Parameters[item.Key] = value; } else { Parameters.Add(item.Key, value); } break;
ab9f2fbe   Schwirg László   Add project files.
142
143
144
145
                  }
              }
          }
          #endregion Constructors
ab9f2fbe   Schwirg László   Add project files.
146
147
      }
  }