コード例 #1
0
        //        protected static EntityAssociation LookupEntityAssociation(ApplicationAssociationDefinition association) {
        //            var appMetadata = MetadataProvider.Application(association.From);
        //            var indexOf = association._labelField.IndexOf(".", StringComparison.Ordinal);
        //            var firstPart = _labelField.Substring(0, indexOf);
        //            var lookupString = firstPart.EndsWith("_") ? firstPart : firstPart + "_";
        //            return MetadataProvider.Entity(appMetadata.Entity).Associations.FirstOrDefault(a => a.Qualifier == lookupString);
        //        }
        public static ApplicationAssociationSchemaDefinition GetSchemaInstance(AssociationDataProvider dataProvider, AssociationFieldRenderer renderer,
                                                                               FieldFilter filter, string dependantFieldsST)
        {
            var schema = new ApplicationAssociationSchemaDefinition(dataProvider, renderer, filter);

            if (schema.DataProvider != null)
            {
                schema.DependantFields = DependencyBuilder.TryParsingDependentFields(schema.DataProvider.WhereClause);
            }
            if (dependantFieldsST != null)
            {
                var fields = dependantFieldsST.Split(',');
                foreach (var field in fields)
                {
                    schema.DependantFields.Add(field);
                }
            }
            return(schema);
        }
コード例 #2
0
        public static ApplicationAssociationDefinition GetInstance([NotNull] string @from, ApplicationAssociationDefinition.LabelData labelData, string target, string qualifier, ApplicationAssociationSchemaDefinition applicationAssociationSchema,
                                                                   string showExpression, string toolTip, string required, ISet <ApplicationEvent> events, string defaultValue, string extraProjectionFields = null, string isEnabled = "true")
        {
            var association = new ApplicationAssociationDefinition(from, labelData, target, qualifier, applicationAssociationSchema, showExpression,
                                                                   toolTip, required, defaultValue, isEnabled, events);
            var labelField = labelData.LabelField;

            association.LabelFields   = ParseLabelFields(labelField);
            association.ApplicationTo = ParseApplicationTo(labelField);
            if (extraProjectionFields != null)
            {
                BuildExtraProjectionFields(association, extraProjectionFields);
            }
            association.SetLazyResolver(new Lazy <EntityAssociation>(
                                            () => {
                var appMetadata  = MetadataProvider.Application(association.From);
                var indexOf      = labelField.IndexOf(".", StringComparison.Ordinal);
                var firstPart    = labelField.Substring(0, indexOf);
                var lookupString = firstPart.EndsWith("_") ? firstPart : firstPart + "_";
                if (Char.IsNumber(lookupString[0]))
                {
                    lookupString = lookupString.Substring(1);
                }
                var entityAssociations = MetadataProvider.Entity(appMetadata.Entity).Associations;
                return(entityAssociations.FirstOrDefault(a => a.Qualifier == lookupString));
            }));
            return(association);
        }