Change open and save file logic
This commit is contained in:
@@ -77,7 +77,7 @@ namespace DataAccess.DTOs.Converters
|
||||
versionProcessorConvertStrategy.ReferenceDictionary = ReferenceDictionary;
|
||||
versionProcessorConvertStrategy.TraceLogger = TraceLogger;
|
||||
IVersionProcessor versionProcessor = versionProcessorConvertStrategy.Convert(source);
|
||||
TraceLogger?.AddMessage("Version processor converting has been finished succesfully", TraceLogStatuses.Service);
|
||||
TraceLogger?.AddMessage("Version processor converting has been finished successfully", TraceLogStatuses.Service);
|
||||
return versionProcessor;
|
||||
}
|
||||
|
||||
@@ -89,7 +89,7 @@ namespace DataAccess.DTOs.Converters
|
||||
convertCrossSectionNdmAnalysisStrategy.TraceLogger = TraceLogger;
|
||||
var convertLogic = new DictionaryConvertStrategy<ICrossSectionNdmAnalysis, ICrossSectionNdmAnalysis>(this, convertCrossSectionNdmAnalysisStrategy);
|
||||
ICrossSectionNdmAnalysis crossSectionNdmAnalysis = convertLogic.Convert(source);
|
||||
TraceLogger?.AddMessage("Cross-Section Ndm Analysis converting has been finished succesfully", TraceLogStatuses.Service);
|
||||
TraceLogger?.AddMessage("Cross-Section Ndm Analysis converting has been finished successfully", TraceLogStatuses.Service);
|
||||
return crossSectionNdmAnalysis;
|
||||
}
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ namespace DataAccess.DTOs
|
||||
TraceLogger?.AddMessage("Concrete library material converting is started", TraceLogStatuses.Service);
|
||||
ConcreteLibMaterial newItem = new(source.Id);
|
||||
updateStrategy.Update(newItem, source);
|
||||
TraceLogger?.AddMessage("Concrete library material converting has been finished succesfully", TraceLogStatuses.Service);
|
||||
TraceLogger?.AddMessage("Concrete library material converting has been finished successfully", TraceLogStatuses.Service);
|
||||
return newItem;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -49,7 +49,7 @@ namespace DataAccess.DTOs
|
||||
convertStrategy.ReferenceDictionary = ReferenceDictionary;
|
||||
convertStrategy.TraceLogger = TraceLogger;
|
||||
newItem.SectionRepository = GetNewCrossSectionRepository(source.SectionRepository);
|
||||
TraceLogger?.AddMessage("Cross-Section converting has been finished succesfully", TraceLogStatuses.Service);
|
||||
TraceLogger?.AddMessage("Cross-Section converting has been finished successfully", TraceLogStatuses.Service);
|
||||
return newItem;
|
||||
}
|
||||
|
||||
|
||||
@@ -51,7 +51,7 @@ namespace DataAccess.DTOs.Converters
|
||||
TraceLogger?.AddMessage("Cross-section sonverting is started");
|
||||
CrossSectionNdmAnalysis newItem = new(source.Id);
|
||||
updateStrategy.Update(newItem, source);
|
||||
TraceLogger?.AddMessage("Cross-section analysis was obtained succesfully");
|
||||
TraceLogger?.AddMessage("Cross-section analysis was obtained successfully");
|
||||
return newItem;
|
||||
}
|
||||
|
||||
|
||||
@@ -68,7 +68,7 @@ namespace DataAccess.DTOs.Converters
|
||||
};
|
||||
TraceLogger?.AddMessage("Convert version processor is started", TraceLogStatuses.Service);
|
||||
newItem.VersionProcessor = convertLogic.Convert(source.VersionProcessor);
|
||||
TraceLogger?.AddMessage("Cross-section ndm analysis has been converted succesfully", TraceLogStatuses.Service);
|
||||
TraceLogger?.AddMessage("Cross-section ndm analysis has been converted successfully", TraceLogStatuses.Service);
|
||||
return newItem;
|
||||
}
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ namespace DataAccess.DTOs
|
||||
public class CrossSectionRepositoryFromDTOConvertStrategy : ConvertStrategy<ICrossSectionRepository, ICrossSectionRepository>
|
||||
{
|
||||
private const string convertStarted = " converting is started";
|
||||
private const string convertFinished = " converting has been finished succesfully";
|
||||
private const string convertFinished = " converting has been finished successfully";
|
||||
private CrossSectionRepository newRepository;
|
||||
|
||||
private IHasPrimitivesProcessLogic primitivesProcessLogic = new HasPrimitivesProcessLogic();
|
||||
|
||||
@@ -28,7 +28,7 @@ namespace DataAccess.DTOs
|
||||
TraceLogger?.AddMessage("Elastic material converting is started", TraceLogStatuses.Service);
|
||||
ElasticMaterial newItem = new(source.Id);
|
||||
updateStrategy.Update(newItem, source);
|
||||
TraceLogger?.AddMessage("Elastic material converting has been finished succesfully", TraceLogStatuses.Service);
|
||||
TraceLogger?.AddMessage("Elastic material converting has been finished successfully", TraceLogStatuses.Service);
|
||||
return newItem;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ namespace DataAccess.DTOs
|
||||
TraceLogger?.AddMessage("Fiber reinforcement material converting is started", TraceLogStatuses.Service);
|
||||
FRMaterial newItem = new(source.MaterialType, source.Id);
|
||||
updateStrategy.Update(newItem, source);
|
||||
TraceLogger?.AddMessage("FiberReinforcement material converting has been finished succesfully", TraceLogStatuses.Service);
|
||||
TraceLogger?.AddMessage("FiberReinforcement material converting has been finished successfully", TraceLogStatuses.Service);
|
||||
return newItem;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -57,7 +57,7 @@ namespace DataAccess.DTOs
|
||||
TraceLogger?.AddMessage($"Mx = {newDesignTuple.ForceTuple.Mx}, My = {newDesignTuple.ForceTuple.My}, Nz = {newDesignTuple.ForceTuple.Nz}");
|
||||
newItem.DesignForces.Add(newDesignTuple);
|
||||
}
|
||||
TraceLogger?.AddMessage($"Force combination list name = {newItem.Name} has been finished succesfully");
|
||||
TraceLogger?.AddMessage($"Force combination list name = {newItem.Name} has been finished successfully");
|
||||
return newItem;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ namespace DataAccess.DTOs
|
||||
public class HasForceActionsProcessLogic : IHasForceActionsProcessLogic
|
||||
{
|
||||
private const string convertStarted = " converting is started";
|
||||
private const string convertFinished = " converting has been finished succesfully";
|
||||
private const string convertFinished = " converting has been finished successfully";
|
||||
|
||||
public IShiftTraceLogger TraceLogger { get; set; }
|
||||
public Dictionary<(Guid id, Type type), ISaveable> ReferenceDictionary { get; set; }
|
||||
|
||||
@@ -12,7 +12,7 @@ namespace DataAccess.DTOs.Converters
|
||||
public class HasPrimitivesProcessLogic : IHasPrimitivesProcessLogic
|
||||
{
|
||||
private const string convertStarted = " converting is started";
|
||||
private const string convertFinished = " converting has been finished succesfully";
|
||||
private const string convertFinished = " converting has been finished successfully";
|
||||
|
||||
public IHasPrimitives Source { get; set; }
|
||||
public IHasPrimitives Target { get; set; }
|
||||
|
||||
@@ -40,7 +40,7 @@ namespace DataAccess.DTOs
|
||||
IHelperMaterial helperMaterial = GetHelperMaterial(source.HelperMaterial);
|
||||
newItem.HelperMaterial = helperMaterial;
|
||||
//GlobalRepository
|
||||
TraceLogger?.AddMessage($"Head material Name = {newItem.Name} converting has been finished succesfully", TraceLogStatuses.Service);
|
||||
TraceLogger?.AddMessage($"Head material Name = {newItem.Name} converting has been finished successfully", TraceLogStatuses.Service);
|
||||
return newItem;
|
||||
}
|
||||
|
||||
|
||||
@@ -91,7 +91,7 @@ namespace DataAccess.DTOs
|
||||
rebarConvertStrategy.ReferenceDictionary = ReferenceDictionary;
|
||||
rebarConvertStrategy.TraceLogger = TraceLogger;
|
||||
RebarNdmPrimitive newItem = rebarConvertStrategy.Convert(rebar);
|
||||
TraceLogger?.AddMessage($"Primtive has been obtained succesfully, Name = {newItem.Name}");
|
||||
TraceLogger?.AddMessage($"Primtive has been obtained successfully, Name = {newItem.Name}");
|
||||
newItem.HostPrimitive = GetHostPrimitive(rebar);
|
||||
return newItem;
|
||||
}
|
||||
@@ -115,7 +115,7 @@ namespace DataAccess.DTOs
|
||||
pointConvertStrategy.ReferenceDictionary = ReferenceDictionary;
|
||||
pointConvertStrategy.TraceLogger = TraceLogger;
|
||||
PointNdmPrimitive newItem = pointConvertStrategy.Convert(point);
|
||||
TraceLogger?.AddMessage($"Primtive has been obtained succesfully, Name = {newItem.Name}");
|
||||
TraceLogger?.AddMessage($"Primtive has been obtained successfully, Name = {newItem.Name}");
|
||||
return newItem;
|
||||
}
|
||||
|
||||
@@ -125,7 +125,7 @@ namespace DataAccess.DTOs
|
||||
ellipseConvertStrategy.ReferenceDictionary = ReferenceDictionary;
|
||||
ellipseConvertStrategy.TraceLogger = TraceLogger;
|
||||
EllipseNdmPrimitive newItem = ellipseConvertStrategy.Convert(ellipse);
|
||||
TraceLogger?.AddMessage($"Primtive has been obtained succesfully, Name = {newItem.Name}");
|
||||
TraceLogger?.AddMessage($"Primtive has been obtained successfully, Name = {newItem.Name}");
|
||||
return newItem;
|
||||
}
|
||||
|
||||
@@ -135,7 +135,7 @@ namespace DataAccess.DTOs
|
||||
rectangleConvertStrategy.ReferenceDictionary = ReferenceDictionary;
|
||||
rectangleConvertStrategy.TraceLogger = TraceLogger;
|
||||
RectangleNdmPrimitive newItem = rectangleConvertStrategy.Convert(rectangle);
|
||||
TraceLogger?.AddMessage($"Primtive has been obtained succesfully, Name = {newItem.Name}");
|
||||
TraceLogger?.AddMessage($"Primtive has been obtained successfully, Name = {newItem.Name}");
|
||||
return newItem;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,82 +1,69 @@
|
||||
using StructureHelperCommon.Infrastructures.Interfaces;
|
||||
using StructureHelperCommon.Models;
|
||||
using StructureHelperCommon.Models.Analyses;
|
||||
using StructureHelperCommon.Models.Loggers;
|
||||
using StructureHelperCommon.Models.Projects;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DataAccess.DTOs
|
||||
{
|
||||
public class ProjectFromDTOConvertStrategy : IConvertStrategy<Project, ProjectDTO>
|
||||
public class ProjectFromDTOConvertStrategy : ConvertStrategy<Project, ProjectDTO>
|
||||
{
|
||||
private IUpdateStrategy<IProject> updateStrategy;
|
||||
private IConvertStrategy<IVisualAnalysis, IVisualAnalysis> visualAnalysisConvertStrategy = new VisualAnaysisFromDTOConvertStrategy();
|
||||
private IUpdateStrategy<IProject> _updateStrategy;
|
||||
private IConvertStrategy<IVisualAnalysis, IVisualAnalysis> _convertLogic;
|
||||
|
||||
public ProjectFromDTOConvertStrategy(IUpdateStrategy<IProject> updateStrategy)
|
||||
public ProjectFromDTOConvertStrategy(IUpdateStrategy<IProject> updateStrategy,
|
||||
IConvertStrategy<IVisualAnalysis, IVisualAnalysis> convertLogic,
|
||||
Dictionary<(Guid id, Type type), ISaveable> refDictinary,
|
||||
IShiftTraceLogger? traceLogger)
|
||||
{
|
||||
this.updateStrategy = updateStrategy;
|
||||
_updateStrategy = updateStrategy;
|
||||
_convertLogic = convertLogic;
|
||||
ReferenceDictionary = refDictinary;
|
||||
TraceLogger = traceLogger;
|
||||
}
|
||||
|
||||
public ProjectFromDTOConvertStrategy() : this (new ProjectUpdateStrategy())
|
||||
{
|
||||
|
||||
}
|
||||
public ProjectFromDTOConvertStrategy(
|
||||
Dictionary<(Guid id, Type type), ISaveable> refDictinary,
|
||||
IShiftTraceLogger? traceLogger)
|
||||
: this(
|
||||
new ProjectUpdateStrategy(),
|
||||
new DictionaryConvertStrategy<IVisualAnalysis, IVisualAnalysis>(
|
||||
refDictinary,
|
||||
new VisualAnaysisFromDTOConvertStrategy(refDictinary, traceLogger),
|
||||
traceLogger),
|
||||
refDictinary,
|
||||
traceLogger)
|
||||
{ }
|
||||
|
||||
public Dictionary<(Guid id, Type type), ISaveable> ReferenceDictionary { get; set; }
|
||||
public IShiftTraceLogger TraceLogger { get; set; }
|
||||
|
||||
public Project Convert(ProjectDTO source)
|
||||
{
|
||||
Check();
|
||||
TraceLogger?.AddMessage("Converting project is started", TraceLogStatuses.Info);
|
||||
try
|
||||
{
|
||||
Project newItem = GetProject(source);
|
||||
return newItem;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
TraceLogger?.AddMessage(LoggerStrings.LogicType(this), TraceLogStatuses.Error);
|
||||
TraceLogger?.AddMessage(ex.Message, TraceLogStatuses.Error);
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
private Project GetProject(ProjectDTO source)
|
||||
{
|
||||
TraceLogger?.AddMessage("Converting of project is started", TraceLogStatuses.Service);
|
||||
Project newItem = new();
|
||||
updateStrategy.Update(newItem, source);
|
||||
visualAnalysisConvertStrategy.ReferenceDictionary = ReferenceDictionary;
|
||||
visualAnalysisConvertStrategy.TraceLogger = TraceLogger;
|
||||
var convertLogic = new DictionaryConvertStrategy<IVisualAnalysis, IVisualAnalysis>(this, visualAnalysisConvertStrategy);
|
||||
public override Project GetNewItem(ProjectDTO source)
|
||||
{
|
||||
TraceLogger?.AddMessage("Converting of project is started");
|
||||
Project newItem = new(source.Id);
|
||||
List<IVisualAnalysis> analyses = GetAnalyses(source, newItem);
|
||||
newItem.VisualAnalyses.Clear();
|
||||
TraceLogger?.AddMessage($"Source project has {source.VisualAnalyses.Count()} analyses", TraceLogStatuses.Service);
|
||||
foreach (var item in source.VisualAnalyses)
|
||||
{
|
||||
var visualAnalysis = convertLogic.Convert(item);
|
||||
newItem.VisualAnalyses.Add(visualAnalysis);
|
||||
}
|
||||
newItem.VisualAnalyses.AddRange(analyses);
|
||||
if (newItem.VisualAnalyses.Any())
|
||||
{
|
||||
TraceLogger?.AddMessage($"Totaly {newItem.VisualAnalyses.Count()} were(was) obtained", TraceLogStatuses.Service);
|
||||
TraceLogger?.AddMessage($"Totaly {newItem.VisualAnalyses.Count} were(was) obtained");
|
||||
}
|
||||
else
|
||||
{
|
||||
TraceLogger?.AddMessage($"Project does not have any analyses", TraceLogStatuses.Warning);
|
||||
TraceLogger?.AddMessage($"Project does not have any analyses, it is possible to work with project", TraceLogStatuses.Warning);
|
||||
}
|
||||
TraceLogger?.AddMessage("Converting of project has completed succesfully", TraceLogStatuses.Service);
|
||||
TraceLogger?.AddMessage("Converting of project has been finished successfully");
|
||||
return newItem;
|
||||
}
|
||||
|
||||
private void Check()
|
||||
public List<IVisualAnalysis> GetAnalyses(ProjectDTO source, Project newItem)
|
||||
{
|
||||
var checkLogic = new CheckConvertLogic<Project, ProjectDTO>(this);
|
||||
checkLogic.Check();
|
||||
_updateStrategy.Update(newItem, source);
|
||||
TraceLogger?.AddMessage($"Source project has {source.VisualAnalyses.Count} analyses");
|
||||
List<IVisualAnalysis> analyses = new();
|
||||
foreach (var item in source.VisualAnalyses)
|
||||
{
|
||||
var visualAnalysis = _convertLogic.Convert(item);
|
||||
analyses.Add(visualAnalysis);
|
||||
}
|
||||
return analyses;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ namespace DataAccess.DTOs
|
||||
TraceLogger?.AddMessage("Reinforcement library material converting is started", TraceLogStatuses.Service);
|
||||
ReinforcementLibMaterial newItem = new(source.Id);
|
||||
updateStrategy.Update(newItem, source);
|
||||
TraceLogger?.AddMessage("Reinforcement library material converting has been finished succesfully", TraceLogStatuses.Service);
|
||||
TraceLogger?.AddMessage("Reinforcement library material converting has been finished successfully", TraceLogStatuses.Service);
|
||||
return newItem;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -64,7 +64,7 @@ namespace DataAccess.DTOs
|
||||
crossSectionConvertStrategy.TraceLogger = TraceLogger;
|
||||
var convertLogic = new DictionaryConvertStrategy<ICrossSection, ICrossSection>(this, crossSectionConvertStrategy);
|
||||
ICrossSection newItem = convertLogic.Convert(source);
|
||||
TraceLogger?.AddMessage("Cross-Section converting has been finished succesfully", TraceLogStatuses.Service);
|
||||
TraceLogger?.AddMessage("Cross-Section converting has been finished successfully", TraceLogStatuses.Service);
|
||||
return newItem;
|
||||
}
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@ namespace DataAccess.DTOs
|
||||
newItem.Versions.Add(dateVersion);
|
||||
}
|
||||
TraceLogger?.AddMessage($"Totaly {newItem.Versions.Count} version(s) was(were) obtained", TraceLogStatuses.Service);
|
||||
TraceLogger?.AddMessage("Version processor has been converted succesfully", TraceLogStatuses.Service);
|
||||
TraceLogger?.AddMessage("Version processor has been converted successfully", TraceLogStatuses.Service);
|
||||
return newItem;
|
||||
}
|
||||
|
||||
|
||||
@@ -12,42 +12,37 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace DataAccess.DTOs
|
||||
{
|
||||
public class VisualAnaysisFromDTOConvertStrategy : IConvertStrategy<IVisualAnalysis, IVisualAnalysis>
|
||||
public class VisualAnaysisFromDTOConvertStrategy : ConvertStrategy<IVisualAnalysis, IVisualAnalysis>
|
||||
{
|
||||
private IConvertStrategy<IAnalysis, IAnalysis> analysisConvertStrategy = new AnalysisFromDTOConvertStrategy();
|
||||
public Dictionary<(Guid id, Type type), ISaveable> ReferenceDictionary { get; set; }
|
||||
public IShiftTraceLogger TraceLogger { get; set; }
|
||||
private IConvertStrategy<IAnalysis, IAnalysis> analysisConvertStrategy;
|
||||
|
||||
public IVisualAnalysis Convert(IVisualAnalysis source)
|
||||
public VisualAnaysisFromDTOConvertStrategy(IConvertStrategy<IAnalysis, IAnalysis> analysisConvertStrategy,
|
||||
Dictionary<(Guid id, Type type), ISaveable> refDictinary,
|
||||
IShiftTraceLogger? traceLogger)
|
||||
{
|
||||
Check();
|
||||
try
|
||||
{
|
||||
VisualAnalysis newItem = GetAnalysis(source);
|
||||
return newItem;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
TraceLogger?.AddMessage(LoggerStrings.LogicType(this), TraceLogStatuses.Error);
|
||||
TraceLogger?.AddMessage(ex.Message, TraceLogStatuses.Error);
|
||||
throw;
|
||||
}
|
||||
this.analysisConvertStrategy = analysisConvertStrategy;
|
||||
ReferenceDictionary = refDictinary;
|
||||
TraceLogger = traceLogger;
|
||||
}
|
||||
|
||||
private VisualAnalysis GetAnalysis(IVisualAnalysis source)
|
||||
public VisualAnaysisFromDTOConvertStrategy(
|
||||
Dictionary<(Guid id, Type type), ISaveable> refDictinary,
|
||||
IShiftTraceLogger? traceLogger)
|
||||
: this(
|
||||
new AnalysisFromDTOConvertStrategy(),
|
||||
refDictinary,
|
||||
traceLogger)
|
||||
{ }
|
||||
|
||||
public override VisualAnalysis GetNewItem(IVisualAnalysis source)
|
||||
{
|
||||
TraceLogger?.AddMessage($"Visual Analysis Name = {source.Analysis.Name} converting is started");
|
||||
analysisConvertStrategy.ReferenceDictionary = ReferenceDictionary;
|
||||
analysisConvertStrategy.TraceLogger = TraceLogger;
|
||||
IAnalysis analysis = analysisConvertStrategy.Convert(source.Analysis);
|
||||
VisualAnalysis newItem = new(source.Id, analysis);
|
||||
TraceLogger?.AddMessage($"Visual Analysis was obtained succesfully", TraceLogStatuses.Debug);
|
||||
TraceLogger?.AddMessage($"Visual Analysis Name = {newItem.Analysis.Name} was obtained successfully");
|
||||
return newItem;
|
||||
}
|
||||
|
||||
private void Check()
|
||||
{
|
||||
var checkLogic = new CheckConvertLogic<IVisualAnalysis, IVisualAnalysis>(this);
|
||||
checkLogic.Check();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ namespace DataAccess.DTOs
|
||||
public bool IsActual { get; set; }
|
||||
|
||||
[JsonProperty("VisualAnalyses")]
|
||||
public List<IVisualAnalysis> VisualAnalyses { get; private set; } = new();
|
||||
public List<IVisualAnalysis> VisualAnalyses { get; set; } = new();
|
||||
|
||||
[JsonIgnore]
|
||||
public string FileName { get; set; }
|
||||
|
||||
Reference in New Issue
Block a user