Serialize converters were added
This commit is contained in:
16
StructureHelperCommon/Models/Analyses/IVisualAnalysis.cs
Normal file
16
StructureHelperCommon/Models/Analyses/IVisualAnalysis.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using StructureHelperCommon.Infrastructures.Interfaces;
|
||||
using StructureHelperCommon.Models.Analyses;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace StructureHelperCommon.Models.Analyses
|
||||
{
|
||||
public interface IVisualAnalysis : ISaveable
|
||||
{
|
||||
IAnalysis Analysis {get;set;}
|
||||
void Run();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
using StructureHelperCommon.Infrastructures.Exceptions;
|
||||
using StructureHelperCommon.Infrastructures.Interfaces;
|
||||
using StructureHelperCommon.Infrastructures.Settings;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Documents;
|
||||
|
||||
namespace StructureHelperCommon.Models.Projects
|
||||
{
|
||||
public class CheckFileVersionLogic : ICheckLogic
|
||||
{
|
||||
private const string checkIsGood = "Checking is good";
|
||||
|
||||
public IFileVersion? FileVersion { get; set; }
|
||||
public string CheckResult { get; private set; } = string.Empty;
|
||||
|
||||
public IShiftTraceLogger? TraceLogger { get; set; }
|
||||
|
||||
public bool Check()
|
||||
{
|
||||
if (FileVersion is null)
|
||||
{
|
||||
throw new StructureHelperException(ErrorStrings.ParameterIsNull + ": File Version");
|
||||
}
|
||||
var currentVersion = ProgramSetting.GetCurrentFileVersion();
|
||||
if (currentVersion.VersionNumber < FileVersion.VersionNumber)
|
||||
{
|
||||
string message = $"File version {FileVersion.VersionNumber} is bigger than suitable version {currentVersion.VersionNumber}";
|
||||
TraceLogger?.AddMessage(message, TraceLogStatuses.Error);
|
||||
CheckResult += message;
|
||||
return false;
|
||||
}
|
||||
if (currentVersion.SubVersionNumber < FileVersion.SubVersionNumber)
|
||||
{
|
||||
string message = $"File version {FileVersion.VersionNumber}.{FileVersion.SubVersionNumber} is bigger than suitable version {currentVersion.VersionNumber}.{currentVersion.VersionNumber}";
|
||||
TraceLogger?.AddMessage(message, TraceLogStatuses.Error);
|
||||
CheckResult += message;
|
||||
return false;
|
||||
}
|
||||
CheckResult += checkIsGood;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
23
StructureHelperCommon/Models/Projects/FileVersion.cs
Normal file
23
StructureHelperCommon/Models/Projects/FileVersion.cs
Normal file
@@ -0,0 +1,23 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace StructureHelperCommon.Models.Projects
|
||||
{
|
||||
public class FileVersion : IFileVersion
|
||||
{
|
||||
public Guid Id { get; }
|
||||
public int VersionNumber { get; set; }
|
||||
public int SubVersionNumber { get; set; }
|
||||
public FileVersion(Guid id)
|
||||
{
|
||||
Id = id;
|
||||
}
|
||||
public FileVersion() : this(Guid.NewGuid())
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
using StructureHelperCommon.Infrastructures.Interfaces;
|
||||
using StructureHelperCommon.Services;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace StructureHelperCommon.Models.Projects
|
||||
{
|
||||
public class FileVersionUpdateStrategy : IUpdateStrategy<IFileVersion>
|
||||
{
|
||||
public void Update(IFileVersion targetObject, IFileVersion sourceObject)
|
||||
{
|
||||
CheckObject.IsNull(targetObject, sourceObject);
|
||||
if (ReferenceEquals(targetObject, sourceObject)) { return; };
|
||||
targetObject.VersionNumber = sourceObject.VersionNumber;
|
||||
targetObject.SubVersionNumber = sourceObject.SubVersionNumber;
|
||||
}
|
||||
}
|
||||
}
|
||||
15
StructureHelperCommon/Models/Projects/IFileVersion.cs
Normal file
15
StructureHelperCommon/Models/Projects/IFileVersion.cs
Normal file
@@ -0,0 +1,15 @@
|
||||
using StructureHelperCommon.Infrastructures.Interfaces;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace StructureHelperCommon.Models.Projects
|
||||
{
|
||||
public interface IFileVersion : ISaveable
|
||||
{
|
||||
int VersionNumber { get; set; }
|
||||
int SubVersionNumber { get; set; }
|
||||
}
|
||||
}
|
||||
19
StructureHelperCommon/Models/Projects/IProject.cs
Normal file
19
StructureHelperCommon/Models/Projects/IProject.cs
Normal file
@@ -0,0 +1,19 @@
|
||||
using StructureHelperCommon.Infrastructures.Interfaces;
|
||||
using StructureHelperCommon.Models.Analyses;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace StructureHelperCommon.Models.Projects
|
||||
{
|
||||
public interface IProject : ISaveable
|
||||
{
|
||||
string FullFileName { get; set; }
|
||||
string FileName { get; }
|
||||
bool IsNewFile { get; set; }
|
||||
bool IsActual { get; set; }
|
||||
List<IVisualAnalysis> VisualAnalyses { get;}
|
||||
}
|
||||
}
|
||||
31
StructureHelperCommon/Models/Projects/Project.cs
Normal file
31
StructureHelperCommon/Models/Projects/Project.cs
Normal file
@@ -0,0 +1,31 @@
|
||||
using StructureHelperCommon.Infrastructures.Interfaces;
|
||||
using StructureHelperCommon.Models.Analyses;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace StructureHelperCommon.Models.Projects
|
||||
{
|
||||
public class Project : IProject
|
||||
{
|
||||
public Guid Id { get; }
|
||||
public string FullFileName { get; set; } = string.Empty;
|
||||
public bool IsActual { get; set; } = true;
|
||||
public List<IVisualAnalysis> VisualAnalyses { get; } = new();
|
||||
public bool IsNewFile { get; set; } = true;
|
||||
public string FileName => Path.GetFileName(FullFileName);
|
||||
|
||||
public Project(Guid id)
|
||||
{
|
||||
Id = id;
|
||||
}
|
||||
|
||||
public Project() : this(Guid.NewGuid())
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user