protected override void SaveTranslatedFile(XmlDocument TranslatedDocument)
        {
            LogMessage("Creating Totals Report");
            XmlDocument ConvertedSourceDoc = new XmlDocument();

            ConvertedSourceDoc.Load(SourceDocument);
            SendTotalsReport(TranslateSupport.GenerateSummaryReport(ConvertedSourceDoc, TranslatedDocument));

            XmlNodeList list = TranslatedDocument.SelectNodes("//" + NewDocumentRoot + "/*");

            //// create a writer and open the file
            string OutFile = PluginConfig.GetValue("TemporaryWorkFolder") + "\\translated.tmp";

            using (TextWriter tw = new StreamWriter(OutFile, false))
            {
                foreach (XmlNode node in list)
                {
                    StringBuilder sb = new StringBuilder();
                    for (int x = 0; x < node.Attributes.Count; x++)
                    {
                        sb.Append(node.Attributes[x].Value.ToString() + "\t");
                    }
                    tw.WriteLine(sb.ToString());
                }
                tw.Close();
            }
            if (storeRegInfo != null)
            {
                storeRegInfo.SaveTransactionInfo();
            }

            //Do out translate clean up tasks here
            SplitTranslatedFile(OutFile, 1);
            CopyToSiris();
            MoveFilesToBackup();
            LogMessage("-------------------------------Translate Complete-------------------------------");
        }
        void IOrderTranslateItem_OnPreProcess()
        {
            LogMessage("-------------------------------Translate Started-------------------------------");

            TranslateSupport support = new TranslateSupport(PluginConfig);

            SkuFile = support.SkuList();

            string TempFolder = PluginConfig.GetValue("TemporaryWorkFolder");

            _OrderHeaderFile  = TempFolder + "\\OrderHeaderMerge";
            _OrderDetailFile  = TempFolder + "\\OrderDetailMerge";
            _OrderPaymentFile = TempFolder + "\\OrderPaymentMerge";

            LogMessage("Removing old files.");
            if (File.Exists(_OrderHeaderFile))
            {
                File.Delete(_OrderHeaderFile);
            }
            if (File.Exists(_OrderDetailFile))
            {
                File.Delete(_OrderDetailFile);
            }
            if (File.Exists(_OrderPaymentFile))
            {
                File.Delete(_OrderPaymentFile);
            }

            DirectoryInfo dirinfo = new DirectoryInfo(base.SourceFileLocation);

            //if email field is left blank this check is skipped
            if (!String.IsNullOrEmpty(PluginConfig.GetValue("DuplicateFilesEmail")))
            {
                //Remove any files from the download directory if they have already been processed.  Reprocessing those files will cause problems if sent to SIRIS.
                List <string> FilesRemoved = new List <string>();
                List <string> FilesKept    = new List <string>();
                TranslateSupport.RemoveProcessedFiles(dirinfo.GetFiles(), PluginConfig.GetValue("WebLincBackupFolder"), out FilesRemoved, out FilesKept);
                if (FilesRemoved.Count != 0)
                {
                    StringBuilder Body = new StringBuilder();
                    Body.Append("Processing of the following files was skipped because they have been previously processed. <BR>");
                    foreach (string file in FilesRemoved)
                    {
                        Body.Append(file + "<BR>");
                    }

                    Body.Append("____________________________________________________________<BR>");
                    if (FilesKept.Count > 0)
                    {
                        Body.Append("The following files were still processed<BR>");
                        foreach (string file in FilesKept)
                        {
                            Body.Append(file + "<BR>");
                        }
                    }
                    else
                    {
                        Body.Append("NO other files were processed.<BR>");
                    }

                    SendEmail("*****@*****.**", PluginConfig.GetValue("DuplicateFilesEmail").Split(';'), "Duplicate Internet Order Files Found", Body.ToString(), null);
                    LogMessage(Body.ToString().Replace("<BR>", "\r\n"));

                    dirinfo = new DirectoryInfo(base.SourceFileLocation);
                }
            }


            LogMessage("Merging all OrderHeader files");
            TranslateSupport.MergeFiles(dirinfo.GetFiles("*orderheader*.*"), _OrderHeaderFile);
            LogMessage("Merging all OrderDetail files");
            TranslateSupport.MergeFiles(dirinfo.GetFiles("*orderdetail*.*"), _OrderDetailFile);
            LogMessage("Merging all OrderPayment files");
            TranslateSupport.MergeFiles(dirinfo.GetFiles("*orderpayment*.*"), _OrderPaymentFile);
        }