示例#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);
        }
示例#2
0
        private static bool LoadFiles(MetadataDocumentManagement metaDataDocMgt, UserSetupManagement userSetup)
        {
            bool errorExists = false;

            errorExists = !userSetup.CheckIfAllSchemaFilesExists();

            try
            {
                metaDataDocMgt.XmlDocument = XmlUtility.LoadFromFileToXml(userSetup.FormsFile);
                System.IO.File.Delete(userSetup.PagesFile);
            }
            catch (Exception e)
            {
                errorExists = true;
                TransformationLog.GenericLogEntry(e.Message, LogCategory.Error);
            }

            try
            {
                metaDataDocMgt.DeleteElementsDoc = XmlUtility.LoadFromFileToXml(userSetup.DeletePageElements);
            }
            catch (Exception e)
            {
                TransformationLog.GenericLogEntry(e.Message, LogCategory.CheckInputFile);
            }

            try
            {
                metaDataDocMgt.IgnorePagesDoc = XmlUtility.LoadFromFileToXml(userSetup.IgnorePages);
            }
            catch (Exception e)
            {
                TransformationLog.GenericLogEntry(e.Message, LogCategory.CheckInputFile);
            }

            try
            {
                metaDataDocMgt.InsertElementsDoc = XmlUtility.LoadFromFileToXml(userSetup.TransformPages);
            }
            catch (Exception e)
            {
                TransformationLog.GenericLogEntry(e.Message, LogCategory.CheckInputFile);
            }

            try
            {
                metaDataDocMgt.MoveElementsDoc = XmlUtility.LoadFromFileToXml(userSetup.MovePageElements);
            }
            catch (Exception e)
            {
                TransformationLog.GenericLogEntry(e.Message, LogCategory.CheckInputFile);
            }

            try
            {
                metaDataDocMgt.RenumberPagesDoc = XmlUtility.LoadFromFileToXml(userSetup.MovePages);
            }
            catch (Exception e)
            {
                TransformationLog.GenericLogEntry(e.Message, LogCategory.CheckInputFile);
            }

            try
            {
                metaDataDocMgt.CodeRulesDoc.Clear();
                metaDataDocMgt.CodeRulesDoc.AddRange(XmlUtility.LoadFromFileToString(userSetup.CodeRulesFile));
            }
            catch (Exception e)
            {
                TransformationLog.GenericLogEntry(e.Message, LogCategory.CheckInputFile);
            }

            if (errorExists)
            {
                TransformationLog.GenericLogEntry("Transformation aborted", LogCategory.Error);
                return(false);
            }

            return(true);
        }
示例#3
0
 private static void WriteAbortTransformation(Exception e)
 {
     TransformationLog.WriteErrorToLogFile(e, (int)LogEntryObjectId.NotSpecified);
     Console.WriteLine("Transformation aborted, look in the log file for details.");
 }