public void Visit(BeginAdHocRelation instruction) { //validateAdhocRelation(beginAdHocRelation); var parentClarifyGenericMap = _genericStack.Peek(); parentClarifyGenericMap.ClarifyGeneric.DataFields.Add(instruction.FromTableField.Resolve(_services).ToString()); var tableGeneric = parentClarifyGenericMap.ClarifyGeneric.DataSet.CreateGeneric(instruction.ToTableName.Resolve(_services).ToString()); tableGeneric.DataFields.Add(instruction.ToTableFieldName.Resolve(_services).ToString()); var subRootInformation = new SubRootInformation { ParentKeyField = instruction.FromTableField.Resolve(_services).ToString(), RootKeyField = instruction.ToTableFieldName.Resolve(_services).ToString() }; var model = _modelStack.Peek(); var clarifyGenericMap = new ClarifyGenericMapEntry { ClarifyGeneric = tableGeneric, Model = new ModelInformation { ModelName = model.ModelName, ParentProperty = model.ParentProperty, IsCollection = model.IsCollection }, NewRoot = subRootInformation }; parentClarifyGenericMap.AddChildGenericMap(clarifyGenericMap); _genericStack.Push(clarifyGenericMap); }
public void Visit(BeginAdHocRelation beginAdHocRelation) { validateAdhocRelation(beginAdHocRelation); var parentClarifyGenericMap = _genericStack.Peek(); parentClarifyGenericMap.ClarifyGeneric.DataFields.Add(beginAdHocRelation.FromTableField); var tableGeneric = parentClarifyGenericMap.ClarifyGeneric.DataSet.CreateGeneric(beginAdHocRelation.ToTableName); tableGeneric.DataFields.Add(beginAdHocRelation.ToTableFieldName); var subRootInformation = new SubRootInformation { ParentKeyField = beginAdHocRelation.FromTableField, RootKeyField = beginAdHocRelation.ToTableFieldName }; var clarifyGenericMap = new ClarifyGenericMapEntry { ClarifyGeneric = tableGeneric, Model = _modelStack.Peek(), NewRoot = subRootInformation }; parentClarifyGenericMap.AddChildGenericMap(clarifyGenericMap); _genericStack.Push(clarifyGenericMap); }
private void validateAdhocRelation(BeginAdHocRelation beginAdHocRelation) { var currentTableName = getCurrentTableName(); if (!_schemaCache.IsValidField(currentTableName, beginAdHocRelation.FromTableField)) { throw new ApplicationException("Cannot create an AdHocRelation from table {0} using invalid field {1}.".ToFormat(currentTableName, beginAdHocRelation.FromTableField)); } if (!_schemaCache.IsValidTableOrView(beginAdHocRelation.ToTableName)) { throw new ApplicationException("Cannot create an AdHocRelation from table {0} to invalid table {1}.".ToFormat(currentTableName, beginAdHocRelation.ToTableName)); } if (!_schemaCache.IsValidField(beginAdHocRelation.ToTableName, beginAdHocRelation.ToTableFieldName)) { throw new ApplicationException("Cannot create an AdHocRelation from table {0} to table {1} with invalid field {2}.".ToFormat(currentTableName, beginAdHocRelation.ToTableName, beginAdHocRelation.ToTableFieldName)); } }
public void Visit(BeginAdHocRelation beginAdHocRelation) { }
private void validateAdhocRelation(BeginAdHocRelation beginAdHocRelation) { var currentTableName = getCurrentTableName(); if (!_schemaCache.IsValidField(currentTableName, beginAdHocRelation.FromTableField)) throw new ApplicationException("Cannot create an AdHocRelation from table {0} using invalid field {1}.".ToFormat(currentTableName, beginAdHocRelation.FromTableField)); if (!_schemaCache.IsValidTableOrView(beginAdHocRelation.ToTableName)) throw new ApplicationException("Cannot create an AdHocRelation from table {0} to invalid table {1}.".ToFormat(currentTableName, beginAdHocRelation.ToTableName)); if (!_schemaCache.IsValidField(beginAdHocRelation.ToTableName, beginAdHocRelation.ToTableFieldName)) throw new ApplicationException("Cannot create an AdHocRelation from table {0} to table {1} with invalid field {2}.".ToFormat(currentTableName, beginAdHocRelation.ToTableName, beginAdHocRelation.ToTableFieldName)); }
public void Visit(BeginAdHocRelation instruction) { }
public void Visit(BeginAdHocRelation instruction) { _instructions.Add(instruction); }