@@ -10,65 +10,6 @@ namespace Common.Axiom.Entities.Fixes.FileFix;
1010/// </summary>
1111public sealed class FileFixEntity : BaseFixEntity
1212{
13- public FileFixEntity ( )
14- {
15- }
16-
17- [ SetsRequiredMembers ]
18- public FileFixEntity ( bool _ )
19- {
20- Name = string . Empty ;
21- Version = "1.0" ;
22- Guid = Guid . NewGuid ( ) ;
23- Description = null ;
24- Changelog = null ;
25- Dependencies = null ;
26- Tags = null ;
27- SupportedOSes = OSEnum . Windows ;
28- IsDisabled = false ;
29-
30- Url = null ;
31- FileSize = null ;
32- InstallFolder = null ;
33- ConfigFile = null ;
34- FilesToDelete = null ;
35- FilesToBackup = null ;
36- FilesToPatch = null ;
37- RunAfterInstall = null ;
38- MD5 = null ;
39- SharedFixGuid = null ;
40- SharedFix = null ;
41- SharedFixInstallFolder = null ;
42- WineDllOverrides = null ;
43- }
44-
45- [ SetsRequiredMembers ]
46- public FileFixEntity ( BaseFixEntity fix )
47- {
48- Name = fix . Name ;
49- Version = fix . Version ;
50- Guid = fix . Guid ;
51- Description = fix . Description ;
52- Changelog = fix . Changelog ;
53- Dependencies = fix . Dependencies ;
54- Tags = fix . Tags ;
55- SupportedOSes = fix . SupportedOSes ;
56- IsDisabled = fix . IsDisabled ;
57-
58- Url = null ;
59- FileSize = null ;
60- InstallFolder = null ;
61- ConfigFile = null ;
62- FilesToDelete = null ;
63- FilesToBackup = null ;
64- RunAfterInstall = null ;
65- MD5 = null ;
66- SharedFixGuid = null ;
67- SharedFix = null ;
68- SharedFixInstallFolder = null ;
69- WineDllOverrides = null ;
70- }
71-
7213 /// <summary>
7314 /// Download URL
7415 /// </summary>
@@ -141,8 +82,14 @@ public string? RunAfterInstall
14182 /// <summary>
14283 /// Zip archive MD5
14384 /// </summary>
85+ [ Obsolete ]
14486 public string ? MD5 { get ; set ; }
14587
88+ /// <summary>
89+ /// Zip archive MD5
90+ /// </summary>
91+ public string ? Sha256 { get ; set ; }
92+
14693 /// <summary>
14794 /// List of files that will be backed up and patched with filename.octodiff patch
14895 /// </summary>
@@ -205,6 +152,73 @@ public override bool IsOutdated
205152 }
206153 }
207154
155+
156+ public FileFixEntity ( )
157+ {
158+ }
159+
160+
161+ [ SetsRequiredMembers ]
162+ public FileFixEntity ( BaseFixEntity fix )
163+ {
164+ Name = fix . Name ;
165+ Version = fix . Version ;
166+ Guid = fix . Guid ;
167+ Description = fix . Description ;
168+ Changelog = fix . Changelog ;
169+ Dependencies = fix . Dependencies ;
170+ Tags = fix . Tags ;
171+ SupportedOSes = fix . SupportedOSes ;
172+ IsDisabled = fix . IsDisabled ;
173+
174+ Url = null ;
175+ FileSize = null ;
176+ InstallFolder = null ;
177+ ConfigFile = null ;
178+ FilesToDelete = null ;
179+ FilesToBackup = null ;
180+ RunAfterInstall = null ;
181+ MD5 = null ;
182+ Sha256 = null ;
183+ SharedFixGuid = null ;
184+ SharedFix = null ;
185+ SharedFixInstallFolder = null ;
186+ WineDllOverrides = null ;
187+ }
188+
189+
190+ public static FileFixEntity CreateBlank ( )
191+ {
192+ return new ( )
193+ {
194+ Name = string . Empty ,
195+ Version = "1.0" ,
196+ Guid = Guid . NewGuid ( ) ,
197+ Description = null ,
198+ Changelog = null ,
199+ Dependencies = null ,
200+ Tags = null ,
201+ SupportedOSes = OSEnum . Windows ,
202+ IsDisabled = false ,
203+
204+ Url = null ,
205+ FileSize = null ,
206+ InstallFolder = null ,
207+ ConfigFile = null ,
208+ FilesToDelete = null ,
209+ FilesToBackup = null ,
210+ FilesToPatch = null ,
211+ RunAfterInstall = null ,
212+ MD5 = null ,
213+ Sha256 = null ,
214+ SharedFixGuid = null ,
215+ SharedFix = null ,
216+ SharedFixInstallFolder = null ,
217+ WineDllOverrides = null
218+ } ;
219+ }
220+
221+
208222 public FileFixEntity Clone ( )
209223 {
210224 return new ( )
@@ -213,21 +227,22 @@ public FileFixEntity Clone()
213227 Version = this . Version ,
214228 Guid = this . Guid ,
215229 Description = this . Description ,
216- Dependencies = this . Dependencies ,
217- Tags = this . Tags ,
230+ Dependencies = this . Dependencies ? . ToList ( ) ,
231+ Tags = this . Tags ? . ToList ( ) ,
218232 SupportedOSes = this . SupportedOSes ,
219233 Url = this . Url ,
220234 InstallFolder = this . InstallFolder ,
221235 ConfigFile = this . ConfigFile ,
222- FilesToDelete = this . FilesToDelete ,
223- FilesToBackup = this . FilesToBackup ,
224- FilesToPatch = this . FilesToPatch ,
236+ FilesToDelete = this . FilesToDelete ? . ToList ( ) ,
237+ FilesToBackup = this . FilesToBackup ? . ToList ( ) ,
238+ FilesToPatch = this . FilesToPatch ? . ToList ( ) ,
225239 RunAfterInstall = this . RunAfterInstall ,
226240 MD5 = this . MD5 ,
241+ Sha256 = this . Sha256 ,
227242 SharedFixGuid = this . SharedFixGuid ,
228- SharedFix = this . SharedFix ,
243+ SharedFix = this . SharedFix ? . Clone ( ) ,
229244 SharedFixInstallFolder = this . SharedFixInstallFolder ,
230- WineDllOverrides = this . WineDllOverrides ,
245+ WineDllOverrides = this . WineDllOverrides ? . ToList ( ) ,
231246 FileSize = this . FileSize
232247 } ;
233248 }
0 commit comments