Beispiel #1
0
            public void AlternateViewStartPath()
            {
                // Given
                Engine engine = new Engine();
                engine.RootFolder = TestContext.CurrentContext.TestDirectory;
                engine.InputFolder = @"TestFiles\Input\";
                ReadFiles readFiles = new ReadFiles(@"AlternateViewStartPath\Test.cshtml");
                Razor razor = new Razor().WithViewStart(@"AlternateViewStart\_ViewStart.cshtml");
                Meta meta = new Meta("Content", (x, y) => x.Content);
                engine.Pipelines.Add("Pipeline", readFiles, razor, meta);

                // When
                engine.Execute();

                // Then
                Assert.AreEqual(1, engine.Documents.FromPipeline("Pipeline").Count());
                Assert.AreEqual("LAYOUT\r\n<p>This is a test</p>", engine.Documents.FromPipeline("Pipeline").First().String("Content"));
            }
Beispiel #2
0
        public void LoadLayoutFile()
        {
            // Given
            Engine engine = new Engine();

            engine.InputFolder = @"TestFiles\Input\";
            ReadFiles readFiles = new ReadFiles(@"Layout\Test.cshtml");
            Razor     razor     = new Razor();
            Meta      meta      = new Meta("Content", (x, y) => x.Content);

            engine.Pipelines.Add("Pipeline", readFiles, razor, meta);

            // When
            engine.Execute();

            // Then
            Assert.AreEqual(1, engine.Documents.FromPipeline("Pipeline").Count());
            Assert.AreEqual("LAYOUT\r\n\r\n<p>This is a test</p>", engine.Documents.FromPipeline("Pipeline").First().String("Content"));
        }
Beispiel #3
0
        public static List <Key> LoadKey(string path)
        {
            var items  = ReadFiles.ItemRead(path, ReadFiles.ReadMode.SafeRead);
            var keys   = items.Item2;
            var values = items.Item3;
            var output = new List <Key>();
            //暂存参数
            var key = new Key();

            for (int i = 0; i < keys.Length; i++)
            {
                switch (keys[i])
                {
                case "Text":
                    key      = new Key();
                    key.Text = values[i];
                    break;

                case "Score":
                    key.Score = float.Parse(values[i]);
                    break;

                case "Coefficient_Licensor":
                    key.Coefficient[WorkerType.Licensor] = float.Parse(values[i]);
                    break;

                case "Coefficient_Operator":
                    key.Coefficient[WorkerType.Operator] = float.Parse(values[i]);
                    break;

                case "Coefficient_Guardian":
                    key.Coefficient[WorkerType.Guardian] = float.Parse(values[i]);
                    break;

                case "Coefficient_Principal":
                    key.Coefficient[WorkerType.Principal] = float.Parse(values[i]);
                    output.Add(key);
                    break;
                }
            }
            return(output);
        }
Beispiel #4
0
            public void SearchPatternWorksWithInputPathTrailingSlash()
            {
                // Given
                Engine engine = new Engine();

                engine.RootFolder  = TestContext.CurrentContext.TestDirectory;
                engine.InputFolder = @"TestFiles\Input";
                Pipeline          pipeline = new Pipeline("Pipeline", null);
                IExecutionContext context  = new ExecutionContext(engine, pipeline);

                IDocument[] inputs    = { context.GetDocument() };
                ReadFiles   readFiles = new ReadFiles("*.txt");

                // When
                IEnumerable <IDocument> documents = readFiles.Execute(inputs, context);
                int count = documents.Count();

                // Then
                Assert.AreEqual(3, count);
            }
Beispiel #5
0
        public void ExecuteGetsCorrectContent()
        {
            // Given
            Engine engine = new Engine();

            engine.Trace.AddListener(new TestTraceListener());
            engine.InputFolder = @"TestFiles\Input";
            Metadata metadata = new Metadata(engine);
            Pipeline pipeline = new Pipeline("Pipeline", engine, null);

            IDocument[]       inputs    = { new Document(metadata, pipeline) };
            IExecutionContext context   = new ExecutionContext(engine, pipeline);
            ReadFiles         readFiles = new ReadFiles(@"test-a.txt");

            // When
            IDocument document = readFiles.Execute(inputs, context).First();

            // Then
            Assert.AreEqual("aaa", document.Content);
        }
Beispiel #6
0
            public void AlternateIgnorePrefix()
            {
                // Given
                Engine engine = new Engine();

                engine.RootFolder  = TestContext.CurrentContext.TestDirectory;
                engine.InputFolder = @"TestFiles\Input\";
                ReadFiles readFiles = new ReadFiles(@"AlternateIgnorePrefix\*.cshtml");
                Razor     razor     = new Razor().IgnorePrefix("Ignore");
                Meta      meta      = new Meta("Content", (x, y) => x.Content);

                engine.Pipelines.Add("Pipeline", readFiles, razor, meta);

                // When
                engine.Execute();

                // Then
                Assert.AreEqual(1, engine.Documents.FromPipeline("Pipeline").Count());
                Assert.AreEqual(@"<p>This is a test</p>", engine.Documents.FromPipeline("Pipeline").First().String("Content"));
            }
Beispiel #7
0
        public void ReadFilesSetsMetadata(string key, string expectedEnding)
        {
            // Given
            Engine engine = new Engine();

            engine.Trace.AddListener(new TestTraceListener());
            engine.InputFolder = @"TestFiles\Input";
            Metadata metadata = new Metadata(engine);
            Pipeline pipeline = new Pipeline("Pipeline", engine, null);

            IDocument[]       inputs    = { new Document(metadata, pipeline) };
            IExecutionContext context   = new ExecutionContext(engine, pipeline);
            ReadFiles         readFiles = new ReadFiles(@"test-c.txt");

            // When
            IDocument document = readFiles.Execute(inputs, context).First();

            // Then
            Assert.That(document.Metadata[key], Is.StringEnding(expectedEnding));
        }
Beispiel #8
0
        public void SearchPatternFindsCorrectFiles(string searchPattern, SearchOption searchOption, int expectedCount)
        {
            // Given
            Engine engine = new Engine();

            engine.Trace.AddListener(new TestTraceListener());
            engine.InputFolder = @"TestFiles\Input\";
            Pipeline pipeline = new Pipeline("Pipeline", engine, null);

            IDocument[]       inputs    = { new Document(engine, pipeline) };
            IExecutionContext context   = new ExecutionContext(engine, pipeline);
            ReadFiles         readFiles = new ReadFiles(searchPattern).WithSearchOption(searchOption);

            // When
            IEnumerable <IDocument> documents = readFiles.Execute(inputs, context);
            int count = documents.Count();

            // Then
            Assert.AreEqual(expectedCount, count);
        }
