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

@@ -29,9 +29,9 @@ namespace DataAccess.DTOs
private void CheckObjects(BeamShearActionDTO source) private void CheckObjects(BeamShearActionDTO source)
{ {
CheckObject.IsNull(source); CheckObject.ThrowIfNull(source);
CheckObject.IsNull(source.ExternalForce); CheckObject.ThrowIfNull(source.ExternalForce);
CheckObject.IsNull(source.SupportAction); CheckObject.ThrowIfNull(source.SupportAction);
} }
private void GetNewAction(BeamShearActionDTO source) private void GetNewAction(BeamShearActionDTO source)

View File

@@ -18,9 +18,9 @@ namespace DataAccess.DTOs
public override BeamShearAxisAction GetNewItem(BeamShearAxisActionDTO source) public override BeamShearAxisAction GetNewItem(BeamShearAxisActionDTO source)
{ {
CheckObject.IsNull(source); CheckObject.ThrowIfNull(source);
CheckObject.IsNull(source.SupportForce); CheckObject.ThrowIfNull(source.SupportForce);
CheckObject.IsNull(source.ShearLoads); CheckObject.ThrowIfNull(source.ShearLoads);
InitializeStrategies(); InitializeStrategies();
GetNewAction(source); GetNewAction(source);
return NewItem; return NewItem;

View File

@@ -18,8 +18,8 @@ namespace DataAccess.DTOs
public override BeamShearCalculator GetNewItem(BeamShearCalculatorDTO source) public override BeamShearCalculator GetNewItem(BeamShearCalculatorDTO source)
{ {
CheckObject.IsNull(source); CheckObject.ThrowIfNull(source);
CheckObject.IsNull(source.InputData); CheckObject.ThrowIfNull(source.InputData);
GetNewCalculator(source); GetNewCalculator(source);
return NewItem; return NewItem;
} }

View File

@@ -16,8 +16,8 @@ namespace DataAccess.DTOs
public override BeamShear GetNewItem(BeamShearDTO source) public override BeamShear GetNewItem(BeamShearDTO source)
{ {
ChildClass = this; ChildClass = this;
CheckObject.IsNull(source); CheckObject.ThrowIfNull(source);
CheckObject.IsNull(source.Repository); CheckObject.ThrowIfNull(source.Repository);
GetNewBeamShear(source); GetNewBeamShear(source);
return NewItem; return NewItem;
} }

View File

@@ -13,7 +13,7 @@ namespace DataAccess.DTOs
public override IBeamSpanLoad GetNewItem(IBeamSpanLoad source) public override IBeamSpanLoad GetNewItem(IBeamSpanLoad source)
{ {
CheckObject.IsNull(source); CheckObject.ThrowIfNull(source);
if (source is DistributedLoadDTO distributed) if (source is DistributedLoadDTO distributed)
{ {
ProcessDistributed(distributed); ProcessDistributed(distributed);

View File

@@ -21,11 +21,11 @@ namespace DataAccess.DTOs
public void Update(IHasBeamShearActions targetObject, IHasBeamShearActions sourceObject) public void Update(IHasBeamShearActions targetObject, IHasBeamShearActions sourceObject)
{ {
CheckObject.IsNull(targetObject); CheckObject.ThrowIfNull(targetObject);
CheckObject.IsNull(sourceObject); CheckObject.ThrowIfNull(sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; } if (ReferenceEquals(targetObject, sourceObject)) { return; }
CheckObject.IsNull(sourceObject.Actions); CheckObject.ThrowIfNull(sourceObject.Actions);
CheckObject.IsNull(targetObject.Actions); CheckObject.ThrowIfNull(targetObject.Actions);
targetObject.Actions.Clear(); targetObject.Actions.Clear();
foreach (var action in sourceObject.Actions) foreach (var action in sourceObject.Actions)
{ {

View File

@@ -18,11 +18,11 @@ namespace DataAccess.DTOs
public void Update(IHasBeamShearActions targetObject, IHasBeamShearActions sourceObject) public void Update(IHasBeamShearActions targetObject, IHasBeamShearActions sourceObject)
{ {
CheckObject.IsNull(targetObject); CheckObject.ThrowIfNull(targetObject);
CheckObject.IsNull(sourceObject); CheckObject.ThrowIfNull(sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; } if (ReferenceEquals(targetObject, sourceObject)) { return; }
CheckObject.IsNull(sourceObject.Actions); CheckObject.ThrowIfNull(sourceObject.Actions);
CheckObject.IsNull(targetObject.Actions); CheckObject.ThrowIfNull(targetObject.Actions);
targetObject.Actions.Clear(); targetObject.Actions.Clear();
foreach (var action in sourceObject.Actions) foreach (var action in sourceObject.Actions)
{ {

View File

@@ -20,11 +20,11 @@ namespace DataAccess.DTOs
public void Update(IHasCalculators targetObject, IHasCalculators sourceObject) public void Update(IHasCalculators targetObject, IHasCalculators sourceObject)
{ {
CheckObject.IsNull(targetObject); CheckObject.ThrowIfNull(targetObject);
CheckObject.IsNull(sourceObject); CheckObject.ThrowIfNull(sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; } if (ReferenceEquals(targetObject, sourceObject)) { return; }
CheckObject.IsNull(sourceObject.Calculators); CheckObject.ThrowIfNull(sourceObject.Calculators);
CheckObject.IsNull(targetObject.Calculators); CheckObject.ThrowIfNull(targetObject.Calculators);
targetObject.Calculators.Clear(); targetObject.Calculators.Clear();
List<ICalculator> calculators = GetCalculators(sourceObject.Calculators); List<ICalculator> calculators = GetCalculators(sourceObject.Calculators);
targetObject.Calculators.AddRange(calculators); targetObject.Calculators.AddRange(calculators);

View File

@@ -20,11 +20,11 @@ namespace DataAccess.DTOs
public void Update(IHasCalculators targetObject, IHasCalculators sourceObject) public void Update(IHasCalculators targetObject, IHasCalculators sourceObject)
{ {
CheckObject.IsNull(targetObject); CheckObject.ThrowIfNull(targetObject);
CheckObject.IsNull(sourceObject); CheckObject.ThrowIfNull(sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; } if (ReferenceEquals(targetObject, sourceObject)) { return; }
CheckObject.IsNull(sourceObject.Calculators); CheckObject.ThrowIfNull(sourceObject.Calculators);
CheckObject.IsNull(targetObject.Calculators); CheckObject.ThrowIfNull(targetObject.Calculators);
targetObject.Calculators.Clear(); targetObject.Calculators.Clear();
List<ICalculator> calculators = GetCalculators(sourceObject.Calculators); List<ICalculator> calculators = GetCalculators(sourceObject.Calculators);
targetObject.Calculators.AddRange(calculators); targetObject.Calculators.AddRange(calculators);

View File

@@ -20,11 +20,11 @@ namespace DataAccess.DTOs
public void Update(IHasBeamShearSections targetObject, IHasBeamShearSections sourceObject) public void Update(IHasBeamShearSections targetObject, IHasBeamShearSections sourceObject)
{ {
CheckObject.IsNull(targetObject); CheckObject.ThrowIfNull(targetObject);
CheckObject.IsNull(sourceObject); CheckObject.ThrowIfNull(sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; } if (ReferenceEquals(targetObject, sourceObject)) { return; }
CheckObject.IsNull(sourceObject.Sections); CheckObject.ThrowIfNull(sourceObject.Sections);
CheckObject.IsNull(targetObject.Sections); CheckObject.ThrowIfNull(targetObject.Sections);
targetObject.Sections.Clear(); targetObject.Sections.Clear();
foreach (var section in sourceObject.Sections) foreach (var section in sourceObject.Sections)
{ {

View File

@@ -19,11 +19,11 @@ namespace DataAccess.DTOs
public void Update(IHasBeamShearSections targetObject, IHasBeamShearSections sourceObject) public void Update(IHasBeamShearSections targetObject, IHasBeamShearSections sourceObject)
{ {
CheckObject.IsNull(targetObject); CheckObject.ThrowIfNull(targetObject);
CheckObject.IsNull(sourceObject); CheckObject.ThrowIfNull(sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; } if (ReferenceEquals(targetObject, sourceObject)) { return; }
CheckObject.IsNull(sourceObject.Sections); CheckObject.ThrowIfNull(sourceObject.Sections);
CheckObject.IsNull(targetObject.Sections); CheckObject.ThrowIfNull(targetObject.Sections);
InitializeStrategies(); InitializeStrategies();
targetObject.Sections.Clear(); targetObject.Sections.Clear();
foreach (var section in sourceObject.Sections) foreach (var section in sourceObject.Sections)

View File

@@ -21,11 +21,11 @@ namespace DataAccess.DTOs
public void Update(IHasStirrups targetObject, IHasStirrups sourceObject) public void Update(IHasStirrups targetObject, IHasStirrups sourceObject)
{ {
CheckObject.IsNull(targetObject); CheckObject.ThrowIfNull(targetObject);
CheckObject.IsNull(sourceObject); CheckObject.ThrowIfNull(sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; } if (ReferenceEquals(targetObject, sourceObject)) { return; }
CheckObject.IsNull(sourceObject.Stirrups); CheckObject.ThrowIfNull(sourceObject.Stirrups);
CheckObject.IsNull(targetObject.Stirrups); CheckObject.ThrowIfNull(targetObject.Stirrups);
targetObject.Stirrups.Clear(); targetObject.Stirrups.Clear();
List<IStirrup> stirrups = GetStirrups(sourceObject.Stirrups); List<IStirrup> stirrups = GetStirrups(sourceObject.Stirrups);
targetObject.Stirrups.AddRange(stirrups); targetObject.Stirrups.AddRange(stirrups);

View File

@@ -21,11 +21,11 @@ namespace DataAccess.DTOs
public void Update(IHasStirrups targetObject, IHasStirrups sourceObject) public void Update(IHasStirrups targetObject, IHasStirrups sourceObject)
{ {
CheckObject.IsNull(targetObject); CheckObject.ThrowIfNull(targetObject);
CheckObject.IsNull(sourceObject); CheckObject.ThrowIfNull(sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; } if (ReferenceEquals(targetObject, sourceObject)) { return; }
CheckObject.IsNull(sourceObject.Stirrups); CheckObject.ThrowIfNull(sourceObject.Stirrups);
CheckObject.IsNull(targetObject.Stirrups); CheckObject.ThrowIfNull(targetObject.Stirrups);
targetObject.Stirrups.Clear(); targetObject.Stirrups.Clear();
List<IStirrup> stirrups = GetStirrups(sourceObject.Stirrups); List<IStirrup> stirrups = GetStirrups(sourceObject.Stirrups);
targetObject.Stirrups.AddRange(stirrups); targetObject.Stirrups.AddRange(stirrups);

View File

@@ -43,9 +43,9 @@ namespace DataAccess.DTOs
private static void CheckObjects(FactoredForceTupleDTO source) private static void CheckObjects(FactoredForceTupleDTO source)
{ {
CheckObject.IsNull(source); CheckObject.ThrowIfNull(source);
CheckObject.IsNull(source.ForceTuple); CheckObject.ThrowIfNull(source.ForceTuple);
CheckObject.IsNull(source.CombinationProperty); CheckObject.ThrowIfNull(source.CombinationProperty);
} }
private void InitializeStrategies() private void InitializeStrategies()

View File

@@ -47,7 +47,7 @@ namespace DataAccess.DTOs
private void SetForceTuples(ForceFactoredListDTO source, ForceFactoredList newItem) private void SetForceTuples(ForceFactoredListDTO source, ForceFactoredList newItem)
{ {
CheckObject.IsNull(newItem.ForceTuples, nameof(newItem.ForceTuples)); CheckObject.ThrowIfNull(newItem.ForceTuples, nameof(newItem.ForceTuples));
newItem.ForceTuples.Clear(); newItem.ForceTuples.Clear();
foreach (var item in source.ForceTuples) foreach (var item in source.ForceTuples)
{ {

View File

@@ -21,7 +21,7 @@ namespace DataAccess.DTOs
public void Update(IHasForceActions targetObject, IHasForceActions sourceObject) public void Update(IHasForceActions targetObject, IHasForceActions sourceObject)
{ {
CheckObject.IsNull(targetObject, sourceObject); CheckObject.ThrowIfNull(targetObject, sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; } if (ReferenceEquals(targetObject, sourceObject)) { return; }
targetObject.ForceActions.Clear(); targetObject.ForceActions.Clear();
foreach (var item in sourceObject.ForceActions) foreach (var item in sourceObject.ForceActions)

View File

@@ -20,8 +20,8 @@ namespace DataAccess.DTOs
public void Update(IHasVisualProperty targetObject, IHasVisualProperty sourceObject) public void Update(IHasVisualProperty targetObject, IHasVisualProperty sourceObject)
{ {
CheckObject.IsNull(targetObject); CheckObject.ThrowIfNull(targetObject);
CheckObject.IsNull(sourceObject); CheckObject.ThrowIfNull(sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; } if (ReferenceEquals(targetObject, sourceObject)) { return; }
convertStrategy = new DictionaryConvertStrategy<PrimitiveVisualProperty, PrimitiveVisualPropertyDTO>( convertStrategy = new DictionaryConvertStrategy<PrimitiveVisualProperty, PrimitiveVisualPropertyDTO>(
referenceDictionary, referenceDictionary,

View File

@@ -20,8 +20,8 @@ namespace DataAccess.DTOs
public void Update(IHasVisualProperty targetObject, IHasVisualProperty sourceObject) public void Update(IHasVisualProperty targetObject, IHasVisualProperty sourceObject)
{ {
CheckObject.IsNull(targetObject); CheckObject.ThrowIfNull(targetObject);
CheckObject.IsNull(sourceObject); CheckObject.ThrowIfNull(sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; } if (ReferenceEquals(targetObject, sourceObject)) { return; }
convertStrategy = new DictionaryConvertStrategy<PrimitiveVisualPropertyDTO, IPrimitiveVisualProperty>( convertStrategy = new DictionaryConvertStrategy<PrimitiveVisualPropertyDTO, IPrimitiveVisualProperty>(
referenceDictionary, referenceDictionary,

View File

@@ -28,8 +28,8 @@ namespace DataAccess.DTOs
public void Update(IHelperMaterial targetObject, IHelperMaterial sourceObject) public void Update(IHelperMaterial targetObject, IHelperMaterial sourceObject)
{ {
CheckObject.IsNull(sourceObject); CheckObject.ThrowIfNull(sourceObject);
CheckObject.IsNull(targetObject); CheckObject.ThrowIfNull(targetObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; } if (ReferenceEquals(targetObject, sourceObject)) { return; }
if (sourceObject.SafetyFactors is not null) if (sourceObject.SafetyFactors is not null)
{ {

View File

@@ -16,8 +16,8 @@ namespace DataAccess.DTOs
/// <inheritdoc/> /// <inheritdoc/>
public void Update(ILibMaterial targetObject, ILibMaterial sourceObject) public void Update(ILibMaterial targetObject, ILibMaterial sourceObject)
{ {
CheckObject.IsNull(sourceObject); CheckObject.ThrowIfNull(sourceObject);
CheckObject.IsNull(targetObject); CheckObject.ThrowIfNull(targetObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; } if (ReferenceEquals(targetObject, sourceObject)) { return; }
} }
} }

View File

@@ -15,7 +15,7 @@ namespace DataAccess.DTOs.Converters
public void Update(IHasPrimitives targetObject, IHasPrimitives sourceObject) public void Update(IHasPrimitives targetObject, IHasPrimitives sourceObject)
{ {
CheckObject.IsNull(targetObject, sourceObject); CheckObject.ThrowIfNull(targetObject, sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; } if (ReferenceEquals(targetObject, sourceObject)) { return; }
targetObject.Primitives.Clear(); targetObject.Primitives.Clear();
foreach (var item in sourceObject.Primitives) foreach (var item in sourceObject.Primitives)

View File

@@ -34,9 +34,9 @@ namespace DataAccess.DTOs
private static void CheckSourceObject(Point2DRangeDTO source) private static void CheckSourceObject(Point2DRangeDTO source)
{ {
CheckObject.IsNull(source, ": point range source object"); CheckObject.ThrowIfNull(source, ": point range source object");
CheckObject.IsNull(source.StartPoint + ": point range start point"); CheckObject.ThrowIfNull(source.StartPoint + ": point range start point");
CheckObject.IsNull(source.EndPoint + ": point range end point"); CheckObject.ThrowIfNull(source.EndPoint + ": point range end point");
} }
private void InitializeStrategies() private void InitializeStrategies()

View File

@@ -27,14 +27,14 @@ namespace DataAccess.DTOs
updateStrategy.Update(NewItem, source); updateStrategy.Update(NewItem, source);
ProcessPrimitives(source); ProcessPrimitives(source);
ProcessActions(source); ProcessActions(source);
NewItem.Digrams.Clear(); NewItem.Diagrams.Clear();
foreach (var diagram in source.Digrams) foreach (var diagram in source.Diagrams)
{ {
if (diagram is not ValueDiagramEntityDTO diagramDTO) if (diagram is not ValueDiagramEntityDTO diagramDTO)
{ {
throw new StructureHelperException(ErrorStrings.ObjectTypeIsUnknownObj(diagram)); throw new StructureHelperException(ErrorStrings.ObjectTypeIsUnknownObj(diagram));
} }
NewItem.Digrams.Add(diagramConvertStrategy.Convert(diagramDTO)); NewItem.Diagrams.Add(diagramConvertStrategy.Convert(diagramDTO));
} }
return NewItem; return NewItem;
} }

View File

@@ -28,10 +28,10 @@ namespace DataAccess.DTOs
updateStrategy.Update(NewItem, source); updateStrategy.Update(NewItem, source);
ProcessPrimitives(source); ProcessPrimitives(source);
ProcessActions(source); ProcessActions(source);
NewItem.Digrams.Clear(); NewItem.Diagrams.Clear();
foreach (var diagram in source.Digrams) foreach (var diagram in source.Diagrams)
{ {
NewItem.Digrams.Add(diagramConvertStrategy.Convert(diagram)); NewItem.Diagrams.Add(diagramConvertStrategy.Convert(diagram));
} }
return NewItem; return NewItem;
} }

View File

@@ -19,11 +19,11 @@ namespace DataAccess.DTOs
NewItem = new(source.Id); NewItem = new(source.Id);
InitializeStrategies(); InitializeStrategies();
updateStrategy.Update(NewItem, source); updateStrategy.Update(NewItem, source);
if (source.ValueDigram is not ValueDiagramDTO diagramDTO) if (source.ValueDiagram is not ValueDiagramDTO diagramDTO)
{ {
throw new StructureHelperException(ErrorStrings.ObjectTypeIsUnknownObj(source.ValueDigram)); throw new StructureHelperException(ErrorStrings.ObjectTypeIsUnknownObj(source.ValueDiagram));
} }
NewItem.ValueDigram = diagramConvertStrategy.Convert(diagramDTO); NewItem.ValueDiagram = diagramConvertStrategy.Convert(diagramDTO);
return NewItem; return NewItem;
} }

View File

@@ -18,7 +18,7 @@ namespace DataAccess.DTOs
NewItem = new(source.Id); NewItem = new(source.Id);
InitializeStrategies(); InitializeStrategies();
updateStrategy.Update(NewItem, source); updateStrategy.Update(NewItem, source);
NewItem.ValueDigram = diagramConvertStrategy.Convert(source.ValueDigram); NewItem.ValueDiagram = diagramConvertStrategy.Convert(source.ValueDiagram);
return NewItem; return NewItem;
} }

View File

@@ -13,7 +13,7 @@ namespace DataAccess.DTOs
[JsonProperty("StateTermPair")] [JsonProperty("StateTermPair")]
public IStateCalcTermPair StateTermPair { get; set; } = new StateCalcTermPairDTO(); public IStateCalcTermPair StateTermPair { get; set; } = new StateCalcTermPairDTO();
[JsonProperty("Diagrams")] [JsonProperty("Diagrams")]
public List<IValueDiagramEntity> Digrams { get; } = []; public List<IValueDiagramEntity> Diagrams { get; } = [];
[JsonProperty("CheckStrainLimits")] [JsonProperty("CheckStrainLimits")]
public bool CheckStrainLimit { get; set; } = true; public bool CheckStrainLimit { get; set; } = true;
[JsonProperty("ForceActions")] [JsonProperty("ForceActions")]

View File

@@ -12,7 +12,7 @@ namespace DataAccess.DTOs
[JsonProperty("IsTaken")] [JsonProperty("IsTaken")]
public bool IsTaken { get; set; } public bool IsTaken { get; set; }
[JsonProperty("ValueDiagram")] [JsonProperty("ValueDiagram")]
public IValueDiagram ValueDigram { get; set; } public IValueDiagram ValueDiagram { get; set; }
public ValueDiagramEntityDTO(Guid id) public ValueDiagramEntityDTO(Guid id)

File diff suppressed because it is too large Load Diff

View File

@@ -37,10 +37,22 @@
<RowDefinition Height="auto"/> <RowDefinition Height="auto"/>
<RowDefinition Height="*"/> <RowDefinition Height="*"/>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<StackPanel Height="25" Orientation="Horizontal" HorizontalAlignment="Right" Visibility="{Binding ShowButtons, Converter={StaticResource BooleanToVisibilityConverter}}"> <StackPanel Height="27" Orientation="Horizontal" HorizontalAlignment="Right" Visibility="{Binding ShowButtons, Converter={StaticResource BooleanToVisibilityConverter}}">
<Button Content="Select All" Command="{Binding SelectAllCommand}"/> <Button Margin="0,0,2,0" Command="{Binding SelectAllCommand}" ToolTip="Select all">
<Button Content="Unselect All" Command="{Binding UnSelectAllCommand}"/> <Viewbox Width="24" Height="24">
<Button Content="Invert Selection" Command="{Binding InvertSelectionCommand}"/> <ContentControl ContentTemplate="{StaticResource SelectAll}"/>
</Viewbox>
</Button>
<Button Margin="0,0,2,0" Command="{Binding UnSelectAllCommand}" ToolTip="Unselect all">
<Viewbox Width="24" Height="24">
<ContentControl ContentTemplate="{StaticResource DeSelectAll}"/>
</Viewbox>
</Button>
<Button Margin="0,0,2,0" Command="{Binding InvertSelectionCommand}" ToolTip="Invert selection">
<Viewbox Width="24" Height="24">
<ContentControl ContentTemplate="{StaticResource InvertSelection}"/>
</Viewbox>
</Button>
</StackPanel> </StackPanel>
<ScrollViewer Grid.Row="1" VerticalScrollBarVisibility="Visible"> <ScrollViewer Grid.Row="1" VerticalScrollBarVisibility="Visible">
<ListBox ItemsSource="{Binding CollectionItems}" SelectedItem="SelectedItem" HorizontalAlignment="Stretch"> <ListBox ItemsSource="{Binding CollectionItems}" SelectedItem="SelectedItem" HorizontalAlignment="Stretch">

View File

@@ -49,5 +49,5 @@ using System.Windows;
// Можно задать все значения или принять номера сборки и редакции по умолчанию // Можно задать все значения или принять номера сборки и редакции по умолчанию
// используя "*", как показано ниже: // используя "*", как показано ниже:
// [assembly: AssemblyVersion("1.0.*")] // [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("2025.07.23.01")] [assembly: AssemblyVersion("2025.11.17.01")]
[assembly: AssemblyFileVersion("2025.07.23.01")] [assembly: AssemblyFileVersion("2025.11.17.01")]

View File

@@ -32,7 +32,7 @@ namespace StructureHelper.Windows.CalculationWindows.CalculatorsViews.ValueDiagr
this.inputData = inputData; this.inputData = inputData;
this.repository = repository; this.repository = repository;
StateCalcTermPairViewModel = new(inputData.StateTermPair); StateCalcTermPairViewModel = new(inputData.StateTermPair);
ValueDiagramsViewModel = new(inputData.Digrams); ValueDiagramsViewModel = new(inputData.Diagrams);
CombinationViewModel = SourceTargetFactory.GetSourceTargetVM(repository.ForceActions, inputData.ForceActions); CombinationViewModel = SourceTargetFactory.GetSourceTargetVM(repository.ForceActions, inputData.ForceActions);
PrimitivesViewModel = SourceTargetFactory.GetSourceTargetVM(repository.Primitives, inputData.Primitives); PrimitivesViewModel = SourceTargetFactory.GetSourceTargetVM(repository.Primitives, inputData.Primitives);
} }

View File

@@ -31,7 +31,7 @@ namespace StructureHelper.Windows.CalculationWindows.CalculatorsViews.ValueDiagr
public ValueDiagramEntityViewModel(IValueDiagramEntity valueDiagramEntity) public ValueDiagramEntityViewModel(IValueDiagramEntity valueDiagramEntity)
{ {
this.valueDiagramEntity = valueDiagramEntity; this.valueDiagramEntity = valueDiagramEntity;
ValueDiagram = new(valueDiagramEntity.ValueDigram); ValueDiagram = new(valueDiagramEntity.ValueDiagram);
} }
} }
} }

View File

@@ -19,9 +19,9 @@ namespace StructureHelper.Windows.CalculationWindows.CalculatorsViews.ValueDiagr
IsTaken = true, IsTaken = true,
Name = "New Value Diagram" Name = "New Value Diagram"
}; };
NewItem.ValueDigram.StepNumber = 50; NewItem.ValueDiagram.StepNumber = 50;
NewItem.ValueDigram.Point2DRange.StartPoint.Y = 0.25; NewItem.ValueDiagram.Point2DRange.StartPoint.Y = 0.25;
NewItem.ValueDigram.Point2DRange.EndPoint.Y = - 0.25; NewItem.ValueDiagram.Point2DRange.EndPoint.Y = - 0.25;
base.AddMethod(parameter); base.AddMethod(parameter);
} }
public override void EditMethod(object parameter) public override void EditMethod(object parameter)

View File

@@ -8,7 +8,7 @@
xmlns:uc="clr-namespace:StructureHelper.Windows.UserControls" xmlns:uc="clr-namespace:StructureHelper.Windows.UserControls"
d:DataContext="{d:DesignInstance local:GraphViewModel}" d:DataContext="{d:DesignInstance local:GraphViewModel}"
mc:Ignorable="d" mc:Ignorable="d"
Title="Graph" Height="650" Width="1000" MinHeight="500" MinWidth="600" MaxHeight="1100" MaxWidth="1800" WindowStartupLocation="CenterScreen"> Title="Graph" Height="750" Width="1200" MinHeight="500" MinWidth="600" MaxHeight="1100" MaxWidth="1800" WindowStartupLocation="CenterScreen">
<DockPanel> <DockPanel>
<ToolBarTray DockPanel.Dock="Top"> <ToolBarTray DockPanel.Dock="Top">
<ToolBar> <ToolBar>
@@ -57,7 +57,7 @@
</ToolBarTray> </ToolBarTray>
<Grid x:Name="MainGrid"> <Grid x:Name="MainGrid">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition MinWidth="250"/> <ColumnDefinition MinWidth="300"/>
<ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="5*"/> <ColumnDefinition Width="5*"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>

View File

@@ -83,7 +83,8 @@ namespace StructureHelper.Windows.MainWindow.CrossSections
} }
} }
data[pointPrimitives.Count, 0] = GetDistance(startPoint, endPoint); double fullLength = GetDistance(startPoint, endPoint);
data[pointPrimitives.Count, 0] = fullLength;
data[pointPrimitives.Count, 1] = endPoint.X; data[pointPrimitives.Count, 1] = endPoint.X;
data[pointPrimitives.Count, 2] = endPoint.Y; data[pointPrimitives.Count, 2] = endPoint.Y;
@@ -91,7 +92,7 @@ namespace StructureHelper.Windows.MainWindow.CrossSections
data[pointPrimitives.Count + 1, 1] = startPoint.X; data[pointPrimitives.Count + 1, 1] = startPoint.X;
data[pointPrimitives.Count + 1, 2] = startPoint.Y; data[pointPrimitives.Count + 1, 2] = startPoint.Y;
data[pointPrimitives.Count, 0] = 0.0; data[pointPrimitives.Count + 2, 0] = 0.0;
data[pointPrimitives.Count + 2, 1] = startPoint.X; data[pointPrimitives.Count + 2, 1] = startPoint.X;
data[pointPrimitives.Count + 2, 2] = startPoint.Y; data[pointPrimitives.Count + 2, 2] = startPoint.Y;
for (int j = 0; j < resultFuncs.Count; j++) for (int j = 0; j < resultFuncs.Count; j++)

View File

@@ -13,6 +13,7 @@
<RowDefinition Height="*"/> <RowDefinition Height="*"/>
<RowDefinition Height="35"/> <RowDefinition Height="35"/>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<!--ItemEditPanels-->
<ContentControl ContentTemplate="{StaticResource ResourceKey=SelectItems}" Content="{Binding Items}"/> <ContentControl ContentTemplate="{StaticResource ResourceKey=SelectItems}" Content="{Binding Items}"/>
<ContentControl Grid.Row="1" ContentTemplate="{StaticResource OkCancelButtons}" Content="{Binding}"/> <ContentControl Grid.Row="1" ContentTemplate="{StaticResource OkCancelButtons}" Content="{Binding}"/>
</Grid> </Grid>

View File

@@ -12,7 +12,7 @@ namespace StructureHelperCommon.Infrastructures.Interfaces
public abstract void Update(T targetObject, T sourceObject); public abstract void Update(T targetObject, T sourceObject);
public void Check(T targetObject, T sourceObject) public void Check(T targetObject, T sourceObject)
{ {
CheckObject.IsNull(targetObject, sourceObject); CheckObject.ThrowIfNull(targetObject, sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }; 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) public void Update(IHasForceActions targetObject, IHasForceActions sourceObject)
{ {
CheckObject.IsNull(cloningStrategy); CheckObject.ThrowIfNull(cloningStrategy);
CheckObject.IsNull(sourceObject); CheckObject.ThrowIfNull(sourceObject);
CheckObject.IsNull(targetObject); CheckObject.ThrowIfNull(targetObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; } if (ReferenceEquals(targetObject, sourceObject)) { return; }
targetObject.ForceActions.Clear(); targetObject.ForceActions.Clear();
foreach (var force in sourceObject.ForceActions) foreach (var force in sourceObject.ForceActions)

View File

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

View File

@@ -13,8 +13,8 @@ namespace StructureHelperCommon.Models.Analyses
{ {
public void Update(IDateVersion targetObject, IDateVersion sourceObject) public void Update(IDateVersion targetObject, IDateVersion sourceObject)
{ {
CheckObject.IsNull(sourceObject, ErrorStrings.SourceObject); CheckObject.ThrowIfNull(sourceObject, ErrorStrings.SourceObject);
CheckObject.IsNull(targetObject, ErrorStrings.TargetObject); CheckObject.ThrowIfNull(targetObject, ErrorStrings.TargetObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }; if (ReferenceEquals(targetObject, sourceObject)) { return; };
targetObject.DateTime = sourceObject.DateTime; targetObject.DateTime = sourceObject.DateTime;
} }

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -10,8 +10,8 @@ namespace StructureHelperCommon.Models.Forces
public void Update(IAction targetObject, IAction sourceObject) public void Update(IAction targetObject, IAction sourceObject)
{ {
forceUpdateStrategy ??= new ForceActionUpdateStrategy(); forceUpdateStrategy ??= new ForceActionUpdateStrategy();
CheckObject.IsNull(targetObject); CheckObject.ThrowIfNull(targetObject);
CheckObject.IsNull(sourceObject); CheckObject.ThrowIfNull(sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; } if (ReferenceEquals(targetObject, sourceObject)) { return; }
targetObject.Name = sourceObject.Name; targetObject.Name = sourceObject.Name;
if (targetObject is IForceAction forceAction) 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;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StructureHelperCommon.Models.Forces.Logics namespace StructureHelperCommon.Models.Forces.Logics
{ {
@@ -15,6 +11,17 @@ namespace StructureHelperCommon.Models.Forces.Logics
public string CheckResult => checkResult; public string CheckResult => checkResult;
public IShiftTraceLogger? TraceLogger { get; set; } public IShiftTraceLogger? TraceLogger { get; set; }
public CheckForceActionsLogic(IShiftTraceLogger? traceLogger)
{
TraceLogger = traceLogger;
}
public CheckForceActionsLogic()
{
}
public IEnumerable<IForceAction> Entity { get; set; } public IEnumerable<IForceAction> Entity { get; set; }
public bool Check() public bool Check()

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -26,8 +26,8 @@ namespace StructureHelperCommon.Models.Projects
public void Update(IProject targetObject, IProject sourceObject) public void Update(IProject targetObject, IProject sourceObject)
{ {
CheckObject.IsNull(sourceObject, ErrorStrings.SourceObject); CheckObject.ThrowIfNull(sourceObject, ErrorStrings.SourceObject);
CheckObject.IsNull(targetObject, ErrorStrings.TargetObject); CheckObject.ThrowIfNull(targetObject, ErrorStrings.TargetObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; } if (ReferenceEquals(targetObject, sourceObject)) { return; }
targetObject.VisualAnalyses.Clear(); targetObject.VisualAnalyses.Clear();
foreach (var item in sourceObject.VisualAnalyses) foreach (var item in sourceObject.VisualAnalyses)

View File

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

View File

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

View File

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

View File

@@ -19,8 +19,8 @@ namespace StructureHelperCommon.Models.Shapes
/// <inheritdoc /> /// <inheritdoc />
public void Update(IPoint2D targetObject, IPoint2D sourceObject) public void Update(IPoint2D targetObject, IPoint2D sourceObject)
{ {
CheckObject.IsNull(sourceObject, ErrorStrings.SourceObject); CheckObject.ThrowIfNull(sourceObject, ErrorStrings.SourceObject);
CheckObject.IsNull(targetObject, ErrorStrings.TargetObject); CheckObject.ThrowIfNull(targetObject, ErrorStrings.TargetObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; } if (ReferenceEquals(targetObject, sourceObject)) { return; }
targetObject.X = sourceObject.X; targetObject.X = sourceObject.X;
targetObject.Y = sourceObject.Y; targetObject.Y = sourceObject.Y;

View File

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

View File

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

View File

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

View File

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

View File

@@ -8,8 +8,8 @@ namespace StructureHelperCommon.Models.VisualProperties
{ {
public void Update(IPrimitiveVisualProperty targetObject, IPrimitiveVisualProperty sourceObject) public void Update(IPrimitiveVisualProperty targetObject, IPrimitiveVisualProperty sourceObject)
{ {
CheckObject.IsNull(sourceObject, ErrorStrings.SourceObject); CheckObject.ThrowIfNull(sourceObject, ErrorStrings.SourceObject);
CheckObject.IsNull(targetObject, ErrorStrings.TargetObject); CheckObject.ThrowIfNull(targetObject, ErrorStrings.TargetObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; } if (ReferenceEquals(targetObject, sourceObject)) { return; }
targetObject.IsVisible = sourceObject.IsVisible; targetObject.IsVisible = sourceObject.IsVisible;
targetObject.Color = sourceObject.Color; targetObject.Color = sourceObject.Color;

View File

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

View File

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

View File

@@ -12,7 +12,6 @@ namespace StructureHelperCommon.Services.Exports
{ {
public class EntitiesToDxfExportLogic : IExportToFileLogic public class EntitiesToDxfExportLogic : IExportToFileLogic
{ {
private const double metresToMillimeters = 1000.0;
private IGetDxfLayerLogic layerLogic = new GetDxfLayerLogic(); private IGetDxfLayerLogic layerLogic = new GetDxfLayerLogic();
public List<(EntityObject entity, LayerNames layerName)> Entities { get; set; } = []; 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 PrimitivesLayer = "STR-PRM";
private const string OpeningsLayer = "STR-OPN"; private const string OpeningsLayer = "STR-OPN";
private const string RebarLayer = "STR-REB"; private const string RebarLayer = "STR-REB";
private const string PointLayer = "STR-PNT";
private const string LayerNameIsUnKnown = ": Layer name is unknown"; private const string LayerNameIsUnKnown = ": Layer name is unknown";
public Layer GetOrCreateLayer(DxfDocument dxf, LayerNames layerName) public Layer GetOrCreateLayer(DxfDocument dxf, LayerNames layerName)
{ {
@@ -29,6 +30,7 @@ namespace StructureHelperCommon.Services.Exports
if (layerName == LayerNames.StructiralPrimitives) { return PrimitivesLayer; } if (layerName == LayerNames.StructiralPrimitives) { return PrimitivesLayer; }
else if (layerName == LayerNames.StructuralOpenings) { return OpeningsLayer; } else if (layerName == LayerNames.StructuralOpenings) { return OpeningsLayer; }
else if (layerName == LayerNames.StructuralRebars) { return RebarLayer; } else if (layerName == LayerNames.StructuralRebars) { return RebarLayer; }
else if (layerName == LayerNames.StructuralPoints) { return PointLayer; }
else else
{ {
throw new StructureHelperException(ErrorStrings.ObjectTypeIsUnknownObj(layerName) + LayerNameIsUnKnown); throw new StructureHelperException(ErrorStrings.ObjectTypeIsUnknownObj(layerName) + LayerNameIsUnKnown);
@@ -40,6 +42,7 @@ namespace StructureHelperCommon.Services.Exports
if (layerName == LayerNames.StructiralPrimitives) { return AciColor.Blue; } if (layerName == LayerNames.StructiralPrimitives) { return AciColor.Blue; }
else if (layerName == LayerNames.StructuralOpenings) { return AciColor.DarkGray; } else if (layerName == LayerNames.StructuralOpenings) { return AciColor.DarkGray; }
else if (layerName == LayerNames.StructuralRebars) { return AciColor.Magenta; } else if (layerName == LayerNames.StructuralRebars) { return AciColor.Magenta; }
else if (layerName == LayerNames.StructuralPoints) { return AciColor.Green; }
else else
{ {
throw new StructureHelperException(ErrorStrings.ObjectTypeIsUnknownObj(layerName) + LayerNameIsUnKnown); throw new StructureHelperException(ErrorStrings.ObjectTypeIsUnknownObj(layerName) + LayerNameIsUnKnown);

View File

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

View File

@@ -14,8 +14,8 @@ namespace StructureHelperLogics.Models.Analyses
public void Update(IBeamShearAnalysis targetObject, IBeamShearAnalysis sourceObject) public void Update(IBeamShearAnalysis targetObject, IBeamShearAnalysis sourceObject)
{ {
CheckObject.IsNull(sourceObject, ErrorStrings.SourceObject); CheckObject.ThrowIfNull(sourceObject, ErrorStrings.SourceObject);
CheckObject.IsNull(targetObject, ErrorStrings.TargetObject); CheckObject.ThrowIfNull(targetObject, ErrorStrings.TargetObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }; if (ReferenceEquals(targetObject, sourceObject)) { return; };
InitialzeStrategies(); InitialzeStrategies();
analysisUpdateStrategy.Update(targetObject, sourceObject); analysisUpdateStrategy.Update(targetObject, sourceObject);

View File

@@ -32,8 +32,8 @@ namespace StructureHelperLogics.Models.Analyses
public void Update(ICrossSectionNdmAnalysis targetObject, ICrossSectionNdmAnalysis sourceObject) public void Update(ICrossSectionNdmAnalysis targetObject, ICrossSectionNdmAnalysis sourceObject)
{ {
CheckObject.IsNull(sourceObject, ErrorStrings.SourceObject); CheckObject.ThrowIfNull(sourceObject, ErrorStrings.SourceObject);
CheckObject.IsNull(targetObject, ErrorStrings.TargetObject); CheckObject.ThrowIfNull(targetObject, ErrorStrings.TargetObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }; if (ReferenceEquals(targetObject, sourceObject)) { return; };
analysisUpdateStrategy.Update(targetObject, sourceObject); analysisUpdateStrategy.Update(targetObject, sourceObject);
targetObject.VersionProcessor.Versions.Clear(); targetObject.VersionProcessor.Versions.Clear();

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

Some files were not shown because too many files have changed in this diff Show More