public override void RecursivelyResolve(Dictionary <string, DataDefinition> local, Dictionary <string, DataDefinition> global, Dictionary <string, Dictionary <string, DataDefinition> > referenceableDefinitions) { if (ResourceType != null) { var key = ResourceType.ToLower(); Dictionary <string, DataDefinition> defs = null; if (local.ContainsKey(key)) { defs = local; } else if (global.ContainsKey(key)) { defs = global; } if (defs != null) { var def = defs[key]; if (def.IsRootLevel) { ResourceDataType = def; AllowedFileTypes.Clear(); AllowedFileTypes.Add(ResourceDataType.Extension); } else { Message.Show("Resource " + ResourceType + " is not a root level resource!", "Reference Resolve Failed", "Ok"); } } else { Message.Show("Failed to find key " + ResourceType + "!", "Reference Resolve Failed", "Ok"); } } base.RecursivelyResolve(local, global, referenceableDefinitions); }
protected override void DoRecursivelyResolve(Dictionary <string, DataDefinition> local, Dictionary <string, DataDefinition> global, Dictionary <string, Dictionary <string, DataDefinition> > referenceableDefinitions) { if (ResourceType != null) { var key = ResourceType.ToLower(); Dictionary <string, DataDefinition> defs = null; if (local.ContainsKey(key)) { defs = local; } else if (global.ContainsKey(key)) { defs = global; } if (defs != null) { var def = defs[key]; if (def.IsRootLevel) { ResourceDataType = def; AllowedFileTypes.Clear(); AllowedFileTypes.Add(ResourceDataType.Extension); } else { throw new Exception("Resource " + ResourceType + " is not a root level resource!"); } } else { throw new Exception("Failed to find key " + ResourceType + "!"); } } }