using StructureHelperCommon.Infrastructures.Interfaces; using StructureHelperCommon.Models.Calculators; using StructureHelperCommon.Models.Forces; namespace StructureHelperLogics.Models.BeamShears { public class BeamShearRepository : IBeamShearRepository { private ICloneStrategy cloneStrategy; public Guid Id { get; } public List Actions { get; } = new(); public List Sections { get; } = new(); public List Stirrups { get; } = new(); public List Calculators { get; } = new(); public BeamShearRepository(Guid id) { Id = id; } public object Clone() { var cloningStrategy = new DeepCloningStrategy(); cloneStrategy = new BeamShearRepositoryCloneStrategy(cloningStrategy); var newItem = cloneStrategy.GetClone(this); return newItem; } } }