internal bool AddSchema(ObjectBaseSchema item) { var type = item.GetType(); if (!_definitions.TryGetValue(type, out Dictionary <string, IBase> dic)) { dic = new Dictionary <string, IBase>(); _definitions.Add(type, dic); } if (dic.ContainsKey(item.Name)) { var oldDefinition = dic[item.Name]; dic[item.Name] = item; return(false); } dic.Add(item.Name, item); return(true); }
private Transactionfile LoadObjectSchema(JObject payload, FileModel file) { Transactionfile result = new Transactionfile(); ObjectBaseSchema item = null; if (file.Schema.Kind == KindSchemaEnum.SchemaEntity) { item = new EntitySchema() { Name = file.Schema.Type, File = file, }; } else if (file.Schema.Kind == KindSchemaEnum.SchemaLink) { item = new LinkSchema() { Name = file.Schema.Type, File = file, }; } if (item != null) { if (!string.IsNullOrEmpty(item.Name)) { if (this._parent.AddSchema(item)) { result.Added.Add(item); } else { result.Updated.Add(item); } } } return(result); }