コード例 #1
0
ファイル: Importer.cs プロジェクト: zhangguodong123/DbSync-1
        public List <T> ImportFromFileToMemory <T>(string path, IErrorHandler errorHandler = null)
        {
            JobSettings settings = new JobSettings
            {
                Tables       = new List <Table>(),
                AuditColumns = new JobSettings.AuditSettings(),
                IgnoreAuditColumnsOnExport = true,
                UseAuditColumnsOnImport    = false,
                Path = Path.GetDirectoryName(path)
            };

            errorHandler = errorHandler ?? new DefaultErrorHandler();

            Table table = new Table();

            table.Name = typeof(T).Name;
            table.Initialize <T>(settings, errorHandler);

            var diffGenerator = new DiffGenerator();

            using (var target = new EmptyDataReader(table))
                using (var source = new XmlRecordDataReader(path, table))
                    using (var writer = new InMemoryDataWriter <T>(table))
                    {
                        diffGenerator.GenerateDifference(source, target, table, writer, settings);
                        return(writer.Data);
                    }
        }
コード例 #2
0
ファイル: Form1.cs プロジェクト: fabianoms/components-logger
        private void LoadLoggers()
        {
            WriteChosenComponents();

            ComponentDataReader dateTimeReader, hdDataReader, dvdStatusDataReader, memoryDataReader, cpuDataReader,
                                ethDataReader, wifiDataReader, lcdDataReader, cpuCoolerDataReader;

            dateTimeReader = new CurrentTimeDataReader();

            if (CPUFreqCheckBox.Checked)
            {
                cpuDataReader = new ProcessorDataReaderOHM(computer);
            }
            else
            {
                cpuDataReader = new EmptyDataReader();
            }

            if (LCDBrightnessCheckBox.Checked)
            {
                lcdDataReader = new LCDDataReader();
            }
            else
            {
                lcdDataReader = new EmptyDataReader();
            }

            if (HDCheckBox.Checked)
            {
                hdDataReader = new HardDiskDataReader((string)hdUnitComboBox.SelectedItem, "HD");
            }
            //hdDataReader = new HardDiskDataReaderOHM(computer);
            else
            {
                hdDataReader = new EmptyDataReader();
            }

            bool dvdIO, dvdStatus;

            dvdIO     = DVDCheckBox.Checked;
            dvdStatus = DVDStateCheckBox.Checked;
            if ((!dvdIO) && (!dvdStatus))
            {
                dvdStatusDataReader = new EmptyDataReader();
            }
            else
            {
                dvdStatusDataReader = new DVDDriveDataReader(dvdIO, dvdStatus);
            }


            if (MemoryCheckBox.Checked)
            {
                //memoryDataReader = new MemoryDataReader();
                memoryDataReader = new MemoryDataReaderOHM(computer);
            }
            else
            {
                memoryDataReader = new EmptyDataReader();
            }

            bool logDownload      = DownloadCheckBox.Checked;
            bool logUpload        = UploadCheckBox.Checked;
            bool logNetworkStatus = NetworkStateCheckbox.Checked;

            if (hasEthLog)
            {
                ethDataReader = new NetworkDataReader((string)ethComboBox.SelectedItem, NetworkDeviceType.Ethernet, logDownload, logUpload, logNetworkStatus);
            }
            else
            {
                ethDataReader = new EmptyDataReader();
            }

            if (hasWifiLog)
            {
                wifiDataReader = new NetworkDataReader((string)wifiComboBox.SelectedItem, NetworkDeviceType.Wireless, logDownload, logUpload, logNetworkStatus);
            }
            else
            {
                wifiDataReader = new EmptyDataReader();
            }

            if (MotherBoardCB.Checked)
            {
                cpuCoolerDataReader = new MainBoardDataReaderOHM(computer);
            }
            else
            {
                cpuCoolerDataReader = new EmptyDataReader();
            }


            dataReaders.Add(dateTimeReader);
            dataReaders.Add(cpuDataReader);
            dataReaders.Add(hdDataReader);
            dataReaders.Add(dvdStatusDataReader);
            dataReaders.Add(memoryDataReader);
            dataReaders.Add(lcdDataReader);
            dataReaders.Add(ethDataReader);
            dataReaders.Add(wifiDataReader);
            dataReaders.Add(cpuCoolerDataReader);

            writer.Write("#"); //beginning header
            foreach (ComponentDataReader dataReader in dataReaders)
            {
                writer.Write(dataReader.GetDataHeader());
            }
            writer.WriteLine();
        }