示例#1
0
        public static int Main(string[] args)
        {
            DateTime st = DateTime.UtcNow;

            Console.WriteLine("Transformation Tool");

            UserSetupManagement        userSetup      = UserSetupManagement.Instance;
            MetadataDocumentManagement metadataDocMgt = MetadataDocumentManagement.Instance;

            if (!GetUserInput(args))
            {
                TransformationLog.CloseXmlFile();
                return(1);
            }

            if (!LoadFiles(metadataDocMgt, userSetup))
            {
                TransformationLog.CloseXmlFile();
                return(1);
            }

            ReportConverter reportConvertor = new ReportConverter(metadataDocMgt.XmlDocument);

            metadataDocMgt.XmlDocument = reportConvertor.ReturnSourceForms();
            TransformationLog.TransformationStarted();

            IgnoreForms.RemoveIgnoredForms();
            IgnoreForms.RemoveFormsWithMatrixControls();
            IgnoreForms.RemoveReplacedForms();

            try
            {
                NestingXmlDocument nestingXml = new NestingXmlDocument();
                nestingXml.SuppressErrors = true;
                nestingXml.StartTransformation();
                if (NestingXmlDocument.ErrorInTransformation)
                {
                    TransformationLog.GenericLogEntry("Transformation tool can't transform this file. Check Transformation log file.", LogCategory.Error);
                }
            }
            catch (Exception e)
            {
                WriteAbortTransformation(e);
                TransformationLog.CloseXmlFile();
                return(1);
            }

            MovePageElements.Start();
            RenumberPages.Start();

            if (!XmlUtility.SaveXmlToFile(reportConvertor.GetDestinationPages(metadataDocMgt.XmlDocument), userSetup.PagesFile))
            {
                TransformationLog.CloseXmlFile();
                return(1);
            }

            Console.WriteLine("The Transformation is completed.");
            TransformationLog.TransformationFinished(System.DateTime.UtcNow.Subtract(st).TotalSeconds);
            TransformationLog.CloseXmlFile();
            return(0);
        }