List of analyses was added into main window

This commit is contained in:
Evgeny Redikultsev
2024-09-01 13:04:00 +05:00
parent 8c030e2271
commit 2268557672
35 changed files with 656 additions and 130 deletions

View File

@@ -0,0 +1,35 @@
using StructureHelperCommon.Models.Analyses;
using StructureHelperLogics.Models.CrossSections;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StructureHelperLogic.Models.Analyses
{
public class CrossSectionNdmAnalysis : IAnalysis
{
public Guid Id { get; private set; }
public string Name { get; set; }
public string Tags { get; set; }
public IVersionProcessor VersionProcessor { get; private set; }
public CrossSectionNdmAnalysis(Guid Id, IVersionProcessor versionProcessor)
{
this.Id = Id;
VersionProcessor = versionProcessor;
}
public CrossSectionNdmAnalysis() : this(new Guid(), new VersionProcessor())
{
CrossSection crossSection = new CrossSection();
VersionProcessor.AddVersion(crossSection);
}
public object Clone()
{
throw new NotImplementedException();
}
}
}

View File

@@ -10,9 +10,16 @@ namespace StructureHelperLogics.Models.CrossSections
{
public ICrossSectionRepository SectionRepository { get; private set; }
public Guid Id { get; private set; }
public CrossSection()
{
SectionRepository = new CrossSectionRepository();
}
public object Clone()
{
throw new NotImplementedException();
}
}
}

View File

@@ -0,0 +1,24 @@
using StructureHelperCommon.Infrastructures.Interfaces;
using StructureHelperCommon.Models.Forces;
using StructureHelperCommon.Services;
using StructureHelperLogics.NdmCalculations.Primitives;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StructureHelperLogics.Models.CrossSections
{
internal class CrossSectionRepositoryUpdateStrategy : IUpdateStrategy<ICrossSectionRepository>
{
public void Update(ICrossSectionRepository targetObject, ICrossSectionRepository sourceObject)
{
CheckObject.IsNull(targetObject, sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
}
}
}

View File

@@ -0,0 +1,28 @@
using StructureHelperCommon.Infrastructures.Interfaces;
using StructureHelperCommon.Services;
using StructureHelperLogics.NdmCalculations.Primitives;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StructureHelperLogics.Models.CrossSections
{
public class CrossSectionUpdateStrategy : IUpdateStrategy<ICrossSection>
{
public CrossSectionUpdateStrategy()
{
}
public void Update(ICrossSection targetObject, ICrossSection sourceObject)
{
CheckObject.IsNull(targetObject, sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
}
}
}

View File

@@ -1,4 +1,5 @@
using System;
using StructureHelperCommon.Infrastructures.Interfaces;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
@@ -6,7 +7,7 @@ using System.Threading.Tasks;
namespace StructureHelperLogics.Models.CrossSections
{
public interface ICrossSection
public interface ICrossSection : ISaveable, ICloneable
{
ICrossSectionRepository SectionRepository { get; }
}

View File

@@ -1,4 +1,5 @@
using StructureHelper.Models.Materials;
using StructureHelperCommon.Infrastructures.Interfaces;
using StructureHelperCommon.Models.Calculators;
using StructureHelperCommon.Models.Forces;
using StructureHelperLogics.Models.Materials;
@@ -13,7 +14,7 @@ using System.Threading.Tasks;
namespace StructureHelperLogics.Models.CrossSections
{
public interface ICrossSectionRepository : IHasHeadMaterials, IHasPrimitives
public interface ICrossSectionRepository : IHasHeadMaterials, IHasPrimitives, IHasForceCombinations
{
List<IForceAction> ForceActions { get; }
List<ICalculator> CalculatorsList { get; }