Ejemplo n.º 1
0
        /// ------------------------------------------------------------------------------------
        public static PaProjectLite Create(string prjFile)
        {
            if (prjFile.EndsWith(".fwdata") && !Sources.Contains(prjFile))
            {
                var prjInfo = new PaProjectLite()
                {
                    Name            = Path.GetFileNameWithoutExtension(prjFile),
                    DataSourceTypes = "New",
                    FilePath        = prjFile,
                    Version         = "7.0+"
                };
                return(prjInfo);
            }
            try
            {
                var root = XElement.Load(prjFile);
                if (root.Name.LocalName != "PaProject")
                {
                    return(null);
                }

                var prjInfo = new PaProjectLite
                {
                    FilePath = prjFile,
                    Version  = (root.Attribute("version") == null ? "3.0.1" : root.Attribute("version").Value),
                };

                prjInfo.Name = GetProjectName(root);
                if (prjInfo.Name == null)
                {
                    return(null);
                }

                prjInfo.DataSourceTypes = GetDataSourceTypes(root);

                var source = root.XPathSelectElement("//DataSourceFile[1]");
                if (source != null)
                {
                    Sources.Add(source.Value.Trim());
                }
                return(prjInfo);
            }
            catch
            {
                return(null);
            }
        }