private void RunChildActions(DataAccessor <DMSource> accessor, DMSource model)
        {
            if (model.PatchClientID == null || model.PatchType == null)
            {
                accessor.CreateObject(model);
                return;
            }
            var patchData = PatchTools.GetPatchData(model);

            if (patchData.PatchType == PatchTypeEnum.CREATE)
            {
                accessor.CreateObject(model);
            }
            else if (patchData.PatchType == PatchTypeEnum.UPDATE)
            {
                accessor.UpdateObject(model);
            }
            else if (patchData.PatchType == PatchTypeEnum.DELETE)
            {
                accessor.DeleteObject(model.ID);
            }

            accessor.DATA_MAP.ConnectionTypes.ForEach(connectionType =>
            {
                foreach (IDataModel connectionModel in accessor.DATA_MAP.ConnectionValue(connectionType, model))
                {
                    if (connectionModel.PatchType != null)
                    {
                        ExicuteNextChain(PatchTypeEnum.GetType(connectionModel.PatchType),
                                         accessor, connectionType, model, connectionModel);
                    }
                }
            });
        }
        private void RunChildAdd(DataAccessor <DMSource> accessor, DMSource model)
        {
            accessor.CreateObject(model);

            accessor.DATA_MAP.ConnectionTypes.ForEach(connectionType =>
            {
                foreach (IDataModel connectionModel in accessor.DATA_MAP.ConnectionValue(connectionType, model))
                {
                    if (connectionModel.PatchType != null)
                    {
                        ExicuteNextChain(PatchTypeEnum.GetType(connectionModel.PatchType),
                                         accessor, connectionType, model, connectionModel);
                    }
                }
            });
        }
 private void Add(DataAccessor <DMSource> accessor, DMSource model)
 {
     accessor.CreateObject(model);
 }