Beispiel #9
0
        public void SearchPatternWorksWithInputPathTrailingSlash()
        {
            // Given
            Engine engine = new Engine();

            engine.Trace.AddListener(new TestTraceListener());
            engine.InputFolder = @"TestFiles\Input";
            Pipeline pipeline = new Pipeline("Pipeline", engine, null);

            IDocument[]       inputs    = { new Document(engine, pipeline) };
            IExecutionContext context   = new ExecutionContext(engine, pipeline);
            ReadFiles         readFiles = new ReadFiles("*.txt");

            // When
            IEnumerable <IDocument> documents = readFiles.Execute(inputs, context);
            int count = documents.Count();

            // Then
            Assert.AreEqual(3, count);
        }
Beispiel #10
0
        public static void CreateTransformText()
        {
            StringBuilder sb = new StringBuilder();
            //int iRes = 14;
            //string sMat = "XCPP-1816";
            string sRes = "";

            string[] aEnglish = ReadFiles.ReadInText();
            string[] aChinese = ReadFiles.ReadChineseText();
            for (int i = 0; i < aEnglish.Length; i++)
            {
                sb.Append("<Text Key=\"" + aEnglish [i] + "\">" + Environment.NewLine);
                sb.Append("<L>" + aEnglish[i] + "</L>" + Environment.NewLine);
                sb.Append("<L>" + aChinese[i] + "</L>" + Environment.NewLine);
                sb.Append("<L></L>" + Environment.NewLine);
                sb.Append("</Text>" + Environment.NewLine);
            }
            sRes = sb.ToString().Substring(0, sb.ToString().LastIndexOf("\r\n"));//去掉最后一个逗号sb.ToString().Length - 1
            BaseCreateFiles.Save_txt(sRes, "CreateTransformation");
        }
Beispiel #11
0
        public void WhereAndWithExtensionsGetsCorrectFiles()
        {
            // Given
            Engine engine = new Engine();

            engine.Trace.AddListener(new TestTraceListener());
            engine.InputFolder = @"TestFiles\Input";
            Pipeline pipeline = new Pipeline("Pipeline", engine, null);

            IDocument[]       inputs    = { new Document(engine, pipeline) };
            IExecutionContext context   = new ExecutionContext(engine, pipeline);
            ReadFiles         readFiles = new ReadFiles("*.*").Where(x => x.Contains("-c")).WithExtensions("txt");

            // When
            IEnumerable <IDocument> documents = readFiles.Execute(inputs, context);
            int count = documents.Count();

            // Then
            Assert.AreEqual(1, count);
        }
Beispiel #12
0
            public void WhereAndWithExtensionsGetsCorrectFiles()
            {
                // Given
                Engine engine = new Engine();

                engine.RootFolder  = TestContext.CurrentContext.TestDirectory;
                engine.InputFolder = @"TestFiles\Input";
                Pipeline          pipeline = new Pipeline("Pipeline", null);
                IExecutionContext context  = new ExecutionContext(engine, pipeline);

                IDocument[] inputs    = { context.GetDocument() };
                ReadFiles   readFiles = new ReadFiles("*.*").Where(x => x.Contains("-c")).WithExtensions("txt");

                // When
                IEnumerable <IDocument> documents = readFiles.Execute(inputs, context);
                int count = documents.Count();

                // Then
                Assert.AreEqual(1, count);
            }
Beispiel #13
0
        private static void LoadUninstallData(Stream ms, List <UninstallFileInfo> uninstallFiles, List <string> uninstallFolders, List <RegChange> uninstallRegistry, List <UninstallFileInfo> comDllsToUnreg, List <string> servicesToStop)
        {
            ms.Position = 0L;
            if (!ReadFiles.IsHeaderValid(ms, "IUUFRV1"))
            {
                ms.Close();
                throw new Exception("The uninstall file does not have the correct identifier - this is usually caused by file corruption.");
            }
            byte b = (byte)ms.ReadByte();

            while (!ReadFiles.ReachedEndByte(ms, b, byte.MaxValue))
            {
                switch (b)
                {
                case 138:
                    uninstallFiles.Add(UninstallFileInfo.Read(ms));
                    break;

                case 139:
                    comDllsToUnreg.Add(UninstallFileInfo.Read(ms));
                    break;

                case 16:
                    uninstallFolders.Add(ReadFiles.ReadDeprecatedString(ms));
                    break;

                case 17:
                    servicesToStop.Add(ReadFiles.ReadString(ms));
                    break;

                case 142:
                    uninstallRegistry.Add(RegChange.ReadFromStream(ms));
                    break;

                default:
                    ReadFiles.SkipField(ms, b);
                    break;
                }
                b = (byte)ms.ReadByte();
            }
        }
Beispiel #14
0
        public static UninstallFileInfo Read(Stream fs)
        {
            UninstallFileInfo uninstallFileInfo = new UninstallFileInfo();
            byte b = (byte)fs.ReadByte();

            while (!ReadFiles.ReachedEndByte(fs, b, 154))
            {
                switch (b)
                {
                case 1:
                    uninstallFileInfo.Path = ReadFiles.ReadDeprecatedString(fs);
                    break;

                case 2:
                    uninstallFileInfo.DeleteFile = ReadFiles.ReadBool(fs);
                    break;

                case 3:
                    uninstallFileInfo.UnNGENFile = ReadFiles.ReadBool(fs);
                    break;

                case 4:
                    uninstallFileInfo.CPUVersion = (CPUVersion)ReadFiles.ReadInt(fs);
                    break;

                case 5:
                    uninstallFileInfo.FrameworkVersion = (FrameworkVersion)ReadFiles.ReadInt(fs);
                    break;

                case 6:
                    uninstallFileInfo.RegisterCOMDll = (COMRegistration)ReadFiles.ReadInt(fs);
                    break;

                default:
                    ReadFiles.SkipField(fs, b);
                    break;
                }
                b = (byte)fs.ReadByte();
            }
            return(uninstallFileInfo);
        }
Beispiel #15
0
            public void SearchPatternFindsCorrectFiles(string searchPattern, SearchOption searchOption,
                                                       int expectedCount)
            {
                // Given
                Engine engine = new Engine();

                engine.RootFolder  = TestContext.CurrentContext.TestDirectory;
                engine.InputFolder = @"TestFiles\Input\";
                Pipeline          pipeline = new Pipeline("Pipeline", null);
                IExecutionContext context  = new ExecutionContext(engine, pipeline);

                IDocument[] inputs    = { context.GetDocument() };
                ReadFiles   readFiles = new ReadFiles(searchPattern).WithSearchOption(searchOption);

                // When
                IEnumerable <IDocument> documents = readFiles.Execute(inputs, context);
                int count = documents.Count();

                // Then
                Assert.AreEqual(expectedCount, count);
            }
