Beispiel #1
0
        private IProperty GetSpecialDefaultBindingProperty(DataBindingDragDropFlags filteredDragFlags)
        {
            DataSchemaNodePath primaryAbsolutePath    = this.DragModel.DataSource.PrimaryAbsolutePath;
            IProperty          defaultBindingProperty = this.GetDefaultBindingProperty(filteredDragFlags, primaryAbsolutePath);

            if (!DataContextMetadata.HasDataContextAttributes(defaultBindingProperty))
            {
                return((IProperty)null);
            }
            DataContextInfo dataContextInfo = new DataContextEvaluator().Evaluate(this.DragModel.TargetNode, (IPropertyId)defaultBindingProperty, true);

            if (dataContextInfo.DataSource.SourceNode != primaryAbsolutePath.Schema.DataSource.DocumentNode)
            {
                return((IProperty)null);
            }
            DataSchemaNodePath nodePathFromPath = primaryAbsolutePath.Schema.GetNodePathFromPath(dataContextInfo.DataSource.Path);

            if (!nodePathFromPath.IsSubpathOf(primaryAbsolutePath))
            {
                return((IProperty)null);
            }
            DataSchemaNodePath relativeNodePath = nodePathFromPath.GetRelativeNodePath(primaryAbsolutePath);

            if (relativeNodePath.CollectionDepth != 0)
            {
                return((IProperty)null);
            }
            this.DragModel.TargetPropertySpecialDataContext = relativeNodePath;
            return(defaultBindingProperty);
        }
Beispiel #2
0
        private void InititalStoreProduceItems(DataContextMetadata metadata)
        {
            foreach (var entity in metadata.Entitys.Values.Where(a => !a.Definition.Configure.IsView))
            {
                var keys    = GetEntityKeys(entity, metadata);
                var columns = GetEntityColumns(entity, metadata);
                var item    = new EntityStoreProduceItem()
                {
                    Name             = entity.ClassName,
                    InsertParameters = keys.Where(a => !IsCompute(a, keys)).Select(a => a.Name).Concat(
                        columns.Where(a => !IsCompute(a)).Select(a => a.Name)).ToArray(),
                    UpdateParameters = keys.Select(a => a.Name).Concat(
                        columns.Where(a => !IsCompute(a)).Select(a => a.Name)).ToArray(),
                    DeleteParameters = keys.Select(a => a.Name).ToArray()
                };
                var timestamp = GetTimestampColumn(columns);
                if (timestamp != null)
                {
                    var name = timestamp.Name + "_Original";
                    item.UpdateParameters = item.UpdateParameters.Concat(new string[] { name }).ToArray();
                    item.DeleteParameters = item.DeleteParameters.Concat(new string[] { name }).ToArray();
                }
                Compare(item.InsertParameters, entity.ProjectItem.Name, "Insert");
                Compare(item.UpdateParameters, entity.ProjectItem.Name, "Update");
                Compare(item.DeleteParameters, entity.ProjectItem.Name, "Delete");


                StoreProduceItems.Add(item);
            }
        }
Beispiel #3
0
        public DataContextTemplate(DataContextMetadata data)
        {
            Data     = data;
            Documnet = Data.Source;
            EntityStoreProduceNames = data.Entitys.Values.Where(a => !a.Definition.Configure.IsView).Select(a => a.ClassName).ToArray();

            AllowRenameProcedureParameter = data.DatabaseType == EDatabaseType.MySql;
        }
Beispiel #4
0
 private PropertyPrimaryData[] GetEntityKeys(EntityMetadata entity, DataContextMetadata metadata)
 {
     while (entity.Definition.Configure.InheritEntityId > 0)
     {
         entity = metadata.Entitys[entity.Definition.Configure.InheritEntityId];
     }
     return(entity.PrimaryPropertys.Select(a => a.Value).ToArray());
 }
Beispiel #5
0
 private PropertyColumnData[] GetEntityColumns(EntityMetadata entity, DataContextMetadata metadata)
 {
     return(entity.ColumnPropertys.Select(a => a.Value).ToArray());
 }