Add converting strategies for beam shear actions

This commit is contained in:
Evgeny Redikultsev
2025-06-07 19:37:37 +05:00
parent 957ab62ece
commit ece04ae406
45 changed files with 965 additions and 247 deletions

View File

@@ -1,17 +1,33 @@
using StructureHelperCommon.Infrastructures.Interfaces;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using StructureHelperCommon.Infrastructures.Exceptions;
using StructureHelperCommon.Infrastructures.Interfaces;
using StructureHelperCommon.Services;
using StructureHelperLogics.Models.BeamShears.Logics;
//Copyright (c) 2025 Redikultsev Evgeny, Ekaterinburg, Russia
//All rights reserved.
namespace StructureHelperLogics.Models.BeamShears
{
public class BeamShearUpdateStrategy : IUpdateStrategy<IBeamShear>
{
IProcessStrategy<IBeamShearRepository> clearStrategy;
IUpdateStrategy<IBeamShearRepository> repositoryUpdateStrategy;
public void Update(IBeamShear targetObject, IBeamShear sourceObject)
{
throw new NotImplementedException();
CheckObject.IsNull(sourceObject, ErrorStrings.SourceObject);
CheckObject.IsNull(targetObject, ErrorStrings.TargetObject);
if (ReferenceEquals(targetObject, sourceObject)) { return; };
CheckObject.IsNull(sourceObject.Repository);
CheckObject.IsNull(targetObject.Repository);
InitializeStrategies();
clearStrategy.Process(targetObject.Repository);
repositoryUpdateStrategy.Update(targetObject.Repository, sourceObject.Repository);
}
private void InitializeStrategies()
{
repositoryUpdateStrategy ??= new BeamShearRepositoryAddUpdateStrategy();
clearStrategy ??= new BeamShearReporitoryClearStrategy();
}
}
}