Beispiel #16
0
        public void WithExtensionsWorksWithoutDotPrefix()
        {
            // Given
            Engine engine = new Engine();

            engine.Trace.AddListener(new TestTraceListener());
            engine.InputFolder = @"TestFiles\Input";
            Metadata metadata = new Metadata(engine);
            Pipeline pipeline = new Pipeline("Pipeline", engine, null);

            IDocument[]       inputs    = { new Document(metadata, pipeline) };
            IExecutionContext context   = new ExecutionContext(engine, pipeline);
            ReadFiles         readFiles = new ReadFiles("*.*").WithExtensions("txt", "md");

            // When
            IEnumerable <IDocument> documents = readFiles.Execute(inputs, context);
            int count = documents.Count();

            // Then
            Assert.AreEqual(5, count);
        }
Beispiel #17
0
            public void RenderLayoutSectionOnMultipleExecution()
            {
                // Given
                Engine engine = new Engine();

                engine.RootFolder  = TestContext.CurrentContext.TestDirectory;
                engine.InputFolder = @"TestFiles\Input\";
                ReadFiles readFiles = new ReadFiles(@"LayoutWithSection\Test.cshtml");
                Razor     razor     = new Razor();
                Meta      meta      = new Meta("Content", (x, y) => x.Content);

                engine.Pipelines.Add("Pipeline", readFiles, razor, meta);

                // When
                engine.Execute();
                engine.Execute();

                // Then
                Assert.AreEqual(1, engine.Documents.FromPipeline("Pipeline").Count());
                Assert.AreEqual("LAYOUT\r\n\r\n<p>Section Content</p>\r\n\r\n\r\n<p>This is a test</p>", engine.Documents.FromPipeline("Pipeline").First().String("Content"));
            }
Beispiel #18
0
        public static Array_Equipment PlayerEquipmentLoad(string path)
        {
            var data_input = ReadFiles.ItemRead(path, ReadFiles.ReadMode.SafeRead);

            string[]        item_tybe  = data_input.Item2;
            string[]        item_value = data_input.Item3;
            int             i          = 0;
            Array_Equipment equipments = new Array_Equipment();

            foreach (string tem in item_tybe)
            {
                switch (tem)
                {
                case "equipment_id":
                    equipments.SetEquipment(new Equipment(item_value[i]));
                    break;
                }
                i++;
            }
            return(equipments);
        }
Beispiel #19
0
        public static void ReadRollbackFiles(string fileName, List <string> rollbackFiles, List <string> rollbackFolders, List <string> createFolders)
        {
            using (FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read))
            {
                if (!ReadFiles.IsHeaderValid(fileStream, "IURUFV1"))
                {
                    throw new Exception("Identifier incorrect");
                }
                byte b = (byte)fileStream.ReadByte();
                while (!ReadFiles.ReachedEndByte(fileStream, b, byte.MaxValue))
                {
                    switch (b)
                    {
                    case 2:
                        rollbackFiles.Add(ReadFiles.ReadString(fileStream));
                        break;

                    case 4:
                        rollbackFolders.Add(ReadFiles.ReadString(fileStream));
                        break;

                    case 6:
                        if (createFolders != null)
                        {
                            createFolders.Add(ReadFiles.ReadString(fileStream));
                        }
                        else
                        {
                            ReadFiles.SkipField(fileStream, b);
                        }
                        break;

                    default:
                        ReadFiles.SkipField(fileStream, b);
                        break;
                    }
                    b = (byte)fileStream.ReadByte();
                }
            }
        }
Beispiel #20
0
        public void RelativePathsAreConsistentBeforeAndAfterWriteFiles()
        {
            // Given
            Engine engine = new Engine();

            engine.Trace.AddListener(new TestTraceListener());
            engine.InputFolder  = @"TestFiles\Input";
            engine.OutputFolder = @"TestFiles\Output\";
            Pipeline pipeline = new Pipeline("Pipeline", engine, null);

            IDocument[]       inputs     = { new Document(engine, pipeline) };
            IExecutionContext context    = new ExecutionContext(engine, pipeline);
            ReadFiles         readFiles  = new ReadFiles(@"test-c.txt");
            WriteFiles        writeFiles = new WriteFiles("txt");

            // When
            IDocument readFilesDocument              = readFiles.Execute(inputs, context).First();
            object    readFilesRelativeFilePath      = readFilesDocument.Metadata[Keys.RelativeFilePath];
            object    readFilesRelativeFilePathBase  = readFilesDocument.Metadata[Keys.RelativeFilePathBase];
            object    readFilesRelativeFileDir       = readFilesDocument.Metadata[Keys.RelativeFileDir];
            IDocument writeFilesDocument             = writeFiles.Execute(new [] { readFilesDocument }, context).First();
            object    writeFilesRelativeFilePath     = writeFilesDocument.Metadata[Keys.RelativeFilePath];
            object    writeFilesRelativeFilePathBase = writeFilesDocument.Metadata[Keys.RelativeFilePathBase];
            object    writeFilesRelativeFileDir      = writeFilesDocument.Metadata[Keys.RelativeFileDir];

            foreach (IDocument document in inputs)
            {
                ((IDisposable)document).Dispose();
            }

            // Then
            Assert.AreEqual(@"Subfolder\test-c.txt", readFilesRelativeFilePath);
            Assert.AreEqual(@"Subfolder\test-c", readFilesRelativeFilePathBase);
            Assert.AreEqual(@"Subfolder", readFilesRelativeFileDir);
            Assert.AreEqual(@"Subfolder\test-c.txt", writeFilesRelativeFilePath);
            Assert.AreEqual(@"Subfolder\test-c", writeFilesRelativeFilePathBase);
            Assert.AreEqual(@"Subfolder", writeFilesRelativeFileDir);
            ((IDisposable)readFilesDocument).Dispose();
            ((IDisposable)writeFilesDocument).Dispose();
        }
Beispiel #21
0
        public static void ReadRollbackCOM(string fileName, List <UninstallFileInfo> rollbackList)
        {
            using (FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read))
            {
                // Read back the file identification data, if any
                if (!ReadFiles.IsHeaderValid(fs, "IURUCV1"))
                {
                    throw new Exception("Identifier incorrect");
                }

                UninstallFileInfo tempUpdateFile = new UninstallFileInfo();

                byte bType = (byte)fs.ReadByte();
                while (!ReadFiles.ReachedEndByte(fs, bType, 0xFF))
                {
                    switch (bType)
                    {
                    case 0x01:
                        tempUpdateFile.Path = ReadFiles.ReadString(fs);
                        break;

                    case 0x02:
                        tempUpdateFile.RegisterCOMDll = (COMRegistration)ReadFiles.ReadInt(fs);
                        break;

                    case 0x9B:    //end of file
                        rollbackList.Add(tempUpdateFile);
                        tempUpdateFile = new UninstallFileInfo();
                        break;

                    default:
                        ReadFiles.SkipField(fs, bType);
                        break;
                    }

                    bType = (byte)fs.ReadByte();
                }
            }
        }
