Example #1
0
        private void AddLookupMembers(AtomModel data)
        {
            if (data.AdditionalInfo == null)
            {
                data.AdditionalInfo = new AtomAdditionalInfo();
            }

            if (data.Members == null)
            {
                data.Members = new OrderedAtomMembers();
            }

            var idMember = new AtomMemberInfo()
            {
                Name = data.Name + "Id",
                Type = data.Lookup.Type ?? "long"
            };

            var id = idMember.Generated().Key();

            var name = new AtomMemberInfo
            {
                Name = data.Name + "Name",
                Key  = true
            }.Generated();

            var description = new AtomMemberInfo
            {
                Name = data.Name + "Description"
            }.Generated();

            var defaultLookupSettings = new AtomAdditionalInfo
            {
                Temporal =
                {
                    HasTemporal = true
                },
                HideId     = false,
                AutoGenId  = false,
                QueryTypes = new List <QueryFlags> {
                    QueryFlags.None
                }
            };

            defaultLookupSettings.Merge(_defaults);

            data.AdditionalInfo.Merge(defaultLookupSettings);

            data.Members.Insert(0, id);
            data.Members.Insert(1, name);
            data.Members.Insert(2, description);
        }
Example #2
0
 internal static AtomModel FromString(string atomString, AtomDefaults defaults = null)
 {
     return(JsonConvert.DeserializeObject <AtomModel>(atomString, new AtomRootConverter(defaults?.AdditionalInfo ?? AtomAdditionalInfo.Default())));
 }
Example #3
0
 public AtomRootConverter(AtomAdditionalInfo defaults)
 {
     _defaults = defaults;
 }
Example #4
0
 public AtomDefaults()
 {
     Roles = new List<DatabaseRole>();
     AdditionalInfo = new AtomAdditionalInfo();
 }