Пример #1
0
        /// <summary>
        /// Loads from file.
        /// </summary>
        /// <param name="path">The path.</param>
        /// <returns></returns>
        public static MappingDocument LoadFromFile(String path)
        {
            MappingDocument retVal = (MappingDocument)
                                     McXmlSerializer.GetObjectFromFile <MappingDocument>(path);

            return(retVal);
        }
Пример #2
0
        /// <summary>
        /// Loads all controls from given directory and its subdirectories.
        /// </summary>
        /// <param name="structureVirtualPath">The structure virtual path.</param>
        /// <returns></returns>
        public static WorkspaceTemplateInfo[] Load(string structureVirtualPath)
        {
            List <WorkspaceTemplateInfo> list = new List <WorkspaceTemplateInfo>();

            string structurePath = HostingEnvironment.MapPath(structureVirtualPath);
            IList <Mediachase.Ibn.Web.UI.WebControls.FileResolverItem> files = Mediachase.Ibn.Web.UI.WebControls.FileResolver.GetFilesSingleSelector(structurePath, ControlsDir + Path.DirectorySeparatorChar + "Configs", "*.xml", new string[] { });

            foreach (Mediachase.Ibn.Web.UI.WebControls.FileResolverItem file in files)
            {
                string controlDir = Path.GetDirectoryName(file.FilePath);

                if (!String.IsNullOrEmpty(controlDir))
                {
                    string configsDir           = Path.DirectorySeparatorChar + ConfigDir;
                    string tempControlDirString = controlDir.EndsWith(Convert.ToString(Path.DirectorySeparatorChar)) ? controlDir.Substring(0, controlDir.Length - 1) : controlDir;
                    if (controlDir.EndsWith(configsDir, true, CultureInfo.InvariantCulture))
                    {
                        controlDir = controlDir.Substring(0, controlDir.LastIndexOf(configsDir));
                    }
                }

                WorkspaceTemplateInfo wti = McXmlSerializer.GetObjectFromFile <WorkspaceTemplateInfo>(file.FilePath);

                if (string.IsNullOrEmpty(wti.Uid))
                {
                    wti.Uid = Path.GetFileNameWithoutExtension(file.FilePath);
                }

                //wti.Path = wti.Path; //MakeVirtualPath(structurePath, structureVirtualPath, controlDir, dci.Path);

                list.Add(wti);
            }

            return(list.ToArray());
        }
Пример #3
0
        static void UpdateMetaModel(string commandsFilePath)
        {
            LogFile.WriteLine("Updating metamodel...");

            SchemaDocument schema = new SchemaDocument();

            schema.Load(Path.Combine(Settings.InstallDir, @"Code\_Source\Tools\metamodelSchema.xml"));

            SyncCommand[] commands = McXmlSerializer.GetObjectFromFile <SyncCommand[]>(commandsFilePath);

            using (DataContext dataContext = new DataContext(string.Empty))
            {
                DataContext.Current = dataContext;
                dataContext.SqlContext.CommandTimeout = CommandTimeout;
                SqlTransaction previousTransaction = DataContext.Current.SqlContext.Transaction;
                using (DBTransaction tran = DBHelper2.DBHelper.BeginTransaction())
                {
                    DataContext.Current.SqlContext.Transaction = tran.SqlTran;
                    try
                    {
                        MetaModelSync.Execute(schema, commands);
                        tran.Commit();
                        LogWriteOk();
                    }
                    finally
                    {
                        DataContext.Current.SqlContext.Transaction = previousTransaction;
                    }
                }
            }
        }
Пример #4
0
        /// <summary>
        /// Loads all controls from given directory and its subdirectories.
        /// </summary>
        /// <returns></returns>
        public static WorkspaceTemplateInfo[] Load()
        {
            List <WorkspaceTemplateInfo> list = new List <WorkspaceTemplateInfo>();

            FileDescriptor[] files = FileResolver.GetFiles(ControlsDir + Path.DirectorySeparatorChar + "Configs", "*.xml");
            foreach (FileDescriptor file in files)
            {
                string controlDir = Path.GetDirectoryName(file.FilePath);

                if (!String.IsNullOrEmpty(controlDir))
                {
                    string configsDir           = Path.DirectorySeparatorChar + ConfigDir;
                    string tempControlDirString = controlDir.EndsWith(Convert.ToString(Path.DirectorySeparatorChar)) ? controlDir.Substring(0, controlDir.Length - 1) : controlDir;
                    if (controlDir.EndsWith(configsDir, true, CultureInfo.InvariantCulture))
                    {
                        controlDir = controlDir.Substring(0, controlDir.LastIndexOf(configsDir));
                    }
                }

                WorkspaceTemplateInfo wti = McXmlSerializer.GetObjectFromFile <WorkspaceTemplateInfo>(file.FilePath);

                if (string.IsNullOrEmpty(wti.Uid))
                {
                    wti.Uid = Path.GetFileNameWithoutExtension(file.FilePath);
                }

                list.Add(wti);
            }

            return(list.ToArray());
        }
