Blame view

Vrh.Log4Pro.MaintenanceConsole/Vrh.NugetModuls.Documentations/VRH.Common/ReadMe.md 13.6 KB
e76b5118   Schwirg László   FileCleanerManage...
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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
  # Vrh.Common
  A modul a Vonalkód Rendszerház fejlesztési környezetében szabványosított és
  hasznosan alkalmazható eszközeinek gyűjtőhelye.
  
  > Igényelt minimális framework verzió: **4.5**
  
  > Teljes funkcionalitás és hatékonyság kihasználásához szükséges legalacsonyabb framework verzió: **4.5**
  
  # Főbb összetevők
  ### Interfészek
  * **[IManage](##IManage)**
  
  ### Standard osztályok
  * **[CheckListJSON](##CheckListJSON)**
  * **[ReturnInfoJSON](##ReturnInfoJSON)**
  * **[SelectListJSON](##SelectListJSON)**
  
  ## IManage
  Generikus interfész, melyben azt a típust kell megadni, amely menedzselését végzi.
  ```javascript
  /// <summary>
  /// Meghatározza és előírja egy karbantartást és hozzáférést 
  /// biztosító osztály elvárt tulajdonságait és módszereit.
  /// </summary>
  public interface IManage<T>
  {
      /// <summary>
      /// A kezelt típust össze egyedét szolgáltató tulajdonság.
      /// </summary>
      List<T> All { get; }
  
      /// <summary>
      /// A kezelt típus egy elemét adja vissza az egyedi azonosító segítségével.
      /// </summary>
      /// <param name="id">Az elem egyedi azonosítója.</param>
      /// <returns></returns>
      T Get(int id);
      /// <summary>
      /// A kezelt típus egy elemét adja vissza a megadott név segítségével.
      /// </summary>
      /// <param name="name">Az elem egyedi neve.</param>
      /// <returns></returns>
      T Get(string name);
  
      /// <summary>
      /// Létrehozza a kezelt típus egy elemét.
      /// </summary>
      /// <param name="item">A kezelt típus egy eleme, amit hozzá kell adni.</param>
      void Create(T item);
  
      /// <summary>
      /// A kezelt típus egy elemét törli az egyedi azonosító alapján.
      /// </summary>
      /// <param name="id">A törlendő elem egyedi azonosítója.</param>
  	void Delete(int id);
      /// <summary>
      /// A kezelt típus egy elemét törli az egyedi neve alapján.
      /// </summary>
      /// <param name="name">A törlendő elem egyedi neve.</param>
  	void Delete(string name);
  
      /// <summary>
      /// A kezelt típus egy elemének módosítása.
      /// Ha nem létezik az hiba.
      /// </summary>
      /// <param name="item">A kezelt típus egy eleme.</param>
      void Update(T item);
  }
  ```
  
  ## CheckListJSON
  ```javascript
  /// <summary>
  /// Egy meghívott akció válaszüzenetének egy lehetséges meghatározott szerkezete.
  /// Valamely lista ellenőrzéshez használható, amelyben a Checked oszlopban jelölhető az ellenőrzés eredménye.
  /// </summary>
  public class CheckListJSON
  {
      /// <summary>
      /// Az ellenőrzendő illetve ellenőrzött azonosító.
      /// </summary>
      public string Value { get; set; }
  
      /// <summary>
      /// Az ellenőrzéskor megtalált név vagy leíró.
      /// </summary>
      public string Text { get; set; }
  
      /// <summary>
      /// Az ellenőrzés eredményét jelző logikai érték, mely a felhasználáskor
      /// az üzleti logikától függ.
      /// </summary>
      public bool Checked { get; set; }
  }
  ```
  
  ## ReturnInfoJSON
  ```javascript
  /// <summary>
  /// Egy meghívott akció válaszüzenetének egy lehetséges meghatározott szerkezete.
  /// A válasz érték (ReturnValue) és üzenet (ReturnMessage) formájú. 
  /// Sikeres végrehajtás esetén mindig 0 legyen a ReturnValue.
  /// Sikertelen esetben ettől eltérő, de ha nincs egyéb ok, akkor hiba esetén legyen -1.
  /// Alapértelmezett érték: 0, "Az indított akció sikeresen lezajlott!" }
  /// </summary>
  public class ReturnInfoJSON
  {
      /// <summary>
      /// Egy reprezentatív értéke, mely a sikerességtől függ.
      /// Ha nincs hiba az akció végrehajtásában, akkor 0 legyen az értéke.
      /// Alapértelmezett értéke: 0
      /// </summary>
      public int ReturnValue { get; set; } = 0;
  
      /// <summary>
      /// Az akció üzenete. Hiba esetén a hibaüzenet szövege.
      /// Alapértelmezett értéke: "Az indított akció sikeresen lezajlott!"
      /// </summary>
      public string ReturnMessage { get; set; } = "Az indított akció sikeresen lezajlott!";
  }
  ```
  
  ## SelectListJSON
  ```javascript
  /// <summary>
  /// Egy meghívott akció válaszüzenetének egy lehetséges meghatározott szerkezete.
  /// Egy listához használható, mely értékeit és azonosítóit fel lehet használni.
  /// </summary>
  /// <remarks>
  /// Egyenértékű a System.Web.Mvc.SelectListItem osztállyal, de nem onnan származik.
  /// Az ott szereplő leírás: 
  /// "Represents the selected item in an instance of the System.Web.Mvc.SelectList class."
  /// </remarks>
  public class SelectListJSON 
  {
      /// <summary>
      /// Jelzi, hogy ez az elem a listában letiltott.
      /// </summary>
      public bool Disabled { get; set; }
  
      /// <summary>
      /// A csoport jelölése. Alapértelmezett értéke: null
      /// </summary>
      public SelectListGroup Group { get; set; }
  
      /// <summary>
      /// Jelzi, hogy ez az elem a listában kiválasztott.
      /// </summary>
      public bool Selected { get; set; }
  
      /// <summary>
      /// A listelem szövege, ami megjelenik.
      /// </summary>
      public string Text { get; set; }
  
      /// <summary>
      /// A listelem értéke.
      /// </summary>
      public string Value { get; set; }
  }
  
  #region SelectListGroup public class
  /// <summary>
  /// Represents the optgroup HTML element and its attributes. In a select list, 
  /// multiple groups with the same name are supported. 
  /// They are compared with reference equality.
  /// </summary>
  /// <remarks>
  /// A System.Mvc.SelectListItem-mel való kompatibilitás miatt van itt.
  /// A 'summary' szövege is onnan másolt.
  /// </remarks>
  public class SelectListGroup
  {
      /// <summary>
      /// Beállítja, hogy az adott csoport engedélyezett-e.
      /// </summary>
      public bool Disabled { get; set; }
  
      /// <summary>
      /// A csoport neve.
      /// </summary>
      public string Name { get; set; }
  }
  #endregion SelectListGroup public class
  ```
  
  
2c000e17   Schwirg László   v1.18.1
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
  ### Version History:
  #### 2.25.0 (2022.10.23) Compatible change:
  - SmartOrder kiterjesztés kibővítése úgy, hogy navigációs tulajdonságok rendezését is elvégezze.
  Például mostantól elfogadja a propertyName paraméterben a "Warehouse.Name" vagy "Warehouse.Type.Name"
  rendezésre vonatkozó rendezési kérést is.  
  #### 2.24.1 Patch (nuget: 2022.10.11):
  #### 2.24.0 Compatible (nuget: 2022.10.11):
  - WildCardToRegex osztály létrehozása
  #### 2.23.1 Compatible (nuget: 2022.05.25):
  SelectListJSON strukturába a Value alias-aként az Id mező beillesztése
  #### 2.23.0 Compatible (nuget: 2022.01.31):
  - VrhCommon / LoadProperties metódus beillesztése
  - Extensions.IQueriable / ToTraceQuery és ToTraceString beillesztése
  #### 2.22.0 Compatible (nuget: 2021.12.03):
  -StringConstructorban regex group alapú ResolveConstructor megvalósítása
  #### 2.21.3 Patch (nuget):
  #### 2.21.2 Patch (nuget):
  - a StringConstructor.ResolveConstructor metódusok nem voltak rekurzívak, tehát ha egy változó értékében másik változó hivatkozás volt,
  akkor azt már nem oldotta fel; bevezetésre kerültek az azonos paraméterezésű ResolveConstructorR metódusok, amelyek már ebben az értelemben rekurzívan működnek
  #### 2.21.1 Patch (nuget):
  #### 2.21.0 Compatible (nuget):
  -StringConstructorban az adatrész kijelölés formátumának módosítása és a feldolgozás ennek megfelelő átalakítása
  #### 2.20.1 Patch (nuget):
  -StringConstructor.ResolveConstructor azonnal visszatér a megadott constructor értékével, ha az null, vagy nincs benne más csak whitespace, vagy ha a helyettesítő szótár üres;
  #### 2.20.0 Patch (nuget):
  - StringConstructor.ResolveConstructor-nak több varname separatort is meg lehet adni; a paraméterben
  a karakterpárok jelentik az alternatívákat, tehát a "{}@@" varnameseparator string a {} és a @@ karakterpárokat jelöli ki szeparátoroknak
  - ezen kívül javításra került egy hiba, ami az azonos bal és jobb zárókarakterekkel rendelkező varnameseparator értékenél hibás működést eredményezett
  #### 2.19.1 Patch (nuget):
  - CommandLine osztályban egy string indexelési hiba javítása
  #### 2.19.0  Compatible change (nuget):
  - XmlEscapes és AsciiControlCharacters string extension osztályok megvalósítása
  #### 2.18.1  Patch (nuget):
  #### 2.18.0  Compatible change (nuget):
  - ReturnInfoJSON struktúra kiegészítése egy "object ReturnData" mezővel.
  #### 2.17.1  Patch (nuget):
  #### 2.17.0  Patch (nuget):
  - A ResolveConstructor metódusok rendberakása; volt benne egy felesleges funkció, amit kitöröltem, emiatt azonban ez a metódus
  nem kompatibilis a 16.xx verziókkal, de a használó program újrafordítás után (mindennemű változtatás nélkül) ismét menni fog.
  Bocs, nem akartam 3-as verzióra térni.
  #### 2.16.2  Patch (nuget):
  #### 2.16.1  Compatible change (nuget):
  - Bekerült egy újabb ResolveConstructor metódus a StringConstructor osztályba
  #### 2.16.0  Compatible change (nuget):
  - Bekerült egy újabb ResolveConstructor metódus a StringConstructor osztályba, ami lehetővé teszi, hogy
  a konstruktor egy adatelem egy részkaraktersorozatának (substring) kiemelését írja elő {DENAME:from,len} formában
  
  #### 2.15.0-2 Compatible change (nuget):
  - Adding extension methods for integral types
  
  #### 2.14.1-3 Compatible change (nuget):
  - StringConstructor osztályban a nevekben lehet . (pont) karaktert használni, hogy megengedje a minősített neveket
  
  #### 2.14.0 Compatible change (nuget):
  - StringConstructor osztály hozzáadása
  
e76b5118   Schwirg László   FileCleanerManage...
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
  #### 2.13.2 (2020.03.27) Patches:    
  - NuGet csomag módosítása úgy, hogy a modul ReadMe.md "Build Action" tulajdonsága "None" legyen a telepítés után. Install.ps1 hozzáadása.
  
  #### 2.13.1 (2020.03.26) Patches:    
  - Felesleges függések törlése.
  - XML comment dokumentáció pontosítása.
  
  #### 2.13.0 (2020.03.19) Compatible changes:    
  - Vrh.Web.Common.Lib egyes elemeinek átemelése ide
  
  #### 2.12.1 (2020.02.13) Patches:    
  - SelectListJSON egyenlőség vizsgálat javítása
  
  #### 2.12.0 (2020.02.13) Compatible changes:    
  - SelectListJSON struktúrába beépítésre került egy speciális egyenlőség vizsgálat, amely a Value, a Text és a Group mezők értékének egyenlősége
  esetén ad igaz értéket; a Disabled és a Selected mezők értéke az egyenlőség vizsgálatban nem játszik szerepet
  - CheckListJSON és ReturnInfoJSON strukturákhoz analóg módon, mely ugyanezekkel a feltételekkel dolgozik.
  
  #### 2.11.1-3 (2019.12.19) Compatible changes:    
  - CommandLine class hibák javítása.
  
  #### 2.11.0 (2019.12.17) Compatible changes:    
  - Topshelf formátumú parancssori paraméterek kezelése: -NAME:value
   
  #### 2.10.1 (2019.12.17) Patches:    
  - CommandLine osztályban egy javítás
  
  #### 2.10.1 (2019.12.05) Patches:    
  - SerializeObject metódusban a string-ek külön kezelése.
  
  #### 2.10.0 (2019.10.08) Compatible changes:      
  - ToEnum string extension hozzáadása, amelyik egy stringből megadott tipusú enumra konvertál, vagy a típus (Enum) defaultját adja
  
  #### 2.9.0 (2019.09.12) Compatible changes:      
  - EntryAsseblyFixer static class hozzáadása, ami beállítja  amegfelelő EntryAssembly-t, ha az alakalmazás tér dinamikus hostolású, ahol null, vagy dynamic az EntryAssembly
  - EntryAsseblyFixer egység tesztjei
  
  ## 2.8.1 (2019.09.07):
  ### Patch:
  - Name property típusa javítva.
  
  ## v2.8.0 (2019.09.06):
  ### Compatibility API changes:
  - ReturnDictJSON adatstruktúra hozzáadva.
  
  ## 2.7.0 (2019.08.15) Compatible changes:      
  ### Compatibility API changes:      
  - Az EntityFramework extension bővítése az AlreadyOrdered függvénynel, amely megmondja egy IQueryable-ről, hogy rendezett-e már (tehát a további rendezéséhez az OrderBy, vagy a ThenBy-t kell-e használni)
  
  ## 2.6.0 (2019.08.01) Compatible changes:      
  ### Compatibility API changes:      
  - Extensions bővítése az EntityFramework extension-nel, EntityFrameworkQueryHelper bővítő osztály, SmartOrder bővítő metódus (IQueryable típusra)
  
  ## 2.5.0 (2019.07.10) Compatible changes:      
  ### Compatibility API changes:      
  - ExtensionMethods bővítése az Enum extensionssel, Enumdata attribútum osztály
  
  ## 2.3.0 (2019.05.14) Compatible changes:      
  - IManage interfész áthelyezése Vrh.Web.Common.Lib 1.18.1-es változatából.
  - Standard osztályok (CheckListJSON, ReturnInfoJSON, SelectListJSON) áthelyezése Vrh.Web.Common.Lib 1.18.1-es változatából.
  
  ## 2.2.0 (2018.12.17)
  ### Compatible changes:      
  - VrhConvert.SerializeObject Private metódus publikussá tétele.
  
  ## 2.1.0 (2018.12.17)
  ### Compatible changes:      
  - Új függvények beillesztése a conversion részbe. 
  
  ## 2.0.1 (2018.12.12)
  ### Patches:      
  - ConnandLine osztály metóduasdinak kommentezése és egy apró javítás: a GetCommandLineArgument lekezeli, ha az argumentname paramétere üres string.
  
  ## 2.0.0 (2018.11.28)
  ### Braking change:
  - 3.5-ös .Net framwork verzi támogatásának megszüntetése új target verzió: 4.5
  ### Compatibility API changes:      
  - CommandLine static segéd osztály hozzáadása 
  
  ## 1.13.0 (2017.04.04)
  ### Compatibility API changes:      
  - String Extension method: FromHexOrThis      
  
  ## 1.12.0 (2017.03.29)     
  ### Compatibility API changes:      
  - FixStack class hozzáadása
  ### Patches:
  - UnitTest method elnevezések javítása (konvenció kidolgozása)
  
  ## 1.11.0 (2017.03.28)     
  ### Compatibility API changes:      
  - Assembly Extension methodok: Version, AssemblyAttribute
  
  ## 1.10.0 (2017.03.16)     
  ### Compatibility API changes:      
  - StringBuilder Extension methodok: AppendWithSeparator, Reverse      
  ### Patches:
  - Extension methodok helyének hozzáadása.
  - Test projekt hozzáadása 
  
  ## V1.9.2 (2017.02.21)
  ### Patches:
  - Projekt könyvrtárszerkezet rendbetétele.
  - AutoBuild Vrh Nuget csomaggá alakítás (összes Nuget-tel kapcsolatos elvárás átvezetése)
  - MinFramweork meghatározás