public TemplateNodeInfo Instantiate(ConnectionData connection, DataRow row, TemplateNodeQueryInfo replicationSourceQuery, TemplateNodeInfo parent) { Debug.Assert(!IsInstance); Debug.Assert(NeedDataRowToBeInstantiated); var result = (TemplateNodeInfo)MemberwiseClone(); result.Childs = new List <TemplateNodeInfo>(); result.Template = this; result.Attributes = new NodeAttirbutes(result, row); result.Connection = connection; result.ReplicationSourceQuery = replicationSourceQuery; result.Queries = Queries.Select(q => q.Clone()).ToList(); result.ConnectionQueries = ConnectionQueries.Select(q => q.Clone()).ToList(); result.GroupQueries = GroupQueries.Select(q => q.Clone()).ToList(); result.Parent = parent; result.Id = null; result.Name = Name + result.Id; result.OnAttributesChanged(); return(result); }
public TemplateNodeInfo Instantiate(ConnectionData connection, string defaultDatabaseAttribute, TemplateNodeInfo parent) { Debug.Assert(!IsInstance); TemplateNodeInfo result = (TemplateNodeInfo)MemberwiseClone(); result.Template = this; result.Attributes = new NodeAttirbutes(result); result.Childs = new List <TemplateNodeInfo>(); result.Connection = connection; result.ReplicationSourceQuery = null; result._defaultDatabaseAttributeName = defaultDatabaseAttribute; result.Queries = Queries.Select(q => q.Clone()).ToList(); result.ConnectionQueries = ConnectionQueries.Select(q => q.Clone()).ToList(); result.GroupQueries = GroupQueries.Select(q => q.Clone()).ToList(); result.Parent = parent; return(result); }