Пример #5
0
        /// <summary>
        /// Loads the entity objects.
        /// </summary>
        /// <param name="metaClassName">Name of the meta class.</param>
        /// <returns></returns>
        private static EntityObject[] LoadEntityObjects(string metaClassName)
        {
            if (metaClassName == null)
            {
                throw new ArgumentNullException("metaClassName");
            }

            if (!entityObjectHash.ContainsKey(metaClassName))
            {
                lock (typeof(LocalDiskEntityObjectPlugin))
                {
                    if (!entityObjectHash.ContainsKey(metaClassName))
                    {
                        FileDescriptor[] files = FileResolver.GetFiles(EntityObjectsDirs + Path.DirectorySeparatorChar + metaClassName, "*.xml");

                        List <EntityObject> items = new List <EntityObject>();

                        // Load EntityObject From File
                        foreach (FileDescriptor file in files)
                        {
                            PrimaryKeyId pk;

                            if (PrimaryKeyId.TryParse(Path.GetFileNameWithoutExtension(file.FilePath), out pk))
                            {
                                // Load EntityObject From File
                                EntityObject tmpItem = McXmlSerializer.GetObjectFromFile <EntityObject>(file.FilePath);

                                // Create TEntityObject
                                EntityObject item = BusinessManager.InitializeEntity(metaClassName);

                                // Copy Fields From tmpItem To item
                                foreach (EntityObjectProperty property in tmpItem.Properties)
                                {
                                    item[property.Name] = property.Value;
                                }

                                //
                                item.PrimaryKeyId = pk;

                                // Add Abstract Property
                                item[IsLoadDiskEntityPropertyName] = true;

                                items.Add(item);
                            }
                        }

                        entityObjectHash[metaClassName] = items.ToArray();
                    }
                }
            }

            return(entityObjectHash[metaClassName]);
        }
Пример #6
0
        private static SchemaMasterCollection LoadDefaultMasterts()
        {
            SchemaMasterCollection retVal = new SchemaMasterCollection();

            //string path = HostingEnvironment.MapPath("~/Apps/BusinessProcess/Config/Schemas");

            //if (Directory.Exists(path))
            //{
            //    foreach (string filePath in Directory.GetFiles(path, "*.xml"))
            //    {
            //        SchemaMaster master = McXmlSerializer.GetObjectFromFile<SchemaMaster>(filePath,
            //            typeof(SequentialWorkflowInstanceFactory),
            //            typeof(CreateAssignmentAndWaitResultActivityInstanceFactory),
            //            typeof(BlockActivityInstanceFactory));

            //        retVal.Add(master);
            //    }
            //}

            // O.R. [2009-07-28]: Use subdirectories to find schemas
            string rootPath = HostingEnvironment.MapPath("~/Apps/BusinessProcess");

            if (Directory.Exists(rootPath))
            {
                foreach (string filePath in Directory.GetFiles(rootPath, "*.xml", SearchOption.AllDirectories))
                {
                    if (filePath.ToLowerInvariant().Contains("\\config\\schemas\\"))
                    {
                        SchemaMaster master = McXmlSerializer.GetObjectFromFile <SchemaMaster>(filePath,
                                                                                               typeof(SequentialWorkflowInstanceFactory),
                                                                                               typeof(CreateAssignmentAndWaitResultActivityInstanceFactory),
                                                                                               typeof(BlockActivityInstanceFactory));

                        retVal.Add(master);
                    }
                }
            }

            return(retVal);
        }
Пример #7
0
        /// <summary>
        /// Loads all controls from given directory and its subdirectories.
        /// </summary>
        /// <returns></returns>
        public static DynamicControlInfo[] Load()
        {
            List <DynamicControlInfo> list = new List <DynamicControlInfo>();

            //string structureVirtualPath
            //string structurePath = HostingEnvironment.MapPath(structureVirtualPath);
            FileDescriptor[] files = FileResolver.GetFiles(ControlsDir + Path.DirectorySeparatorChar + "Configs", "*.xml");
            foreach (FileDescriptor file in files)
            {
                string controlDir = Path.GetDirectoryName(file.FilePath);

                if (!string.IsNullOrEmpty(controlDir))
                {
                    string configsDir           = Path.DirectorySeparatorChar + ConfigDir;
                    string tempControlDirString = controlDir.EndsWith(Convert.ToString(Path.DirectorySeparatorChar)) ? controlDir.Substring(0, controlDir.Length - 1) : controlDir;
                    if (controlDir.EndsWith(configsDir, StringComparison.OrdinalIgnoreCase))
                    {
                        controlDir = controlDir.Substring(0, controlDir.LastIndexOf(configsDir));
                    }
                }

                DynamicControlInfo dci = McXmlSerializer.GetObjectFromFile <DynamicControlInfo>(file.FilePath);

                if (string.IsNullOrEmpty(dci.Uid))
                {
                    dci.Uid = Path.GetFileNameWithoutExtension(file.FilePath);
                }
                dci.AdapterPath      = MakeVirtualPath(controlDir, dci.AdapterPath);
                dci.IconPath         = dci.IconPath;
                dci.Path             = dci.Path;             //MakeVirtualPath(structurePath, structureVirtualPath, controlDir, dci.Path);
                dci.PropertyPagePath = dci.PropertyPagePath; //MakeVirtualPath(structurePath, structureVirtualPath, controlDir, dci.PropertyPagePath);
                dci.LargeThumbnail   = dci.LargeThumbnail;
                dci.SmallThumbnail   = dci.SmallThumbnail;

                list.Add(dci);
            }

            return(list.ToArray());
        }