Files
StructureHelper/StructureHelperCommon/Models/Forces/BeamShearActions/BeamShearActionUpdateStrategy.cs
2025-05-24 20:26:44 +05:00

27 lines
1.0 KiB
C#

using StructureHelperCommon.Infrastructures.Interfaces;
using StructureHelperCommon.Services;
namespace StructureHelperCommon.Models.Forces.BeamShearActions
{
public class BeamShearActionUpdateStrategy : IUpdateStrategy<IBeamShearAction>
{
private IUpdateStrategy<IBeamShearAxisAction> axisActionUpdateStrategy;
public void Update(IBeamShearAction targetObject, IBeamShearAction sourceObject)
{
CheckObject.IsNull(targetObject);
CheckObject.IsNull(sourceObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; }
targetObject.Name = sourceObject.Name;
InitializeStrategies();
CheckObject.IsNull(sourceObject.SupportAction);
CheckObject.IsNull(targetObject.SupportAction);
axisActionUpdateStrategy.Update(targetObject.SupportAction, sourceObject.SupportAction);
}
private void InitializeStrategies()
{
axisActionUpdateStrategy ??= new BeamShearAxisActionUpdateStrategy();
}
}
}