コード例 #1
0
        //see DataDictionaryToWire
        private static ColDefResponse ToWire(SecurityGuard guard, TableDef source, ColDef c, IUser user)
        {
            bool isDBAssignedKey = source.PrimaryKeyColName == c.Name && source.DatabaseAssignsKey;

            return(new ColDefResponse
            {
                PermissionLevel = (int)guard.FinalLevel(null, source.Name, c.Name),
                AllowSort = c.AllowSort,
                ForeignKeyDatonTypeName = c.ForeignKeyDatonTypeName,
                LeftJoin = ToWire(c.LeftJoin),
                SelectBehavior = ToWire(c.SelectBehavior),
                ImageUrlColumName = c.Image?.UrlColumName,
                IsComputed = c.IsComputed || isDBAssignedKey,
                IsMainColumn = c.IsMainColumn,
                IsVisibleInDropdown = c.IsVisibleInDropdown,
                LengthValidationMessage = DataDictionary.ResolvePrompt(c.LengthValidationMessage, user, defaultValue: null),
                MaxLength = c.MaxLength,
                MaxNumberValue = c.MaxNumberValue,
                MinLength = c.MinLength,
                MinNumberValue = c.MinNumberValue,
                Name = CamelCasify(c.Name),
                Prompt = DataDictionary.ResolvePrompt(c.Prompt, user, c.Name),
                RangeValidationMessage = DataDictionary.ResolvePrompt(c.RangeValidationMessage, user, defaultValue: null),
                Regex = c.Regex,
                RegexValidationMessage = DataDictionary.ResolvePrompt(c.RegexValidationMessage, user, defaultValue: null),
                WireType = c.WireType
            });
        }
コード例 #2
0
        //see DataDictionaryToWire
        private static TableDefResponse ToWire(SecurityGuard guard, TableDef source, IUser user, bool isCriteria)
        {
            if (source == null)
            {
                return(null);
            }
            var wire = new TableDefResponse()
            {
                Name              = CamelCasify(source.Name),
                PermissionLevel   = (int)guard.FinalLevel(null, source.Name, null),
                Cols              = source.Cols.Select(c => ToWire(guard, source, c, user)).ToList(),
                PrimaryKeyColName = CamelCasify(source.PrimaryKeyColName),
                Prompt            = DataDictionary.ResolvePrompt(source.Prompt, user, source.Name),
                IsCriteria        = isCriteria,
                Children          = source.Children?.Select(t => ToWire(guard, t, user, false)).ToList()
            };

            return(wire);
        }