Change open and save file logic

This commit is contained in:
Evgeny Redikultsev
2024-11-09 21:52:05 +05:00
parent a8d570713d
commit 0a2934a1ea
68 changed files with 1049 additions and 373 deletions

View 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);
}
}
}