Files
StructureHelper/StructureHelperLogics/Models/BeamShears/Logics/BeamShearRepositoryAddUpdateStrategy.cs
2025-11-16 21:03:57 +05:00

24 lines
1.0 KiB
C#

using StructureHelperCommon.Infrastructures.Exceptions;
using StructureHelperCommon.Infrastructures.Interfaces;
using StructureHelperCommon.Services;
namespace StructureHelperLogics.Models.BeamShears
{
/// <summary>
/// Add objects from one repository to another one without deleting previous objects
/// </summary>
public class BeamShearRepositoryAddUpdateStrategy : IUpdateStrategy<IBeamShearRepository>
{
public void Update(IBeamShearRepository targetObject, IBeamShearRepository sourceObject)
{
CheckObject.ThrowIfNull(sourceObject, ErrorStrings.SourceObject);
CheckObject.ThrowIfNull(targetObject, ErrorStrings.TargetObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; };
targetObject.Actions.AddRange(sourceObject.Actions);
targetObject.Sections.AddRange(sourceObject.Sections);
targetObject.Stirrups.AddRange(sourceObject.Stirrups);
targetObject.Calculators.AddRange(sourceObject.Calculators);
}
}
}