예제 #1
0
 static AssemblyFileRecord ToPersistentObject(AssemblyFileResolution item)
 {
     if (item.Uid == UidStorage.InvalidAssemblyUid)
     {
         item.Uid = UidStorage.GetNextAssemblyUid();
     }
     return(new AssemblyFileRecord {
         FilePath = item.FilePath, LastWriteTime = item.LastWriteTime, Uid = item.Uid
     });
 }
예제 #2
0
 static AddinHeaderRecord ToPersistentObject(AddinHeaderResolution item)
 {
     if (item.AddinId.Uid == UidStorage.InvalidAddinUid)
     {
         item.AddinId.Uid = UidStorage.GetNextAddinUid();
     }
     return(new AddinHeaderRecord
     {
         AddinId = item.AddinId,
         AddinCategory = item.AddinCategory,
         CompatVersion = item.CompatVersion,
         Version = item.Version,
         //Enabled = item.Enabled,
         Name = item.Name,
         //Url = item.Url,
         Description = item.Description,
         InnerProperties = item.InnerProperties
     });
 }
        internal override ExtensionPointRecord ToRecord()
        {
            _uid = UidStorage.GetNextExtensionPointUid();
            var result = new ExtensionPointRecord
            {
                Name        = Name,
                Description = Description,
                TypeName    = TypeName,
                Uid         = _uid,
                AssemblyUid = Type.Assembly.Uid
            };

            if (Children != null)
            {
                foreach (var child in Children)
                {
                    var childItem = child.ToRecord();
                    result.AddChild(childItem);
                }
            }
            return(result);
        }
예제 #4
0
        static AddinRecord ToPersistentObject(AddinResolution adnResolution)
        {
            if (adnResolution.AddinId.Uid == UidStorage.InvalidAddinUid)
            {
                adnResolution.AddinId.Uid = UidStorage.GetNextAddinUid();
            }

            var addinFilePack  = ToAddinFilePack(adnResolution);
            var addinHeader    = ToPersistentObject(adnResolution.AddinHeader);
            var addinActivator = adnResolution.AddinActivator == null ? null : adnResolution.AddinActivator.ToRecord();
            var addinRecord    = new AddinRecord(addinHeader, addinFilePack, addinActivator)
            {
                Enabled = adnResolution.Enabled
            };

            if (adnResolution.ReferencedAssemblySets != null)
            {
                foreach (var referencedAssemblySet in adnResolution.ReferencedAssemblySets)
                {
                    addinRecord.AddReferencedAssembly(new ReferencedAssemblyRecord
                    {
                        Uid     = referencedAssemblySet.Uid,
                        Version = referencedAssemblySet.Version
                    });
                }
            }

            if (adnResolution.ExtendedAddins != null)
            {
                foreach (var extendedAddin in adnResolution.ExtendedAddins)
                {
                    addinRecord.AddExtendedAddin(new ExtendedAddinRecord
                    {
                        Uid     = extendedAddin.AddinId.Uid,
                        Version = extendedAddin.AddinHeader.Version
                    });
                }
            }

            if (adnResolution.ExtendedExtensionPoints != null)
            {
                foreach (var extendedExtensionPoint in adnResolution.ExtendedExtensionPoints)
                {
                    addinRecord.AddExtendedExtensionPoint(extendedExtensionPoint.Uid);
                }
            }

            if (adnResolution.ExtensionPoints != null)
            {
                foreach (var extensionPoint in adnResolution.ExtensionPoints)
                {
                    var epRecord = extensionPoint.ToRecord();
                    addinRecord.AddExtensionPoint(epRecord);
                }
            }

            if (adnResolution.ExtensionBuilderGroups != null)
            {
                foreach (var extensionBuilderGroup in adnResolution.ExtensionBuilderGroups)
                {
                    addinRecord.AddExtensionBuilderGroup(extensionBuilderGroup.ToRecord());
                }
            }

            if (adnResolution.ExtensionGroups != null)
            {
                foreach (var extensionGroup in adnResolution.ExtensionGroups)
                {
                    addinRecord.AddExtensionGroup(extensionGroup.ToRecord());
                }
            }

            return(addinRecord);
        }