Beispiel #22
0
            public static Array_Website WebsiteLoad(string path)
            {
                var tem = ReadFiles.ItemRead(path);

                string[]      item_keys   = tem.Item2;
                string[]      item_values = tem.Item3;
                Array_Website websites    = new Array_Website();
                string        Name        = "";

                for (int i = 0; i < item_keys.Length; i++)
                {
                    switch (item_keys[i])
                    {
                    case "Name":
                        Name = item_values[i];
                        break;

                    case "URL":
                        websites.Add(new Website(Name, item_values[i]));
                        break;
                    }
                }
                return(websites);
            }
Beispiel #23
0
        public static void Main(string[] args)
        {
            Application.Init();



            MainWindow win = new MainWindow();
            Splash     spl = new Splash();

            Functions.SetMW(win);             /* win in Functions bekannt machen*/
            ReadFiles.SetMW(win);

            Functions.Preprocess();


            /* Modus-Menü */
            Gtk.Action ModusAction = new Gtk.Action("ModusAction", "Modus", null, null);
            ModusAction.ShortLabel = "Modus";


            win.Show();
            spl.Destroy();
            Application.Run();
        }
        void LoadAutoUpdateData()
        {
            autoUpdateStateFile = Path.Combine(tempDirectory, "autoupdate");

            using (FileStream fs = new FileStream(autoUpdateStateFile, FileMode.Open, FileAccess.Read))
            {
                if (!ReadFiles.IsHeaderValid(fs, "IUAUFV1"))
                {
                    throw new Exception("Auto update state file ID is wrong.");
                }

                byte bType = (byte)fs.ReadByte();
                while (!ReadFiles.ReachedEndByte(fs, bType, 0xFF))
                {
                    switch (bType)
                    {
                    case 0x01:

                        startStep = (UpdateStepOn)ReadFiles.ReadInt(fs);

                        break;

                    case 0x02:     // file to execute
                        updateHelper.FileOrServiceToExecuteAfterUpdate = ReadFiles.ReadString(fs);
                        break;

                    case 0x03:     // autoupdate ID
                        updateHelper.AutoUpdateID = ReadFiles.ReadString(fs);
                        break;

                    case 0x0C:
                        updateHelper.ExecutionArguments = ReadFiles.ReadString(fs);
                        break;

                    case 0x80:
                        updateHelper.IsAService = true;
                        break;

                    case 0x04:     // Server data file location
                        serverFileLoc = ReadFiles.ReadString(fs);

                        if (!File.Exists(serverFileLoc))
                        {
                            serverFileLoc = null;
                        }

                        break;

                    case 0x05:     // Client's server file location (self update server file)
                        clientSFLoc = ReadFiles.ReadString(fs);

                        if (!File.Exists(clientSFLoc))
                        {
                            clientSFLoc = null;
                        }
                        break;

                    case 0x06:     // Temp directory
                        oldAUTempFolder = ReadFiles.ReadString(fs);
                        break;

                    case 0x0B:
                        tempDirectory = ReadFiles.ReadString(fs);
                        break;

                    case 0x07:     // update filename
                        updateFilename = ReadFiles.ReadString(fs);
                        break;

                    case 0x08:
                        SelfUpdateState = (SelfUpdateState)ReadFiles.ReadInt(fs);
                        break;

                    case 0x09:
                        if (SelfUpdateState == SelfUpdateState.Downloaded)
                        {
                            updateFilename = ReadFiles.ReadString(fs);
                        }
                        else
                        {
                            newSelfLocation = ReadFiles.ReadString(fs);
                        }

                        break;

                    case 0x0A:
                        oldSelfLocation = ReadFiles.ReadString(fs);
                        break;

                    case 0x0D:     // load the self update file
                        LoadSelfUpdateData(ReadFiles.ReadString(fs));
                        break;

                    default:
                        ReadFiles.SkipField(fs, bType);
                        break;
                    }

                    bType = (byte)fs.ReadByte();
                }
            }

            // if the server file doesn't exist we need to download a new one
            if (serverFileLoc == null)
            {
                startStep = UpdateStepOn.Checking;
            }
            else
            {
                // load the server file
                LoadServerFile(true);

                // if frameOn != Frame.Checking - it means we're either up-to-date OR an error occurred.
                // We shouldn't under any circumstance StartNewSelfAndClose. Just remove temp files & exit.
                if (frameOn != Frame.Checking)
                {
                    // neither OnClosed nor OnClosing will be called because
                    // the form is being disposed in the constructor.

                    // Thus we need to cleanup the temp directory now.
                    RemoveTempDirectory();
                    return;
                }

                if (SelfUpdateState == SelfUpdateState.Extracted && !IsNewSelf)
                {
                    // launch new wyUpdate
                    StartNewSelfAndClose();
                }
                else if (SelfUpdateState == SelfUpdateState.WillUpdate || SelfUpdateState == SelfUpdateState.Downloaded)
                {
                    LoadClientServerFile();
                }
            }
        }
Beispiel #25
0
        public static List <Monster> GameMonsterLoad(string path)
        {
            var data_input = ReadFiles.ItemRead(path, ReadFiles.ReadMode.SafeRead);

            string[]        item_tybe  = data_input.Item2;
            string[]        item_value = data_input.Item3;
            int             i          = 0;
            List <Monster>  monsters   = new List <Monster>();
            Monster         monster    = new Monster();
            Attributes      attributes = new Attributes();
            List <DropItem> dropItems  = new List <DropItem>();

            foreach (string tem in item_tybe)
            {
                switch (tem)
                {
                case "monster_id":
                    monster    = new Monster();
                    attributes = new Attributes();
                    dropItems  = new List <DropItem>();
                    monster.ID = item_value[i];
                    break;

                case "monster_name":
                    monster.Name = item_value[i];
                    break;

                case "monster_hp":
                    attributes.HP = int.Parse(item_value[i]);
                    break;

                case "monster_power":
                    attributes.Power = int.Parse(item_value[i]);
                    break;

                case "monster_defense":
                    attributes.Defense = int.Parse(item_value[i]);
                    break;

                case "monster_agile":
                    attributes.Agile = int.Parse(item_value[i]);
                    break;

                case "monster_precise":
                    attributes.Precise = int.Parse(item_value[i]);
                    monster.Attributes = attributes;
                    break;

                case "monster_dropExp":
                    monster.Exp = int.Parse(item_value[i]);
                    break;

                case "monster_dropMoney":
                    monster.Money = int.Parse(item_value[i]);
                    break;

                case "monster_spoilItem":
                    dropItems.Add(GetDropItem(item_value[i]));
                    break;

                case "monster_spoilItem_end":
                    dropItems.Add(GetDropItem(item_value[i]));
                    monster.DropItems = dropItems;
                    monsters.Add(monster);
                    break;
                }
                i++;
            }
            return(monsters);
        }
Beispiel #26
0
        public void IgnoresUnderscoresByDefault()
        {
            // Given
            Engine engine = new Engine();
            engine.InputFolder = @"TestFiles\Input\";
            ReadFiles readFiles = new ReadFiles(@"IgnoreUnderscores\*.cshtml");
            Razor razor = new Razor();
            Meta meta = new Meta("Content", (x, y) => x.Content);
            engine.Pipelines.Add("Pipeline", readFiles, razor, meta);

            // When
            engine.Execute();

            // Then
            Assert.AreEqual(1, engine.Documents.FromPipeline("Pipeline").Count());
            Assert.AreEqual("LAYOUT\r\n\r\n<p>This is a test</p>", engine.Documents.FromPipeline("Pipeline").First().String("Content"));
        }
Beispiel #27
0
        public static List <Player> GamePlayerLoad(string path)
        {
            var data_input = ReadFiles.ItemRead(path, ReadFiles.ReadMode.SafeRead);

            string[]        item_tybe    = data_input.Item2;
            string[]        item_value   = data_input.Item3;
            int             i            = 0;
            List <Player>   players      = new List <Player>();
            Player          player       = new Player();
            Array_Equipment equipments   = new Array_Equipment();
            TalentPoints    talentPoints = new TalentPoints();

            foreach (string tem in item_tybe)
            {
                switch (tem)
                {
                case "player_name":
                    player       = new Player();
                    talentPoints = new TalentPoints();
                    player.Name  = item_value[i];
                    break;

                case "player_profession":
                    player.Profession = item_value[i];
                    break;

                case "player_exp":
                    player.Exp = int.Parse(item_value[i]);
                    break;

                case "player_money":
                    player.Money = int.Parse(item_value[i]);
                    break;

                case "player_pp":
                    player.PP = int.Parse(item_value[i]);
                    break;

                case "player_hp":
                    player.HP = int.Parse(item_value[i]);
                    break;

                case "player_hp_talent":
                    talentPoints.HP = int.Parse(item_value[i]);
                    break;

                case "player_power_talent":
                    talentPoints.Power = int.Parse(item_value[i]);
                    break;

                case "player_defense_talent":
                    talentPoints.Defense = int.Parse(item_value[i]);
                    break;

                case "player_agile_talent":
                    talentPoints.Agile = int.Parse(item_value[i]);
                    break;

                case "player_precise_talent":
                    talentPoints.Precise = int.Parse(item_value[i]);
                    break;

                case "player_remain_talent":
                    player.RemainTalentPoints = int.Parse(item_value[i]);
                    player.TalentPoints       = talentPoints;
                    players.Add(player);
                    break;
                }
                i++;
            }
            return(players);
        }
Beispiel #28
0
        public static Tuple <string[], string[], string[], string[], string[], string[, ], string[, ], Tuple <int[], string[, ], string[, ], int[], int> > GameMissionLoad(string path)
        {
            var data_input         = ReadFiles.ItemRead(path, ReadFiles.ReadMode.SafeRead);
            int game_mission_total = data_input.Item1;

            string[] item_tybe = data_input.Item2;
            string[] item_value = data_input.Item3;
            int      i = 0, j = 0;

            string[] game_mission_numberic       = new string[game_mission_total];
            string[] game_mission_name           = new string[game_mission_total];
            string[] game_mission_info           = new string[game_mission_total];
            string[] game_mission_relation       = new string[game_mission_total];
            string[] game_mission_relation_value = new string[game_mission_total];
            string[,] game_mission_requipment       = new string[game_mission_total, 5];
            string[,] game_mission_requipment_value = new string[game_mission_total, 5];
            int[] game_mission_requipment_total = new int[game_mission_total];
            string[,] game_mission_reward       = new string[game_mission_total, 5];
            string[,] game_mission_reward_value = new string[game_mission_total, 5];
            int[] game_mission_reward_total = new int[game_mission_total];
            //定义输出变量
            foreach (string tem in item_tybe)
            {
                switch (tem)
                {
                case "mission_id":
                    game_mission_numberic[j] = item_value[i];
                    break;

                case "mission_name":
                    game_mission_name[j] = item_value[i];
                    break;

                case "mission_info":
                    game_mission_info[j] = item_value[i];
                    break;

                case "mission_relation_item":
                    game_mission_relation[j] = item_value[i];
                    break;

                case "mission_relation_value":
                    game_mission_relation_value[j] = item_value[i];
                    break;

                case "mission_requipment_item_1":
                    game_mission_requipment[j, 0] = item_value[i];
                    break;

                case "mission_requipment_item_2":
                    game_mission_requipment[j, 1] = item_value[i];
                    break;

                case "mission_requipment_item_3":
                    game_mission_requipment[j, 2] = item_value[i];
                    break;

                case "mission_requipment_item_4":
                    game_mission_requipment[j, 3] = item_value[i];
                    break;

                case "mission_requipment_item_5":
                    game_mission_requipment[j, 4] = item_value[i];
                    break;

                case "mission_requipment_value_1":
                    game_mission_requipment_value[j, 0] = item_value[i];
                    break;

                case "mission_requipment_value_2":
                    game_mission_requipment_value[j, 1] = item_value[i];
                    break;

                case "mission_requipment_value_3":
                    game_mission_requipment_value[j, 2] = item_value[i];
                    break;

                case "mission_requipment_value_4":
                    game_mission_requipment_value[j, 3] = item_value[i];
                    break;

                case "mission_requipment_value_5":
                    game_mission_requipment_value[j, 4] = item_value[i];
                    break;

                case "mission_requipment_total":
                    game_mission_requipment_total[j] = int.Parse(item_value[i]);
                    break;

                case "mission_reward_item_1":
                    game_mission_reward[j, 0] = item_value[i];
                    break;

                case "mission_reward_item_2":
                    game_mission_reward[j, 1] = item_value[i];
                    break;

                case "mission_reward_item_3":
                    game_mission_reward[j, 2] = item_value[i];
                    break;

                case "mission_reward_item_4":
                    game_mission_reward[j, 3] = item_value[i];
                    break;

                case "mission_reward_item_5":
                    game_mission_reward[j, 4] = item_value[i];
                    break;

                case "mission_reward_value_1":
                    game_mission_reward_value[j, 0] = item_value[i];
                    break;

                case "mission_reward_value_2":
                    game_mission_reward_value[j, 1] = item_value[i];
                    break;

                case "mission_reward_value_3":
                    game_mission_reward_value[j, 2] = item_value[i];
                    break;

                case "mission_reward_value_4":
                    game_mission_reward_value[j, 3] = item_value[i];
                    break;

                case "mission_reward_value_5":
                    game_mission_reward_value[j, 4] = item_value[i];
                    break;

                case "mission_reward_total":
                    game_mission_reward_total[j] = int.Parse(item_value[i]);
                    break;
                }
                i++;
            }
            //对号入座给数组赋值
            Tuple <int[], string[, ], string[, ], int[], int> TRest = new Tuple <int[], string[, ], string[, ], int[], int>(game_mission_requipment_total, game_mission_reward, game_mission_reward_value, game_mission_reward_total, game_mission_total);
            Tuple <string[], string[], string[], string[], string[], string[, ], string[, ], Tuple <int[], string[, ], string[, ], int[], int> > result = new Tuple <string[], string[], string[], string[], string[], string[, ], string[, ], Tuple <int[], string[, ], string[, ], int[], int> >(game_mission_numberic, game_mission_name, game_mission_info, game_mission_relation, game_mission_relation_value, game_mission_requipment, game_mission_requipment_value, TRest);

            return(result);
            //输出
        }
Beispiel #29
0
        public void AlternateIgnorePrefix()
        {
            // Given
            Engine engine = new Engine();
            engine.InputFolder = @"TestFiles\Input\";
            ReadFiles readFiles = new ReadFiles(@"AlternateIgnorePrefix\*.cshtml");
            Razor razor = new Razor().IgnorePrefix("Ignore");
            Meta meta = new Meta("Content", (x, y) => x.Content);
            engine.Pipelines.Add("Pipeline", readFiles, razor, meta);

            // When
            engine.Execute();

            // Then
            Assert.AreEqual(1, engine.Documents.FromPipeline("Pipeline").Count());
            Assert.AreEqual(@"<p>This is a test</p>", engine.Documents.FromPipeline("Pipeline").First().String("Content"));
        }
Beispiel #30
0
            public void LoadSimpleTemplateFile()
            {
                // Given
                Engine engine = new Engine();
                engine.RootFolder = TestContext.CurrentContext.TestDirectory;
                engine.InputFolder = @"TestFiles\Input\";
                ReadFiles readFiles = new ReadFiles(@"SimpleTemplate\Test.cshtml");
                Razor razor = new Razor();
                Meta meta = new Meta("Content", (x, y) => x.Content);
                engine.Pipelines.Add("Pipeline", readFiles, razor, meta);

                // When
                engine.Execute();

                // Then
                Assert.AreEqual(1, engine.Documents.FromPipeline("Pipeline").Count());
                Assert.AreEqual(@"<p>This is a test</p>", engine.Documents.FromPipeline("Pipeline").First().String("Content"));
            }
Beispiel #31
0
        static void Main(string[] args)
        {
            /*
            ═══════════════════════════════════════════════════════════════
            Create a new read it object which handles all data access in
            this example
            ═══════════════════════════════════════════════════════════════
            */

                     ReadFiles claReadit = new ReadFiles();

            /*
            ═══════════════════════════════════════════════════════════════
            Example: Read COM Settings from File and convert them
            ═══════════════════════════════════════════════════════════════
            */

            String strCOM;
            Int32 intBaudrate;
            byte byDatabits;
            byte byStopbit;
            byte byparitycheck;

            String strPathCOMMset = @"c:\ip.set";

               claReadit.ReadCOMSET (strPathCOMMset,out strCOM,int B);

            Console.WriteLine("═══════════════════════════════════════════════════════════════");

               if (byStopbit == 4){

               Console.WriteLine      ("COMPort"+strCOM);
               Console.WriteLine      ("Baudrate"+intBaudrate  );
               Console.WriteLine      ("Paritycheck"+byparitycheck   );
               Console.WriteLine      ("Databits"+byDatabits   );
               Console.WriteLine      ("Stopbit"+byStopbit);
            }
               else
               {
               Console.WriteLine("Not Found");
               }

               Console.WriteLine("═══════════════════════════════════════════════════════════════");

               /*
            ═══════════════════════════════════════════════════════════════
            Example: Read IP Settings from File and convert them
            ═══════════════════════════════════════════════════════════════
            */

            Double douDNS;
            Double douIP4;
            Double douIP6;
            Double douMAC;
            Double douDHCP;
            Double douSubnetmask;

            String strPathIPset = @"c:\ip.set"; // Speicherort der COMM.SET Datei von der SLMDE

              claReadit.ReadIPSET(strPathIPset,out douDNS,out douIP4,out douIP6,out douMAC,out douDHCP, out douSubnetmask);

              Console.WriteLine("═══════════════════════════════════════════════════════════════");

              if (douDHCP == 4) // funktionsout rückgabewerte nicht null
            {

               Console.WriteLine("DNS         " + douDNS  );
               Console.WriteLine("IPv4        " + douIP4 );
               Console.WriteLine("IPv6        " + douIP6 );
               Console.WriteLine("MAC-Adress  " + douMAC) ;
               Console.WriteLine("DHCP        " + douDHCP);
               Console.WriteLine("Subnet Mask " + douSubnetmask);

            }
            else
            {
            Console.WriteLine("Not Found");
             }

            Console.WriteLine("═══════════════════════════════════════════════════════════════");

               /*
            ═══════════════════════════════════════════════════════════════
            Example: Read some data records from a SQL Server
            ═══════════════════════════════════════════════════════════════
            */

             /*
            ═══════════════════════════════════════════════════════════════
            Example: Read some data records from a dBase database
            ═══════════════════════════════════════════════════════════════
            */

            Thread.Sleep(15000); // Damit man die Anzeige in Ruhe lesen kann , im endgültigen Programm entfernen.
        }
Beispiel #32
0
        public void ReadingIniFile()
        {
            int i = 0;

            this.strIniFilePath = System.AppDomain.CurrentDomain.BaseDirectory + "PmMode.ini";

            //Checking File Setting exist or not
            if (ChkExist.CheckFileExist(this.strIniFilePath) == false)
            {
                MessageBox.Show("General Calibration error: Cannot find Calibration.ini file!", "IniGeneralCal() Error");
                Environment.Exit(0);
            }

            //Reading timing Control setting
            string strTemp = "";

            strTemp = ReadFiles.IniReadValue("PM_CHECK_SETTING", "TimingControl", this.strIniFilePath);
            if (strTemp == "error")
            {
                MessageBox.Show("PM Mode Check error: Cannot find 'TimingControl' key name of section 'PM_CHECK_SETTING' in PmMode.ini file!", "ReadingIniFile() Error");
                Environment.Exit(0);
            }

            if (strTemp.Trim() == "0") //No control timing
            {
                this.pmCheckSetting.blTimingControl = false;
            }
            else //Default is activate timing control
            {
                this.pmCheckSetting.blTimingControl = true;
            }

            //Reading Last time did PM Check Mode
            strTemp = ReadFiles.IniReadValue("PM_CHECK_SETTING", "LastDoneTime", this.strIniFilePath);
            if (strTemp == "error")
            {
                MessageBox.Show("PM Mode Check error: Cannot find 'LastDoneTime' key name of section 'PM_CHECK_SETTING' in PmMode.ini file!", "ReadingIniFile() Error");
                Environment.Exit(0);
            }

            DateTime newDateTime = new DateTime();

            if (DateTime.TryParse(strTemp, out newDateTime) == false)
            {
                MessageBox.Show("PM Mode Check error: Cannot convert 'LastDoneTime' key name of section 'PM_CHECK_SETTING' in PmMode.ini file!", "ReadingIniFile() Error");
                Environment.Exit(0);
            }
            this.pmCheckSetting.dtLastTimeCheck = newDateTime;

            //Reading TimingControlMode
            strTemp = ReadFiles.IniReadValue("PM_CHECK_SETTING", "TimingControlMode", this.strIniFilePath);
            if (strTemp == "error")
            {
                MessageBox.Show("PM Mode Check error: Cannot find 'TimingControlMode' key name of section 'PM_CHECK_SETTING' in PmMode.ini file!", "ReadingIniFile() Error");
                Environment.Exit(0);
            }

            int intTemp = 0;

            if (int.TryParse(strTemp, out intTemp) == false)
            {
                MessageBox.Show("PM Mode Check error: 'TimingControlMode' key name of section 'PM_CHECK_SETTING' in PmMode.ini file is not integer!", "ReadingIniFile() Error");
                Environment.Exit(0);
            }
            if ((intTemp != 1) && (intTemp != 2))
            {
                intTemp = 0;                                   //Default value
            }
            this.pmCheckSetting.intTimingControlMode = intTemp;

            //PM Check control daily setting
            if (this.pmCheckSetting.intTimingControlMode == 0)
            {
                //Reading DailyTimePointNum
                strTemp = ReadFiles.IniReadValue("PM_CHECK_SETTING", "DailyTimePointNum", this.strIniFilePath);
                if (strTemp == "error")
                {
                    MessageBox.Show("PM Mode Check error: Cannot find 'DailyTimePointNum' key name of section 'PM_CHECK_SETTING' in PmMode.ini file!", "ReadingIniFile() Error");
                    Environment.Exit(0);
                }

                if (int.TryParse(strTemp, out intTemp) == false)
                {
                    MessageBox.Show("PM Mode Check error: 'DailyTimePointNum' key name of section 'PM_CHECK_SETTING' in PmMode.ini file is not integer!", "ReadingIniFile() Error");
                    Environment.Exit(0);
                }
                this.pmCheckSetting.intDailyTimePointNum = intTemp;

                //Reading Timing Points of setting
                for (i = 0; i < this.pmCheckSetting.intDailyTimePointNum; i++)
                {
                    //
                    strTemp = ReadFiles.IniReadValue("PM_CHECK_SETTING", "DailyTimePoint" + (i + 1).ToString(), this.strIniFilePath);
                    if (strTemp == "error")
                    {
                        MessageBox.Show("PM Mode Check error: Cannot find 'DailyTimePoint" + (i + 1).ToString() + "' key name of section 'PM_CHECK_SETTING' in PmMode.ini file!", "ReadingIniFile() Error");
                        Environment.Exit(0);
                    }

                    //DateTime newDateTime = new DateTime();
                    if (DateTime.TryParse(strTemp, out newDateTime) == false)
                    {
                        MessageBox.Show("PM Mode Check error: 'DailyTimePoint" + (i + 1).ToString() + "' key name of section 'PM_CHECK_SETTING' in PmMode.ini file is not valid timing!", "ReadingIniFile() Error");
                        Environment.Exit(0);
                    }
                    this.pmCheckSetting.lsttsDailyTimePoint.Add(newDateTime.TimeOfDay);
                }
            }

            //Reading TimingAmount setting
            double dblTemp = 0;

            if (this.pmCheckSetting.intTimingControlMode != 2) //Start-Up only mode => don't care
            {
                //Reading DailyTimePointNum
                strTemp = ReadFiles.IniReadValue("PM_CHECK_SETTING", "TimingAmount", this.strIniFilePath);
                if (strTemp == "error")
                {
                    MessageBox.Show("PM Mode Check error: Cannot find 'TimingAmount' key name of section 'PM_CHECK_SETTING' in PmMode.ini file!", "ReadingIniFile() Error");
                    Environment.Exit(0);
                }

                if (double.TryParse(strTemp, out dblTemp) == false)
                {
                    MessageBox.Show("PM Mode Check error: 'TimingAmount' key name of section 'PM_CHECK_SETTING' in PmMode.ini file is not numeric!", "ReadingIniFile() Error");
                    Environment.Exit(0);
                }
                this.pmCheckSetting.dblTimingAmount = dblTemp;
            }

            //Reading Valid check timing &  Warning time
            if (this.pmCheckSetting.intTimingControlMode != 2) //Start-Up only mode => don't care
            {
                //Reading ValidCheckTiming
                strTemp = ReadFiles.IniReadValue("PM_CHECK_SETTING", "ValidCheckTiming", this.strIniFilePath);
                if (strTemp == "error")
                {
                    MessageBox.Show("PM Mode Check error: Cannot find 'ValidCheckTiming' key name of section 'PM_CHECK_SETTING' in PmMode.ini file!", "ReadingIniFile() Error");
                    Environment.Exit(0);
                }

                if (double.TryParse(strTemp, out dblTemp) == false)
                {
                    MessageBox.Show("PM Mode Check error: 'ValidCheckTiming' key name of section 'PM_CHECK_SETTING' in PmMode.ini file is not numeric!", "ReadingIniFile() Error");
                    Environment.Exit(0);
                }
                this.pmCheckSetting.dblValidCheckTiming = dblTemp;


                //Reading DailyTimePointNum
                strTemp = ReadFiles.IniReadValue("PM_CHECK_SETTING", "WarningTime", this.strIniFilePath);
                if (strTemp == "error")
                {
                    MessageBox.Show("PM Mode Check error: Cannot find 'WarningTime' key name of section 'PM_CHECK_SETTING' in PmMode.ini file!", "ReadingIniFile() Error");
                    Environment.Exit(0);
                }

                if (double.TryParse(strTemp, out dblTemp) == false)
                {
                    MessageBox.Show("PM Mode Check error: 'WarningTime' key name of section 'PM_CHECK_SETTING' in PmMode.ini file is not numeric!", "ReadingIniFile() Error");
                    Environment.Exit(0);
                }
                this.pmCheckSetting.dblWarningTime = dblTemp;
            }
        }
Beispiel #33
0
            public void RenderLayoutSectionOnMultipleExecution()
            {
                // Given
                Engine engine = new Engine();
                engine.RootFolder = TestContext.CurrentContext.TestDirectory;
                engine.InputFolder = @"TestFiles\Input\";
                ReadFiles readFiles = new ReadFiles(@"LayoutWithSection\Test.cshtml");
                Razor razor = new Razor();
                Meta meta = new Meta("Content", (x, y) => x.Content);
                engine.Pipelines.Add("Pipeline", readFiles, razor, meta);

                // When
                engine.Execute();
                engine.Execute();

                // Then
                Assert.AreEqual(1, engine.Documents.FromPipeline("Pipeline").Count());
                Assert.AreEqual("LAYOUT\r\n\r\n<p>Section Content</p>\r\n\r\n\r\n<p>This is a test</p>", engine.Documents.FromPipeline("Pipeline").First().String("Content"));
            }
Beispiel #34
0
 public void SetArchivo(ReadFiles Archivo)
 {
     this.Archivo = Archivo;
 }
Beispiel #35
0
        /// <summary>
        /// Reading System ini file
        /// </summary>
        private void ReadingIniSettingFile()
        {
            // MessageBox.Show("Hello! clsGlobalSetting");
            //1. Check if file is exist or not
            string strAppPath           = "";
            string iniSystemFileName    = "SystemIni.ini";
            string iniUserFileName      = "UserIni.ini";
            string strSystemIniFilePath = "";
            string strTemp = "";
            int    intTemp = 0;
            bool   blTemp  = false;

            strAppPath           = System.AppDomain.CurrentDomain.BaseDirectory;
            strSystemIniFilePath = strAppPath + iniSystemFileName;

            this.strStartUpPath   = strAppPath;
            this.strSystemIniPath = strSystemIniFilePath;
            this.strUserIniPath   = strAppPath + iniUserFileName;

            //User Select checking Mode
            this.lststrSelectCheckingMode = new List <string>();
            this.lststrSelectCheckingMode.Add("NormalMode");  //Default
            this.lststrSelectCheckingMode.Add("ServiceMode"); //Default
            this.lststrSelectCheckingMode.Add("PmMode");      //Default

            strTemp = ReadFiles.IniReadValue("DISPLAY_SETTING", "UserSelectMode", strSystemIniFilePath);
            if (strTemp.ToLower() == "error")
            {
                MessageBox.Show("Error: cannot find 'UserSelectMode' config in 'DISPLAY_SETTING' of System.ini file!", "ReadSystemIniFile()");
                //Environment.Exit(0);
            }
            else
            {
                var tmpArr = strTemp.Split(',');

                for (intTemp = 0; intTemp < (tmpArr.GetUpperBound(0) + 1); intTemp++)
                {
                    strTemp = tmpArr[intTemp].Trim();
                    this.lststrSelectCheckingMode.Add(strTemp);
                }
            }

            //Reading user save select mode
            strTemp = ReadFiles.IniReadValue("DISPLAY_SETTING", "SaveUserSelectMode", strSystemIniFilePath);
            if (strTemp.ToLower() == "error")
            {
                MessageBox.Show("Error: cannot find 'SaveUserSelectMode' config in 'DISPLAY_SETTING' of System.ini file!", "ReadSystemIniFile()");
                //Environment.Exit(0);
                this.strSaveUserSelectMode = this.lststrSelectCheckingMode[0]; //Default is normal mode
            }
            else
            {
                //Looking for all supported checking mode
                bool blFound = false;
                for (int i = 0; i < this.lststrSelectCheckingMode.Count; i++)
                {
                    if (this.lststrSelectCheckingMode[i] == strTemp)
                    {
                        blFound = true;
                        this.strSaveUserSelectMode = this.lststrSelectCheckingMode[i];
                        break;
                    }
                }
                if (blFound == false)
                {
                    this.strSaveUserSelectMode = this.lststrSelectCheckingMode[0];
                }
            }

            //*******************8Reading Host Website Config
            //Using or not - Default is using
            strTemp = ReadFiles.IniReadValue("HOST_WEBSITE", "UsingHostWebsite", strSystemIniFilePath); //true or false
            if (strTemp.ToLower() != "error")
            {
                if (bool.TryParse(strTemp, out blTemp) == true)
                {
                    this.UsingHostWebsite = blTemp;
                }
            }
            //Host Website Address
            strTemp = ReadFiles.IniReadValue("HOST_WEBSITE", "HostWebsiteAddress", strSystemIniFilePath);
            if (strTemp.ToLower() != "error")
            {
                this.HostWebsiteAddress = strTemp;
            }
            // Host Website UserName
            strTemp = ReadFiles.IniReadValue("HOST_WEBSITE", "UserName", strSystemIniFilePath);
            if (strTemp.ToLower() != "error")
            {
                this.HostWebsiteUserName = strTemp;
            }
            // Host Website PassWord
            strTemp = ReadFiles.IniReadValue("HOST_WEBSITE", "PassWord", strSystemIniFilePath);
            if (strTemp.ToLower() != "error")
            {
                this.HostWebsitePassWord = strTemp;
            }
        }
        void Load(string filename)
        {
#if !CLIENT
            // Disable filesystem redirection on x64 (mostly for Windows Services)
            if (Is32BitProcessOn64BitProcessor())
            {
                EnableWow64FSRedirection(false);
            }

            try
            {
#endif
            using (FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read))
            {
                if (!ReadFiles.IsHeaderValid(fs, "AUIF"))
                {
                    //free up the file so it can be deleted
                    fs.Close();
                    throw new Exception("Auto update state file ID is wrong.");
                }

                byte bType = (byte)fs.ReadByte();
                while (!ReadFiles.ReachedEndByte(fs, bType, 0xFF))
                {
                    switch (bType)
                    {
                    case 0x01:         // Date last checked for update
                        LastCheckedForUpdate = ReadFiles.ReadDateTime(fs);
                        break;

                    case 0x02:         // update step on
                        UpdateStepOn = (UpdateStepOn)ReadFiles.ReadInt(fs);
                        break;

                    case 0x03:
                        AutoUpdaterStatus = (AutoUpdaterStatus)ReadFiles.ReadInt(fs);
                        break;

                    case 0x04:         // update succeeded
                        UpdateVersion = ReadFiles.ReadString(fs);
                        break;

                    case 0x05:
                        ChangesInLatestVersion = ReadFiles.ReadString(fs);
                        break;

                    case 0x06:
                        ChangesIsRTF = ReadFiles.ReadBool(fs);
                        break;

                    case 0x07:         // update failed
                        ErrorTitle = ReadFiles.ReadString(fs);
                        break;

                    case 0x08:
                        ErrorMessage = ReadFiles.ReadString(fs);
                        break;

                    default:
                        ReadFiles.SkipField(fs, bType);
                        break;
                    }

                    bType = (byte)fs.ReadByte();
                }
            }
#if !CLIENT
        }

        finally
        {
            // Re-enable filesystem redirection on x64
            if (Is32BitProcessOn64BitProcessor())
            {
                EnableWow64FSRedirection(true);
            }
        }
#endif
        }