using StructureHelperCommon.Infrastructures.Interfaces; using StructureHelperCommon.Services; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace StructureHelperCommon.Models.Forces { public class ForceCombinationFromFileUpdateStrategy : IUpdateStrategy { private IUpdateStrategy baseUpdateStrategy; private IUpdateStrategy fileUpdateStrategy; public ForceCombinationFromFileUpdateStrategy(IUpdateStrategy baseUpdateStrategy, IUpdateStrategy fileUpdateStrategy) { this.baseUpdateStrategy = baseUpdateStrategy; this.fileUpdateStrategy = fileUpdateStrategy; } public ForceCombinationFromFileUpdateStrategy() : this ( new ForceActionUpdateStrategy(), new ForceFilePropertyUpdateStrategy()) { } void IUpdateStrategy.Update(IForceCombinationFromFile targetObject, IForceCombinationFromFile sourceObject) { CheckObject.IsNull(targetObject); CheckObject.IsNull(sourceObject); if (ReferenceEquals(targetObject, sourceObject)) { return; } baseUpdateStrategy.Update(targetObject, sourceObject); targetObject.ForceFiles.Clear(); foreach (var file in sourceObject.ForceFiles) { throw new NotImplementedException(); } } } }