Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }