public static void Test_GetPrintTitleInfo_01(PrintTitleManager printTitleManager, string file, int? version = null)
 {
     Trace.WriteLine("Test_PrintMagazineGetTitle_01 \"{0}\"", file);
     file = GetFile(file);
     string suffix = "_out_bson";
     if (version != null)
         suffix = "_v" + version.ToString() + suffix;
     string bsonFile = zpath.PathSetFileNameWithoutExtension(file, zPath.GetFileNameWithoutExtension(file) + suffix);
     Trace.WriteLine("  output to \"{0}\"", bsonFile);
     //zmongo.FileReader<TestPrintTitle>(file).Select(printTitle => new { Title = printTitle.Title, PrintType = printTitle.PrintType, PrintTitleInfo = printTitleManager.GetPrintTitleInfo(printTitle.Title) }).zSave(bsonFile);
     zmongo.FileReader<TestPrintTitle>(file)
         .Select(printTitle => new { Title = printTitle.Title, PrintType = printTitle.PrintType, PrintTitleInfo = printTitleManager.GetPrintTitleInfo(printTitle.Title) })
         .Select(printTitle => { BsonDocument document = printTitle.ToBsonDocument(); document.zSet("PrintTitleInfo.File", ".06_unknow_print\\" + PrintTitleManager.GetFile(printTitle.PrintTitleInfo)); return document; })
         .zSave(bsonFile);
 }
        public static void Test_GetPrintTitleInfo_01(PrintTitleManager printTitleManager, string file, int?version = null)
        {
            Trace.WriteLine("Test_PrintMagazineGetTitle_01 \"{0}\"", file);
            file = GetFile(file);
            string suffix = "_out_bson";

            if (version != null)
            {
                suffix = "_v" + version.ToString() + suffix;
            }
            string bsonFile = zpath.PathSetFileNameWithoutExtension(file, zPath.GetFileNameWithoutExtension(file) + suffix);

            Trace.WriteLine("  output to \"{0}\"", bsonFile);
            //zmongo.FileReader<TestPrintTitle>(file).Select(printTitle => new { Title = printTitle.Title, PrintType = printTitle.PrintType, PrintTitleInfo = printTitleManager.GetPrintTitleInfo(printTitle.Title) }).zSave(bsonFile);
            zmongo.FileReader <TestPrintTitle>(file)
            .Select(printTitle => new { Title = printTitle.Title, PrintType = printTitle.PrintType, PrintTitleInfo = printTitleManager.GetPrintTitleInfo(printTitle.Title) })
            .Select(printTitle => { BsonDocument document = printTitle.ToBsonDocument(); document.zSet("PrintTitleInfo.File", ".06_unknow_print\\" + PrintTitleManager.GetFile(printTitle.PrintTitleInfo)); return(document); })
            .zSave(bsonFile);
        }
        public static void Test_PrintMagazineGetTitle_01_old(PrintTitleManager printTitleManager, string file)
        {
            Trace.WriteLine("Test_PrintMagazineGetTitle_01 \"{0}\"", file);
            file = GetFile(file);
            string bsonFile = zpath.PathSetFileNameWithoutExtension(file, zPath.GetFileNameWithoutExtension(file) + "_out_bson");

            Trace.WriteLine("  output to \"{0}\"", bsonFile);
            //Trace.CurrentTrace.DisableBaseLog();
            Trace.CurrentTrace.DisableViewer = true;
            StreamWriter sw                    = null;
            BsonWriter   bsonWriter            = null;
            Dictionary <string, string> prints = GetPrintList();

            try
            {
                sw = zFile.CreateText(bsonFile);
                JsonWriterSettings settings = new JsonWriterSettings();
                settings.Indent = true;
                bsonWriter      = JsonWriter.Create(sw, settings);
                foreach (BsonDocument document in zmongo.FileReader <BsonDocument>(file))
                {
                    string category = document["category"].AsString;
                    string title    = document["title"].AsString;
                    Trace.WriteLine("{0,-25} - \"{1}\"", category, title);
                    PrintTitleInfo titleInfo = printTitleManager.GetPrintTitleInfo(title);
                    //FindPrint findPrint = downloadAutomate.SelectPost(title);
                    //Trace.WriteLine("post            : \"{0}\"", title);
                    //Trace.WriteLine("    file        : \"{0}\"", findPrint.file);
                    //Trace.WriteLine("    remain text : \"{0}\"", findPrint.found ? findPrint.remainText : null);
                    //Trace.WriteLine();
                    bsonWriter.WriteStartDocument();
                    bsonWriter.zWrite("category", category);
                    bsonWriter.zWrite("originalTitle", title);
                    //bsonWriter.zWrite("file", titleInfo.File);
                    bsonWriter.zWrite("titleStructure", titleInfo.TitleStructure);
                    bsonWriter.zWrite("title", titleInfo.Title);
                    bsonWriter.zWrite("formatedTitle", titleInfo.FormatedTitle);
                    bsonWriter.zWrite("name", titleInfo.Name);
                    if (prints.ContainsKey(titleInfo.Name))
                    {
                        bsonWriter.zWrite("print", titleInfo.Name);
                    }
                    else
                    {
                        bsonWriter.zWrite("print", (string)null);
                    }
                    bsonWriter.zWrite("remainText", titleInfo.RemainText);
                    bsonWriter.zWrite("special", titleInfo.Special);
                    bsonWriter.zWrite("specialText", titleInfo.SpecialText);
                    bsonWriter.zWrite("number", titleInfo.Number);
                    bsonWriter.zWrite("date", titleInfo.Date);
                    bsonWriter.zWrite("dateType", titleInfo.DateType.ToString());
                    bsonWriter.WriteEndDocument();
                    sw.WriteLine();
                    bsonWriter.WriteName("fake");    // ??? pour éviter l'erreur : WriteString can only be called when State is Value or Initial, not when State is Name (System.InvalidOperationException)
                }
            }
            finally
            {
                //Trace.CurrentTrace.EnableBaseLog();
                Trace.CurrentTrace.DisableViewer = false;
                if (bsonWriter != null)
                {
                    bsonWriter.Close();
                }
                if (sw != null)
                {
                    sw.Close();
                }
            }
        }
        public static void Test_PrintMagazineGetTitle_01_old(PrintTitleManager printTitleManager, string file)
        {
            Trace.WriteLine("Test_PrintMagazineGetTitle_01 \"{0}\"", file);
            file = GetFile(file);
            string bsonFile = zpath.PathSetFileNameWithoutExtension(file, zPath.GetFileNameWithoutExtension(file) + "_out_bson");
            Trace.WriteLine("  output to \"{0}\"", bsonFile);
            //Trace.CurrentTrace.DisableBaseLog();
            Trace.CurrentTrace.DisableViewer = true;
            StreamWriter sw = null;
            BsonWriter bsonWriter = null;
            Dictionary<string, string> prints = GetPrintList();

            try
            {
                sw = zFile.CreateText(bsonFile);
                JsonWriterSettings settings = new JsonWriterSettings();
                settings.Indent = true;
                bsonWriter = JsonWriter.Create(sw, settings);
                foreach (BsonDocument document in zmongo.FileReader<BsonDocument>(file))
                {
                    string category = document["category"].AsString;
                    string title = document["title"].AsString;
                    Trace.WriteLine("{0,-25} - \"{1}\"", category, title);
                    PrintTitleInfo titleInfo = printTitleManager.GetPrintTitleInfo(title);
                    //FindPrint findPrint = downloadAutomate.SelectPost(title);
                    //Trace.WriteLine("post            : \"{0}\"", title);
                    //Trace.WriteLine("    file        : \"{0}\"", findPrint.file);
                    //Trace.WriteLine("    remain text : \"{0}\"", findPrint.found ? findPrint.remainText : null);
                    //Trace.WriteLine();
                    bsonWriter.WriteStartDocument();
                    bsonWriter.zWrite("category", category);
                    bsonWriter.zWrite("originalTitle", title);
                    //bsonWriter.zWrite("file", titleInfo.File);
                    bsonWriter.zWrite("titleStructure", titleInfo.TitleStructure);
                    bsonWriter.zWrite("title", titleInfo.Title);
                    bsonWriter.zWrite("formatedTitle", titleInfo.FormatedTitle);
                    bsonWriter.zWrite("name", titleInfo.Name);
                    if (prints.ContainsKey(titleInfo.Name))
                        bsonWriter.zWrite("print", titleInfo.Name);
                    else
                        bsonWriter.zWrite("print", (string)null);
                    bsonWriter.zWrite("remainText", titleInfo.RemainText);
                    bsonWriter.zWrite("special", titleInfo.Special);
                    bsonWriter.zWrite("specialText", titleInfo.SpecialText);
                    bsonWriter.zWrite("number", titleInfo.Number);
                    bsonWriter.zWrite("date", titleInfo.Date);
                    bsonWriter.zWrite("dateType", titleInfo.DateType.ToString());
                    bsonWriter.WriteEndDocument();
                    sw.WriteLine();
                    bsonWriter.WriteName("fake");    // ??? pour éviter l'erreur : WriteString can only be called when State is Value or Initial, not when State is Name (System.InvalidOperationException)
                }
            }
            finally
            {
                //Trace.CurrentTrace.EnableBaseLog();
                Trace.CurrentTrace.DisableViewer = false;
                if (bsonWriter != null)
                    bsonWriter.Close();
                if (sw != null)
                    sw.Close();
            }
        }