Change open and save file logic
This commit is contained in:
75
DataAccess/Infrastructures/CheckRootObjectLogic.cs
Normal file
75
DataAccess/Infrastructures/CheckRootObjectLogic.cs
Normal file
@@ -0,0 +1,75 @@
|
||||
using DataAccess.DTOs;
|
||||
using StructureHelperCommon.Infrastructures.Interfaces;
|
||||
using StructureHelperCommon.Models;
|
||||
using StructureHelperCommon.Models.Projects;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DataAccess.Infrastructures
|
||||
{
|
||||
public class CheckRootObjectLogic : ICheckEntityLogic<IRootObjectDTO>
|
||||
{
|
||||
public IRootObjectDTO Entity { get; set; }
|
||||
|
||||
public string CheckResult { get; private set; }
|
||||
|
||||
public IShiftTraceLogger? TraceLogger { get; set; }
|
||||
|
||||
public CheckRootObjectLogic(IShiftTraceLogger? traceLogger)
|
||||
{
|
||||
TraceLogger = traceLogger;
|
||||
}
|
||||
|
||||
public bool Check()
|
||||
{
|
||||
bool result = true;
|
||||
string checkResult = string.Empty;
|
||||
var checkRootResult = CheckRootObject();
|
||||
if (checkRootResult.checkResult = false)
|
||||
{
|
||||
checkResult += checkRootResult.errorString;
|
||||
result = false;
|
||||
}
|
||||
CheckResult = checkResult;
|
||||
return result;
|
||||
}
|
||||
|
||||
private (bool checkResult, string errorString) CheckRootObject()
|
||||
{
|
||||
bool checkRootResult = true;
|
||||
string errorString = string.Empty;
|
||||
|
||||
if (Entity.FileVersion is null)
|
||||
{
|
||||
checkRootResult = false;
|
||||
errorString += "Section of file version is damaged";
|
||||
TraceLogger?.AddMessage(errorString, TraceLogStatuses.Error);
|
||||
return (checkRootResult, errorString);
|
||||
}
|
||||
var fileVersion = Entity.FileVersion;
|
||||
var checkLogic = new CheckFileVersionLogic()
|
||||
{
|
||||
FileVersion = fileVersion,
|
||||
TraceLogger = TraceLogger
|
||||
};
|
||||
var checkResult = checkLogic.Check();
|
||||
if (checkResult == false)
|
||||
{
|
||||
checkRootResult = false;
|
||||
errorString += checkLogic.CheckResult;
|
||||
return (checkRootResult, errorString);
|
||||
}
|
||||
if (Entity.Project is null)
|
||||
{
|
||||
checkRootResult = false;
|
||||
errorString += "Section of project is damaged";
|
||||
TraceLogger?.AddMessage(errorString, TraceLogStatuses.Error);
|
||||
return (checkRootResult, errorString);
|
||||
}
|
||||
return (checkRootResult, errorString);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user