Change value diagram calculator

This commit is contained in:
Evgeny Redikultsev
2025-11-16 21:03:57 +05:00
parent f7e60e0bb3
commit 215f631bb0
170 changed files with 2108 additions and 387 deletions

View File

@@ -14,11 +14,11 @@ namespace StructureHelperLogics.Models.BeamShears
IUpdateStrategy<IBeamShearRepository> repositoryUpdateStrategy;
public void Update(IBeamShear targetObject, IBeamShear sourceObject)
{
CheckObject.IsNull(sourceObject, ErrorStrings.SourceObject);
CheckObject.IsNull(targetObject, ErrorStrings.TargetObject);
CheckObject.ThrowIfNull(sourceObject, ErrorStrings.SourceObject);
CheckObject.ThrowIfNull(targetObject, ErrorStrings.TargetObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; };
CheckObject.IsNull(sourceObject.Repository);
CheckObject.IsNull(targetObject.Repository);
CheckObject.ThrowIfNull(sourceObject.Repository);
CheckObject.ThrowIfNull(targetObject.Repository);
InitializeStrategies();
clearStrategy.Process(targetObject.Repository);
repositoryUpdateStrategy.Update(targetObject.Repository, sourceObject.Repository);

View File

@@ -10,13 +10,13 @@ namespace StructureHelperLogics.Models.BeamShears
{
public void Process(IBeamShearRepository entity)
{
CheckObject.IsNull(entity.Calculators);
CheckObject.ThrowIfNull(entity.Calculators);
entity.Calculators.Clear();
CheckObject.IsNull(entity.Actions);
CheckObject.ThrowIfNull(entity.Actions);
entity.Actions.Clear();
CheckObject.IsNull(entity.Sections);
CheckObject.ThrowIfNull(entity.Sections);
entity.Sections.Clear();
CheckObject.IsNull(entity.Stirrups);
CheckObject.ThrowIfNull(entity.Stirrups);
entity.Stirrups.Clear();
}
}

View File

@@ -11,8 +11,8 @@ namespace StructureHelperLogics.Models.BeamShears
{
public void Update(IBeamShearRepository targetObject, IBeamShearRepository sourceObject)
{
CheckObject.IsNull(sourceObject, ErrorStrings.SourceObject);
CheckObject.IsNull(targetObject, ErrorStrings.TargetObject);
CheckObject.ThrowIfNull(sourceObject, ErrorStrings.SourceObject);
CheckObject.ThrowIfNull(targetObject, ErrorStrings.TargetObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; };
targetObject.Actions.AddRange(sourceObject.Actions);
targetObject.Sections.AddRange(sourceObject.Sections);

View File

@@ -16,8 +16,8 @@ namespace StructureHelperLogics.Models.BeamShears
public void Update(IBeamShearSection targetObject, IBeamShearSection sourceObject)
{
CheckObject.IsNull(targetObject);
CheckObject.IsNull(sourceObject);
CheckObject.ThrowIfNull(targetObject);
CheckObject.ThrowIfNull(sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
Check(targetObject, sourceObject);
InitializeStrategies();
@@ -36,12 +36,12 @@ namespace StructureHelperLogics.Models.BeamShears
private static void Check(IBeamShearSection targetObject, IBeamShearSection sourceObject)
{
CheckObject.IsNull(sourceObject.Shape, "Source object shape");
CheckObject.IsNull(targetObject.Shape, "Target object shape");
CheckObject.IsNull(sourceObject.ConcreteMaterial, "Source concrete material");
CheckObject.IsNull(targetObject.ConcreteMaterial, "Target concrete material");
CheckObject.IsNull(sourceObject.ReinforcementMaterial, "Source reinforcement material");
CheckObject.IsNull(targetObject.ReinforcementMaterial, "Target reinforcement material");
CheckObject.ThrowIfNull(sourceObject.Shape, "Source object shape");
CheckObject.ThrowIfNull(targetObject.Shape, "Target object shape");
CheckObject.ThrowIfNull(sourceObject.ConcreteMaterial, "Source concrete material");
CheckObject.ThrowIfNull(targetObject.ConcreteMaterial, "Target concrete material");
CheckObject.ThrowIfNull(sourceObject.ReinforcementMaterial, "Source reinforcement material");
CheckObject.ThrowIfNull(targetObject.ReinforcementMaterial, "Target reinforcement material");
}
private void InitializeStrategies()

View File

@@ -15,8 +15,8 @@ namespace StructureHelperLogics.Models.BeamShears
public IBeamShearCalculator GetClone(IBeamShearCalculator sourceObject)
{
CheckObject.IsNull(cloningStrategy);
CheckObject.IsNull(sourceObject);
CheckObject.ThrowIfNull(cloningStrategy);
CheckObject.ThrowIfNull(sourceObject);
InitializeStrategies();
BeamShearCalculator calculator = new(Guid.NewGuid());
updateStrategy.Update(calculator, sourceObject);

View File

@@ -21,8 +21,8 @@ namespace StructureHelperLogics.Models.BeamShears
public IBeamShearCalculatorInputData GetClone(IBeamShearCalculatorInputData sourceObject)
{
CheckObject.IsNull(cloningStrategy);
CheckObject.IsNull(sourceObject);
CheckObject.ThrowIfNull(cloningStrategy);
CheckObject.ThrowIfNull(sourceObject);
InitializeStrategies();
BeamShearCalculatorInputData inputData = new(Guid.NewGuid());
actionUpdateStrategy.Update(inputData, sourceObject);

View File

@@ -14,9 +14,9 @@ namespace StructureHelperLogics.Models.BeamShears
public void Update(IHasBeamShearActions targetObject, IHasBeamShearActions sourceObject)
{
CheckObject.IsNull(cloningStrategy);
CheckObject.IsNull(sourceObject);
CheckObject.IsNull(targetObject);
CheckObject.ThrowIfNull(cloningStrategy);
CheckObject.ThrowIfNull(sourceObject);
CheckObject.ThrowIfNull(targetObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
targetObject.Actions.Clear();
foreach (var item in sourceObject.Actions)

View File

@@ -17,9 +17,9 @@ namespace StructureHelperLogics.Models.BeamShears
public void Update(IHasCalculators targetObject, IHasCalculators sourceObject)
{
CheckObject.IsNull(cloningStrategy);
CheckObject.IsNull(sourceObject);
CheckObject.IsNull(targetObject);
CheckObject.ThrowIfNull(cloningStrategy);
CheckObject.ThrowIfNull(sourceObject);
CheckObject.ThrowIfNull(targetObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
targetObject.Calculators.Clear();
foreach (var calculator in sourceObject.Calculators)

View File

@@ -14,9 +14,9 @@ namespace StructureHelperLogics.Models.BeamShears
public void Update(IHasBeamShearSections targetObject, IHasBeamShearSections sourceObject)
{
CheckObject.IsNull(cloningStrategy);
CheckObject.IsNull(sourceObject);
CheckObject.IsNull(targetObject);
CheckObject.ThrowIfNull(cloningStrategy);
CheckObject.ThrowIfNull(sourceObject);
CheckObject.ThrowIfNull(targetObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
targetObject.Sections.Clear();
foreach (var item in sourceObject.Sections)

View File

@@ -15,9 +15,9 @@ namespace StructureHelperLogics.Models.BeamShears
public void Update(IHasStirrups targetObject, IHasStirrups sourceObject)
{
CheckObject.IsNull(cloningStrategy);
CheckObject.IsNull(sourceObject);
CheckObject.IsNull(targetObject);
CheckObject.ThrowIfNull(cloningStrategy);
CheckObject.ThrowIfNull(sourceObject);
CheckObject.ThrowIfNull(targetObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
targetObject.Stirrups.Clear();
foreach (var item in sourceObject.Stirrups)

View File

@@ -74,8 +74,8 @@ namespace StructureHelperLogics.Models.BeamShears
private void Check()
{
CheckObject.IsNull(BeamShearSection);
CheckObject.IsNull(DesignRangeProperty);
CheckObject.ThrowIfNull(BeamShearSection);
CheckObject.ThrowIfNull(DesignRangeProperty);
}
private void GetShapeParameters()

View File

@@ -8,11 +8,11 @@ namespace StructureHelperLogics.Models.BeamShears
{
public void Update(IHasBeamShearActions targetObject, IHasBeamShearActions sourceObject)
{
CheckObject.IsNull(sourceObject, ErrorStrings.SourceObject);
CheckObject.IsNull(targetObject, ErrorStrings.TargetObject);
CheckObject.ThrowIfNull(sourceObject, ErrorStrings.SourceObject);
CheckObject.ThrowIfNull(targetObject, ErrorStrings.TargetObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; };
CheckObject.IsNull(sourceObject.Actions);
CheckObject.IsNull(targetObject.Actions);
CheckObject.ThrowIfNull(sourceObject.Actions);
CheckObject.ThrowIfNull(targetObject.Actions);
targetObject.Actions.Clear();
targetObject.Actions.AddRange(sourceObject.Actions);
}

View File

@@ -13,11 +13,11 @@ namespace StructureHelperLogics.Models.BeamShears
{
public void Update(IHasBeamShearSections targetObject, IHasBeamShearSections sourceObject)
{
CheckObject.IsNull(sourceObject, ErrorStrings.SourceObject);
CheckObject.IsNull(targetObject, ErrorStrings.TargetObject);
CheckObject.ThrowIfNull(sourceObject, ErrorStrings.SourceObject);
CheckObject.ThrowIfNull(targetObject, ErrorStrings.TargetObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; };
CheckObject.IsNull(sourceObject.Sections);
CheckObject.IsNull(targetObject.Sections);
CheckObject.ThrowIfNull(sourceObject.Sections);
CheckObject.ThrowIfNull(targetObject.Sections);
targetObject.Sections.Clear();
targetObject.Sections.AddRange(sourceObject.Sections);
}

View File

@@ -8,11 +8,11 @@ namespace StructureHelperLogics.Models.BeamShears
{
public void Update(IHasStirrups targetObject, IHasStirrups sourceObject)
{
CheckObject.IsNull(sourceObject, ErrorStrings.SourceObject);
CheckObject.IsNull(targetObject, ErrorStrings.TargetObject);
CheckObject.ThrowIfNull(sourceObject, ErrorStrings.SourceObject);
CheckObject.ThrowIfNull(targetObject, ErrorStrings.TargetObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; };
CheckObject.IsNull(sourceObject.Stirrups);
CheckObject.IsNull(targetObject.Stirrups);
CheckObject.ThrowIfNull(sourceObject.Stirrups);
CheckObject.ThrowIfNull(targetObject.Stirrups);
targetObject.Stirrups.Clear();
targetObject.Stirrups.AddRange(sourceObject.Stirrups);
}

View File

@@ -8,8 +8,8 @@ namespace StructureHelperLogics.Models.BeamShears
{
public void Update(IInclinedSection targetObject, IInclinedSection sourceObject)
{
CheckObject.IsNull(sourceObject, ErrorStrings.SourceObject);
CheckObject.IsNull(targetObject, ErrorStrings.TargetObject);
CheckObject.ThrowIfNull(sourceObject, ErrorStrings.SourceObject);
CheckObject.ThrowIfNull(targetObject, ErrorStrings.TargetObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; };
targetObject.StartCoord = sourceObject.StartCoord;
targetObject.EndCoord = sourceObject.EndCoord;

View File

@@ -11,8 +11,8 @@ namespace StructureHelperLogics.Models.BeamShears
public void Update(IStirrup targetObject, IStirrup sourceObject)
{
CheckObject.IsNull(targetObject);
CheckObject.IsNull(sourceObject);
CheckObject.ThrowIfNull(targetObject);
CheckObject.ThrowIfNull(sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
targetObject.Name = sourceObject.Name;
targetObject.CompressedGap = sourceObject.CompressedGap;
@@ -24,8 +24,8 @@ namespace StructureHelperLogics.Models.BeamShears
private void UpdateTargetChildren(IStirrup targetObject, IStirrup sourceObject)
{
CheckObject.IsNull(sourceObject.VisualProperty);
CheckObject.IsNull(targetObject.VisualProperty);
CheckObject.ThrowIfNull(sourceObject.VisualProperty);
CheckObject.ThrowIfNull(targetObject.VisualProperty);
visualUpdateStrategy ??= new PrimitiveVisualPropertyUpdateStrategy();
visualUpdateStrategy.Update(targetObject.VisualProperty, sourceObject.VisualProperty);
}

View File

@@ -11,8 +11,8 @@ namespace StructureHelperLogics.Models.BeamShears
private IUpdateStrategy<IStirrup>? baseUpdateStrategy;
public void Update(IStirrupByDensity targetObject, IStirrupByDensity sourceObject)
{
CheckObject.IsNull(targetObject);
CheckObject.IsNull(sourceObject);
CheckObject.ThrowIfNull(targetObject);
CheckObject.ThrowIfNull(sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
baseUpdateStrategy ??= new StirrupBaseUpdateStrategy();
baseUpdateStrategy.Update(targetObject, sourceObject);

View File

@@ -14,12 +14,12 @@ namespace StructureHelperLogics.Models.BeamShears
private IUpdateStrategy<IStirrup>? baseUpdateStrategy;
public void Update(IStirrupByRebar targetObject, IStirrupByRebar sourceObject)
{
CheckObject.IsNull(targetObject);
CheckObject.IsNull(sourceObject);
CheckObject.ThrowIfNull(targetObject);
CheckObject.ThrowIfNull(sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
baseUpdateStrategy ??= new StirrupBaseUpdateStrategy();
baseUpdateStrategy.Update(targetObject, sourceObject);
CheckObject.IsNull(sourceObject.Material);
CheckObject.ThrowIfNull(sourceObject.Material);
targetObject.Material = sourceObject.Material.Clone() as IReinforcementLibMaterial;
targetObject.Diameter = sourceObject.Diameter;
targetObject.LegCount = sourceObject.LegCount;

View File

@@ -18,8 +18,8 @@ namespace StructureHelperLogics.Models.BeamShears.Logics
public void Update(IStirrup targetObject, IStirrup sourceObject)
{
CheckObject.IsNull(targetObject);
CheckObject.IsNull(sourceObject);
CheckObject.ThrowIfNull(targetObject);
CheckObject.ThrowIfNull(sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
if (sourceObject is IStirrupGroup group)
{

View File

@@ -72,8 +72,8 @@ namespace StructureHelperLogics.Models.BeamShears
private void Check()
{
CheckObject.IsNull(stirrupByDensity);
CheckObject.IsNull(inclinedSection);
CheckObject.ThrowIfNull(stirrupByDensity);
CheckObject.ThrowIfNull(inclinedSection);
}
}
}

View File

@@ -15,8 +15,8 @@ namespace StructureHelperLogics.Models.BeamShears
public void Update(IBeamShearCalculatorInputData targetObject, IBeamShearCalculatorInputData sourceObject)
{
CheckObject.IsNull(sourceObject, ErrorStrings.SourceObject);
CheckObject.IsNull(targetObject, ErrorStrings.TargetObject);
CheckObject.ThrowIfNull(sourceObject, ErrorStrings.SourceObject);
CheckObject.ThrowIfNull(targetObject, ErrorStrings.TargetObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; };
if (UpdateChildren)
{
@@ -24,8 +24,8 @@ namespace StructureHelperLogics.Models.BeamShears
hasActionUpdateStrategy?.Update(targetObject, sourceObject);
hasSectionsUpdateStrategy?.Update(targetObject, sourceObject);
hasStirrupsUpdateStrategy?.Update(targetObject, sourceObject);
CheckObject.IsNull(sourceObject.DesignRangeProperty);
CheckObject.IsNull(targetObject.DesignRangeProperty);
CheckObject.ThrowIfNull(sourceObject.DesignRangeProperty);
CheckObject.ThrowIfNull(targetObject.DesignRangeProperty);
designRangeUpdateStrategy.Update(targetObject.DesignRangeProperty, sourceObject.DesignRangeProperty);
}
targetObject.CodeType = sourceObject.CodeType;

View File

@@ -9,8 +9,8 @@ namespace StructureHelperLogics.Models.BeamShears
private IUpdateStrategy<IBeamShearCalculatorInputData>? inputDataUpdateStrategy;
public void Update(IBeamShearCalculator targetObject, IBeamShearCalculator sourceObject)
{
CheckObject.IsNull(sourceObject, ErrorStrings.SourceObject);
CheckObject.IsNull(targetObject, ErrorStrings.TargetObject);
CheckObject.ThrowIfNull(sourceObject, ErrorStrings.SourceObject);
CheckObject.ThrowIfNull(targetObject, ErrorStrings.TargetObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; };
targetObject.Name = sourceObject.Name;
targetObject.ShowTraceData = sourceObject.ShowTraceData;

View File

@@ -8,8 +8,8 @@ namespace StructureHelperLogics.Models.BeamShears
{
public void Update(IBeamShearDesignRangeProperty targetObject, IBeamShearDesignRangeProperty sourceObject)
{
CheckObject.IsNull(sourceObject, ErrorStrings.SourceObject);
CheckObject.IsNull(targetObject, ErrorStrings.TargetObject);
CheckObject.ThrowIfNull(sourceObject, ErrorStrings.SourceObject);
CheckObject.ThrowIfNull(targetObject, ErrorStrings.TargetObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
targetObject.AbsoluteRangeValue = sourceObject.AbsoluteRangeValue;
targetObject.RelativeEffectiveDepthRangeValue = sourceObject.RelativeEffectiveDepthRangeValue;

View File

@@ -8,8 +8,8 @@ namespace StructureHelperLogics.Models.BeamShears
{
public void Update(IBeamShearSectionLogicInputData targetObject, IBeamShearSectionLogicInputData sourceObject)
{
CheckObject.IsNull(sourceObject, ErrorStrings.SourceObject);
CheckObject.IsNull(targetObject, ErrorStrings.TargetObject);
CheckObject.ThrowIfNull(sourceObject, ErrorStrings.SourceObject);
CheckObject.ThrowIfNull(targetObject, ErrorStrings.TargetObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
targetObject.BeamShearAction = sourceObject.BeamShearAction;
targetObject.InclinedSection = sourceObject.InclinedSection;

View File

@@ -14,8 +14,8 @@ namespace StructureHelperLogics.Models.BeamShears
public void Update(IStirrupByInclinedRebar targetObject, IStirrupByInclinedRebar sourceObject)
{
CheckObject.IsNull(sourceObject, ErrorStrings.SourceObject);
CheckObject.IsNull(targetObject, ErrorStrings.TargetObject);
CheckObject.ThrowIfNull(sourceObject, ErrorStrings.SourceObject);
CheckObject.ThrowIfNull(targetObject, ErrorStrings.TargetObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
baseUpdateStrategy ??= new StirrupBaseUpdateStrategy();
baseUpdateStrategy.Update(targetObject, sourceObject);
@@ -25,7 +25,7 @@ namespace StructureHelperLogics.Models.BeamShears
targetObject.LegCount = sourceObject.LegCount;
if (UpdateChildren)
{
CheckObject.IsNull(sourceObject.RebarSection, "Rebar section");
CheckObject.ThrowIfNull(sourceObject.RebarSection, "Rebar section");
targetObject.RebarSection = sourceObject.RebarSection.Clone() as IRebarSection;
}
}

View File

@@ -13,8 +13,8 @@ namespace StructureHelperLogics.Models.BeamShears
public void Update(IStirrupGroup targetObject, IStirrupGroup sourceObject)
{
CheckObject.IsNull(sourceObject, ErrorStrings.SourceObject);
CheckObject.IsNull(targetObject, ErrorStrings.TargetObject);
CheckObject.ThrowIfNull(sourceObject, ErrorStrings.SourceObject);
CheckObject.ThrowIfNull(targetObject, ErrorStrings.TargetObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
baseUpdateStrategy ??= new StirrupBaseUpdateStrategy()
{
@@ -29,8 +29,8 @@ namespace StructureHelperLogics.Models.BeamShears
private static void UpdateTargetChildren(IStirrupGroup targetObject, IStirrupGroup sourceObject)
{
CheckObject.IsNull(sourceObject.Stirrups);
CheckObject.IsNull(targetObject.Stirrups);
CheckObject.ThrowIfNull(sourceObject.Stirrups);
CheckObject.ThrowIfNull(targetObject.Stirrups);
targetObject.Stirrups.Clear();
foreach (var item in sourceObject.Stirrups)
{