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

@@ -12,7 +12,7 @@ namespace StructureHelperCommon.Infrastructures.Interfaces
public abstract void Update(T targetObject, T sourceObject);
public void Check(T targetObject, T sourceObject)
{
CheckObject.IsNull(targetObject, sourceObject);
CheckObject.ThrowIfNull(targetObject, sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; };
}
}

View File

@@ -0,0 +1,21 @@
using StructureHelperCommon.Models;
namespace StructureHelperCommon.Infrastructures.Interfaces
{
public abstract class CheckEntityLogic<TEntity> : ICheckEntityLogic<TEntity> where TEntity : class
{
public TEntity Entity { get; set; }
public virtual string CheckResult { get; set; } = string.Empty;
public IShiftTraceLogger? TraceLogger { get; set; }
public abstract bool Check();
public virtual void TraceMessage(string errorString)
{
CheckResult += errorString + "\n";
TraceLogger?.AddMessage(errorString);
}
}
}

View File

@@ -21,9 +21,9 @@ namespace StructureHelperCommon.Infrastructures.Interfaces
public void Update(IHasForceActions targetObject, IHasForceActions 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.ForceActions.Clear();
foreach (var force in sourceObject.ForceActions)

View File

@@ -12,7 +12,7 @@ namespace StructureHelperCommon.Models.Analyses
{
public void Update(IAnalysis targetObject, IAnalysis sourceObject)
{
CheckObject.IsNull(targetObject, sourceObject, "Analysis Properties");
CheckObject.ThrowIfNull(targetObject, sourceObject, "Analysis Properties");
if (ReferenceEquals(targetObject, sourceObject)) { return; }
targetObject.Name = sourceObject.Name;
targetObject.Tags = sourceObject.Tags;

View File

@@ -13,8 +13,8 @@ namespace StructureHelperCommon.Models.Analyses
{
public void Update(IDateVersion targetObject, IDateVersion 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.DateTime = sourceObject.DateTime;
}

View File

@@ -8,14 +8,14 @@ namespace StructureHelperCommon.Models.Forces.BeamShearActions
private IUpdateStrategy<IBeamShearAxisAction> axisActionUpdateStrategy;
public void Update(IBeamShearAction targetObject, IBeamShearAction sourceObject)
{
CheckObject.IsNull(targetObject);
CheckObject.IsNull(sourceObject);
CheckObject.ThrowIfNull(targetObject);
CheckObject.ThrowIfNull(sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
targetObject.Name = sourceObject.Name;
targetObject.ExternalForce = sourceObject.ExternalForce.Clone() as IFactoredForceTuple;
InitializeStrategies();
CheckObject.IsNull(sourceObject.SupportAction);
CheckObject.IsNull(targetObject.SupportAction);
CheckObject.ThrowIfNull(sourceObject.SupportAction);
CheckObject.ThrowIfNull(targetObject.SupportAction);
axisActionUpdateStrategy.Update(targetObject.SupportAction, sourceObject.SupportAction);
}

View File

@@ -12,15 +12,15 @@ namespace StructureHelperCommon.Models.Forces.BeamShearActions
private IUpdateStrategy<IFactoredCombinationProperty> combinationUpdateStrategy;
public void Update(IBeamShearAxisAction targetObject, IBeamShearAxisAction sourceObject)
{
CheckObject.IsNull(targetObject);
CheckObject.IsNull(sourceObject);
CheckObject.ThrowIfNull(targetObject);
CheckObject.ThrowIfNull(sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
InitializeStrategies();
targetObject.Name = sourceObject.Name;
targetObject.SupportForce = sourceObject.SupportForce.Clone() as IFactoredForceTuple;
CheckObject.IsNull(targetObject.ShearLoads);
CheckObject.ThrowIfNull(targetObject.ShearLoads);
targetObject.ShearLoads.Clear();
CheckObject.IsNull(sourceObject.ShearLoads);
CheckObject.ThrowIfNull(sourceObject.ShearLoads);
foreach (var item in sourceObject.ShearLoads)
{
IBeamSpanLoad beamShearLoad = item.Clone() as IBeamSpanLoad;

View File

@@ -9,14 +9,14 @@ namespace StructureHelperCommon.Models.Forces.BeamShearActions
private IUpdateStrategy<IFactoredCombinationProperty> combinationUpdateStrategy;
public void Update(IBeamSpanLoad targetObject, IBeamSpanLoad sourceObject)
{
CheckObject.IsNull(targetObject);
CheckObject.IsNull(sourceObject);
CheckObject.ThrowIfNull(targetObject);
CheckObject.ThrowIfNull(sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
targetObject.Name = sourceObject.Name;
targetObject.LoadRatio = sourceObject.LoadRatio;
targetObject.RelativeLoadLevel = sourceObject.RelativeLoadLevel;
CheckObject.IsNull(sourceObject.CombinationProperty);
CheckObject.IsNull(targetObject.CombinationProperty);
CheckObject.ThrowIfNull(sourceObject.CombinationProperty);
CheckObject.ThrowIfNull(targetObject.CombinationProperty);
combinationUpdateStrategy ??= new FactoredCombinationPropertyUpdateStrategy();
combinationUpdateStrategy.Update(targetObject.CombinationProperty, sourceObject.CombinationProperty);
}

View File

@@ -15,8 +15,8 @@ namespace StructureHelperCommon.Models.Forces.BeamShearActions
private IUpdateStrategy<IDistributedLoad> distributedLoadUpdateStrategy;
public void Update(IBeamSpanLoad targetObject, IBeamSpanLoad sourceObject)
{
CheckObject.IsNull(targetObject);
CheckObject.IsNull(sourceObject);
CheckObject.ThrowIfNull(targetObject);
CheckObject.ThrowIfNull(sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
InitializeStrategies();
UpdateObjects(targetObject, sourceObject);

View File

@@ -8,8 +8,8 @@ namespace StructureHelperCommon.Models.Forces.BeamShearActions
private IUpdateStrategy<IBeamSpanLoad> baseUpdateStrategy;
public void Update(IConcentratedForce targetObject, IConcentratedForce sourceObject)
{
CheckObject.IsNull(targetObject);
CheckObject.IsNull(sourceObject);
CheckObject.ThrowIfNull(targetObject);
CheckObject.ThrowIfNull(sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
InitializeStrategies();
baseUpdateStrategy.Update(targetObject, sourceObject);

View File

@@ -8,8 +8,8 @@ namespace StructureHelperCommon.Models.Forces.BeamShearActions
private IUpdateStrategy<IBeamSpanLoad> baseUpdateStrategy;
public void Update(IDistributedLoad targetObject, IDistributedLoad sourceObject)
{
CheckObject.IsNull(targetObject);
CheckObject.IsNull(sourceObject);
CheckObject.ThrowIfNull(targetObject);
CheckObject.ThrowIfNull(sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
InitializeStrategies();
baseUpdateStrategy.Update(targetObject, sourceObject);

View File

@@ -10,8 +10,8 @@ namespace StructureHelperCommon.Models.Forces
public void Update(IAction targetObject, IAction sourceObject)
{
forceUpdateStrategy ??= new ForceActionUpdateStrategy();
CheckObject.IsNull(targetObject);
CheckObject.IsNull(sourceObject);
CheckObject.ThrowIfNull(targetObject);
CheckObject.ThrowIfNull(sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
targetObject.Name = sourceObject.Name;
if (targetObject is IForceAction forceAction)

View File

@@ -1,10 +1,6 @@
using StructureHelperCommon.Infrastructures.Exceptions;
using StructureHelperCommon.Infrastructures.Interfaces;
using StructureHelperCommon.Infrastructures.Interfaces;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StructureHelperCommon.Models.Forces.Logics
{
@@ -15,6 +11,17 @@ namespace StructureHelperCommon.Models.Forces.Logics
public string CheckResult => checkResult;
public IShiftTraceLogger? TraceLogger { get; set; }
public CheckForceActionsLogic(IShiftTraceLogger? traceLogger)
{
TraceLogger = traceLogger;
}
public CheckForceActionsLogic()
{
}
public IEnumerable<IForceAction> Entity { get; set; }
public bool Check()

View File

@@ -24,7 +24,7 @@ namespace StructureHelperCommon.Models.Forces
public IColumnFileProperty GetClone(IColumnFileProperty sourceObject)
{
CheckObject.IsNull(sourceObject);
CheckObject.ThrowIfNull(sourceObject);
if (updateStrategy is null)
{
updateStrategy = new ColumnFilePropertyUpdateStrategy();

View File

@@ -12,8 +12,8 @@ namespace StructureHelperCommon.Models.Forces
{
public void Update(IColumnFileProperty targetObject, IColumnFileProperty sourceObject)
{
CheckObject.IsNull(targetObject);
CheckObject.IsNull(sourceObject);
CheckObject.ThrowIfNull(targetObject);
CheckObject.ThrowIfNull(sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
targetObject.Name = sourceObject.Name;
targetObject.SearchingName = sourceObject.SearchingName;

View File

@@ -14,8 +14,8 @@ namespace StructureHelperCommon.Models.Forces
/// <inheritdoc/>
public void Update(IColumnedFileProperty targetObject, IColumnedFileProperty sourceObject)
{
CheckObject.IsNull(targetObject);
CheckObject.IsNull(sourceObject);
CheckObject.ThrowIfNull(targetObject);
CheckObject.ThrowIfNull(sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
UpdateObjects(targetObject, sourceObject);
}
@@ -26,8 +26,8 @@ namespace StructureHelperCommon.Models.Forces
targetObject.GlobalFactor = sourceObject.GlobalFactor;
targetObject.SkipRowBeforeHeaderCount = sourceObject.SkipRowBeforeHeaderCount;
targetObject.SkipRowHeaderCount = sourceObject.SkipRowHeaderCount;
CheckObject.IsNull(targetObject.ColumnProperties);
CheckObject.IsNull(sourceObject.ColumnProperties);
CheckObject.ThrowIfNull(targetObject.ColumnProperties);
CheckObject.ThrowIfNull(sourceObject.ColumnProperties);
targetObject.ColumnProperties.Clear();
foreach (var item in sourceObject.ColumnProperties)
{

View File

@@ -24,8 +24,8 @@ namespace StructureHelperCommon.Models.Forces.Logics
public void Update(IDesignForceTuple targetObject, IDesignForceTuple sourceObject)
{
CheckObject.IsNull(targetObject);
CheckObject.IsNull(sourceObject);
CheckObject.ThrowIfNull(targetObject);
CheckObject.ThrowIfNull(sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
targetObject.LimitState = sourceObject.LimitState;
targetObject.CalcTerm = sourceObject.CalcTerm;

View File

@@ -7,8 +7,8 @@ namespace StructureHelperCommon.Models.Forces.Logics
{
public void Update(IFactoredCombinationProperty targetObject, IFactoredCombinationProperty sourceObject)
{
CheckObject.IsNull(targetObject);
CheckObject.IsNull(sourceObject);
CheckObject.ThrowIfNull(targetObject);
CheckObject.ThrowIfNull(sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
targetObject.LimitState = sourceObject.LimitState;
targetObject.ULSFactor = sourceObject.ULSFactor;

View File

@@ -12,12 +12,12 @@ namespace StructureHelperCommon.Models.Forces
{
public void Update(IFactoredForceTuple targetObject, IFactoredForceTuple sourceObject)
{
CheckObject.IsNull(targetObject);
CheckObject.IsNull(sourceObject);
CheckObject.ThrowIfNull(targetObject);
CheckObject.ThrowIfNull(sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
CheckObject.IsNull(sourceObject.ForceTuple);
CheckObject.ThrowIfNull(sourceObject.ForceTuple);
targetObject.ForceTuple = sourceObject.ForceTuple.Clone() as IForceTuple;
CheckObject.IsNull(sourceObject.CombinationProperty);
CheckObject.ThrowIfNull(sourceObject.CombinationProperty);
targetObject.CombinationProperty = sourceObject.CombinationProperty.Clone() as IFactoredCombinationProperty;
}
}

View File

@@ -25,8 +25,8 @@ namespace StructureHelperCommon.Models.Forces
public void Update(IForceAction targetObject, IForceAction sourceObject)
{
CheckObject.IsNull(targetObject);
CheckObject.IsNull(sourceObject);
CheckObject.ThrowIfNull(targetObject);
CheckObject.ThrowIfNull(sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
targetObject.Name = sourceObject.Name;
targetObject.SetInGravityCenter = sourceObject.SetInGravityCenter;

View File

@@ -42,8 +42,8 @@ namespace StructureHelperCommon.Models.Forces
public void Update(IForceAction targetObject, IForceAction sourceObject)
{
CheckObject.IsNull(targetObject);
CheckObject.IsNull(sourceObject);
CheckObject.ThrowIfNull(targetObject);
CheckObject.ThrowIfNull(sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
forceActionUpdateStrategy.Update(targetObject, sourceObject);
UpdateChildProperties(targetObject, sourceObject);

View File

@@ -30,14 +30,14 @@ namespace StructureHelperCommon.Models.Forces
public void Update(IForceCombinationFromFile targetObject, IForceCombinationFromFile sourceObject)
{
CheckObject.IsNull(targetObject);
CheckObject.IsNull(sourceObject);
CheckObject.ThrowIfNull(targetObject);
CheckObject.ThrowIfNull(sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
InitializeLogics();
baseUpdateStrategy.Update(targetObject, sourceObject);
targetObject.SkipWrongRows = sourceObject.SkipWrongRows;
CheckObject.IsNull(targetObject.CombinationProperty, "Target object combination property");
CheckObject.IsNull(sourceObject.CombinationProperty, "Source object combination property");
CheckObject.ThrowIfNull(targetObject.CombinationProperty, "Target object combination property");
CheckObject.ThrowIfNull(sourceObject.CombinationProperty, "Source object combination property");
combinationPropertyUpdateStrategy.Update(targetObject.CombinationProperty, sourceObject.CombinationProperty);
targetObject.ForceFiles.Clear();
foreach (var file in sourceObject.ForceFiles)

View File

@@ -25,7 +25,7 @@ namespace StructureHelperCommon.Models.Forces
public void Update(IForceCombinationList targetObject, IForceCombinationList sourceObject)
{
CheckObject.IsNull(targetObject, sourceObject);
CheckObject.ThrowIfNull(targetObject, sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
targetObject.DesignForces.Clear();
foreach (var item in sourceObject.DesignForces)

View File

@@ -34,15 +34,15 @@ namespace StructureHelperCommon.Models.Forces
}
public void Update(IForceFactoredList targetObject, IForceFactoredList sourceObject)
{
CheckObject.IsNull(targetObject);
CheckObject.IsNull(sourceObject);
CheckObject.ThrowIfNull(targetObject);
CheckObject.ThrowIfNull(sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
forceActionUpdateStrategy.Update(targetObject, sourceObject);
CheckObject.IsNull(sourceObject.CombinationProperty);
CheckObject.IsNull(targetObject.CombinationProperty);
CheckObject.ThrowIfNull(sourceObject.CombinationProperty);
CheckObject.ThrowIfNull(targetObject.CombinationProperty);
propertyUpdateStrategy.Update(targetObject.CombinationProperty, sourceObject.CombinationProperty);
CheckObject.IsNull(sourceObject.ForceTuples);
CheckObject.IsNull(targetObject.ForceTuples);
CheckObject.ThrowIfNull(sourceObject.ForceTuples);
CheckObject.ThrowIfNull(targetObject.ForceTuples);
targetObject.ForceTuples.Clear();
foreach (var item in sourceObject.ForceTuples)
{

View File

@@ -13,7 +13,7 @@ namespace StructureHelperCommon.Models.Forces
{
public void Update(IForceTuple targetObject, IForceTuple sourceObject)
{
CheckObject.IsNull(targetObject, sourceObject);
CheckObject.ThrowIfNull(targetObject, sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
targetObject.Mx = sourceObject.Mx;
targetObject.My = sourceObject.My;

View File

@@ -7,7 +7,7 @@ namespace StructureHelperCommon.Models.Forces.Logics
{
public void Update(IHasForceActions targetObject, IHasForceActions sourceObject)
{
CheckObject.IsNull(targetObject, sourceObject, "Interface IHasForceCombination");
CheckObject.ThrowIfNull(targetObject, sourceObject, "Interface IHasForceCombination");
if (ReferenceEquals(targetObject, sourceObject)) { return; }
targetObject.ForceActions.Clear();
targetObject.ForceActions.AddRange(sourceObject.ForceActions);

View File

@@ -12,8 +12,8 @@ namespace StructureHelperCommon.Models.Forces
{
public void Update(IDistributedLoad targetObject, IDistributedLoad sourceObject)
{
CheckObject.IsNull(targetObject);
CheckObject.IsNull(sourceObject);
CheckObject.ThrowIfNull(targetObject);
CheckObject.ThrowIfNull(sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
targetObject.Name = sourceObject.Name;
targetObject.LoadValue = sourceObject.LoadValue;

View File

@@ -12,8 +12,8 @@ namespace StructureHelperCommon.Models.Materials.Libraries
{
public void Update(IMaterialPartialFactor targetObject, IMaterialPartialFactor sourceObject)
{
CheckObject.IsNull(sourceObject);
CheckObject.IsNull(targetObject);
CheckObject.ThrowIfNull(sourceObject);
CheckObject.ThrowIfNull(targetObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
targetObject.LimitState = sourceObject.LimitState;
targetObject.StressState = sourceObject.StressState;

View File

@@ -12,8 +12,8 @@ namespace StructureHelperCommon.Models.Materials.Libraries
{
public void Update(IMaterialSafetyFactor targetObject, IMaterialSafetyFactor sourceObject)
{
CheckObject.IsNull(sourceObject);
CheckObject.IsNull(targetObject);
CheckObject.ThrowIfNull(sourceObject);
CheckObject.ThrowIfNull(targetObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
targetObject.Name = sourceObject.Name;
targetObject.Take = sourceObject.Take;

View File

@@ -13,8 +13,8 @@ namespace StructureHelperCommon.Models.Materials.Libraries
private IUpdateStrategy<IMaterialSafetyFactor> baseUpdateStrategy = new MaterialSafetyFactorBaseUpdateStrategy();
public void Update(IMaterialSafetyFactor targetObject, IMaterialSafetyFactor sourceObject)
{
CheckObject.IsNull(sourceObject);
CheckObject.IsNull(targetObject);
CheckObject.ThrowIfNull(sourceObject);
CheckObject.ThrowIfNull(targetObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
baseUpdateStrategy.Update(targetObject, sourceObject);
targetObject.PartialFactors.Clear();

View File

@@ -12,8 +12,8 @@ namespace StructureHelperCommon.Models.Projects
{
public void Update(IFileVersion targetObject, IFileVersion sourceObject)
{
CheckObject.IsNull(targetObject);
CheckObject.IsNull(sourceObject);
CheckObject.ThrowIfNull(targetObject);
CheckObject.ThrowIfNull(sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; };
targetObject.VersionNumber = sourceObject.VersionNumber;
targetObject.SubVersionNumber = sourceObject.SubVersionNumber;

View File

@@ -26,8 +26,8 @@ namespace StructureHelperCommon.Models.Projects
public void Update(IProject targetObject, IProject 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.VisualAnalyses.Clear();
foreach (var item in sourceObject.VisualAnalyses)

View File

@@ -12,8 +12,8 @@ namespace StructureHelperCommon.Models.Shapes
{
public void Update(ICircleShape targetObject, ICircleShape sourceObject)
{
CheckObject.IsNull(sourceObject);
CheckObject.IsNull(targetObject);
CheckObject.ThrowIfNull(sourceObject);
CheckObject.ThrowIfNull(targetObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
targetObject.Diameter = sourceObject.Diameter;
}

View File

@@ -10,7 +10,7 @@ namespace StructureHelperCommon.Models.Shapes
public void Update(ILinePolygonShape targetObject, ILinePolygonShape sourceObject)
{
CheckObject.IsNull(targetObject, sourceObject);
CheckObject.ThrowIfNull(targetObject, sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
// Update simple properties

View File

@@ -8,12 +8,12 @@ namespace StructureHelperCommon.Models.Shapes
private IUpdateStrategy<IPoint2D> pointUpdateStrategy;
public void Update(IPoint2DRange targetObject, IPoint2DRange sourceObject)
{
CheckObject.IsNull(targetObject, sourceObject);
CheckObject.ThrowIfNull(targetObject, sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
CheckObject.IsNull(targetObject.StartPoint, ": range start point");
CheckObject.ThrowIfNull(targetObject.StartPoint, ": range start point");
pointUpdateStrategy ??= new Point2DUpdateStrategy();
pointUpdateStrategy.Update(targetObject.StartPoint, sourceObject.StartPoint);
CheckObject.IsNull(targetObject.EndPoint, ": range end point");
CheckObject.ThrowIfNull(targetObject.EndPoint, ": range end point");
pointUpdateStrategy.Update(targetObject.EndPoint, sourceObject.EndPoint);
}
}

View File

@@ -19,8 +19,8 @@ namespace StructureHelperCommon.Models.Shapes
/// <inheritdoc />
public void Update(IPoint2D targetObject, IPoint2D 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.X = sourceObject.X;
targetObject.Y = sourceObject.Y;

View File

@@ -12,8 +12,8 @@ namespace StructureHelperCommon.Models.Shapes
{
public void Update(IRectangleShape targetObject, IRectangleShape sourceObject)
{
CheckObject.IsNull(sourceObject);
CheckObject.IsNull(targetObject);
CheckObject.ThrowIfNull(sourceObject);
CheckObject.ThrowIfNull(targetObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
targetObject.Width = sourceObject.Width;
targetObject.Height = sourceObject.Height;

View File

@@ -13,8 +13,8 @@ namespace StructureHelperCommon.Models.Shapes
{
public void Update(IShape targetObject, IShape sourceObject)
{
CheckObject.IsNull(targetObject);
CheckObject.IsNull(sourceObject);
CheckObject.ThrowIfNull(targetObject);
CheckObject.ThrowIfNull(sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
if (sourceObject is IRectangleShape sourceRectangle)
{

View File

@@ -14,7 +14,7 @@ namespace StructureHelperCommon.Models.Shapes
public void Update(IVertex targetObject, IVertex sourceObject)
{
CheckObject.IsNull(targetObject, sourceObject);
CheckObject.ThrowIfNull(targetObject, sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
if (UpdateChildren == true)
{

View File

@@ -12,8 +12,8 @@ namespace StructureHelperCommon.Models.States
{
public void Update(IStateCalcTermPair targetObject, IStateCalcTermPair sourceObject)
{
CheckObject.IsNull(targetObject);
CheckObject.IsNull(sourceObject);
CheckObject.ThrowIfNull(targetObject);
CheckObject.ThrowIfNull(sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
targetObject.LimitState = sourceObject.LimitState;
targetObject.CalcTerm = sourceObject.CalcTerm;

View File

@@ -8,8 +8,8 @@ namespace StructureHelperCommon.Models.VisualProperties
{
public void Update(IPrimitiveVisualProperty targetObject, IPrimitiveVisualProperty 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.IsVisible = sourceObject.IsVisible;
targetObject.Color = sourceObject.Color;

View File

@@ -12,8 +12,8 @@ namespace StructureHelperCommon.Models.WorkPlanes
{
public void Update(IWorkPlaneProperty targetObject, IWorkPlaneProperty sourceObject)
{
CheckObject.IsNull(targetObject);
CheckObject.IsNull(sourceObject);
CheckObject.ThrowIfNull(targetObject);
CheckObject.ThrowIfNull(sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
targetObject.AxisLineThickness = sourceObject.AxisLineThickness;
targetObject.GridSize = sourceObject.GridSize;

View File

@@ -24,7 +24,7 @@ namespace StructureHelperCommon.Services
/// <exception cref="StructureHelperException"></exception>
public static void CompareTypes(object targetObject, object sourceObject)
{
IsNull(targetObject, sourceObject);
ThrowIfNull(targetObject, sourceObject);
if (targetObject.GetType() != sourceObject.GetType())
{
throw new StructureHelperException
@@ -32,10 +32,10 @@ namespace StructureHelperCommon.Services
}
}
public static void IsNull(object targetObject, object sourceObject, string senderName = "")
public static void ThrowIfNull(object targetObject, object sourceObject, string senderName = "")
{
IsNull(targetObject,$"{senderName} target object");
IsNull(sourceObject, $"{senderName} source object");
ThrowIfNull(targetObject,$"{senderName} target object");
ThrowIfNull(sourceObject, $"{senderName} source object");
}
/// <summary>
@@ -44,7 +44,7 @@ namespace StructureHelperCommon.Services
/// <param name="item">Checked object</param>
/// <param name="message">Message while error occur</param>
/// <exception cref="StructureHelperException"></exception>
public static void IsNull(object item, string message = "")
public static void ThrowIfNull(object item, string message = "")
{
if (item is null)
{

View File

@@ -12,7 +12,6 @@ namespace StructureHelperCommon.Services.Exports
{
public class EntitiesToDxfExportLogic : IExportToFileLogic
{
private const double metresToMillimeters = 1000.0;
private IGetDxfLayerLogic layerLogic = new GetDxfLayerLogic();
public List<(EntityObject entity, LayerNames layerName)> Entities { get; set; } = [];

View File

@@ -9,6 +9,7 @@ namespace StructureHelperCommon.Services.Exports
private const string PrimitivesLayer = "STR-PRM";
private const string OpeningsLayer = "STR-OPN";
private const string RebarLayer = "STR-REB";
private const string PointLayer = "STR-PNT";
private const string LayerNameIsUnKnown = ": Layer name is unknown";
public Layer GetOrCreateLayer(DxfDocument dxf, LayerNames layerName)
{
@@ -29,6 +30,7 @@ namespace StructureHelperCommon.Services.Exports
if (layerName == LayerNames.StructiralPrimitives) { return PrimitivesLayer; }
else if (layerName == LayerNames.StructuralOpenings) { return OpeningsLayer; }
else if (layerName == LayerNames.StructuralRebars) { return RebarLayer; }
else if (layerName == LayerNames.StructuralPoints) { return PointLayer; }
else
{
throw new StructureHelperException(ErrorStrings.ObjectTypeIsUnknownObj(layerName) + LayerNameIsUnKnown);
@@ -40,6 +42,7 @@ namespace StructureHelperCommon.Services.Exports
if (layerName == LayerNames.StructiralPrimitives) { return AciColor.Blue; }
else if (layerName == LayerNames.StructuralOpenings) { return AciColor.DarkGray; }
else if (layerName == LayerNames.StructuralRebars) { return AciColor.Magenta; }
else if (layerName == LayerNames.StructuralPoints) { return AciColor.Green; }
else
{
throw new StructureHelperException(ErrorStrings.ObjectTypeIsUnknownObj(layerName) + LayerNameIsUnKnown);

View File

@@ -10,7 +10,8 @@ namespace StructureHelperCommon.Services.Exports
{
StructiralPrimitives,
StructuralOpenings,
StructuralRebars
StructuralRebars,
StructuralPoints
}
public class ShapesExportToDxfLogic : IExportToFileLogic
{