コード例 #1
0
        /// <summary>
        /// Open file and read into array,  display unsorted
        /// </summary>
        private void frmSort_Load(object sender, System.EventArgs e)
        {
            FileHelperEngine engine = new FileHelperEngine(typeof (CustomersVerticalBar));
             mRecords = (CustomersVerticalBar[]) engine.ReadString(SampleData);

            grid1.SelectedObject = mRecords;
        }
コード例 #2
0
		public void WriteReadImage()
		{
			
			ImageClass ima = new ImageClass();
			Bitmap bmp  = new Bitmap(20, 10);
			bmp.SetPixel(10, 5, Color.Gainsboro);
			bmp.SetPixel(10, 7, Color.Navy);
			ima.MyImage = bmp;

			FileHelperEngine engine = new FileHelperEngine(typeof(ImageClass));
			string data = engine.WriteString((IList) new object[] {ima});
			
			ImageClass[] res = (ImageClass[]) engine.ReadString(data);
			
			Assert.AreEqual(1, res.Length);
			Assert.IsNotNull(res[0].MyImage);
			Assert.AreEqual(typeof(Bitmap), res[0].MyImage.GetType());
			Assert.AreEqual(Color.Gainsboro.R, ((Bitmap)res[0].MyImage).GetPixel(10, 5).R);
			Assert.AreEqual(Color.Gainsboro.G, ((Bitmap)res[0].MyImage).GetPixel(10, 5).G);
			Assert.AreEqual(Color.Gainsboro.B, ((Bitmap)res[0].MyImage).GetPixel(10, 5).B);
			Assert.AreEqual(Color.Navy.R, ((Bitmap)res[0].MyImage).GetPixel(10, 7).R);
			Assert.AreEqual(Color.Navy.G, ((Bitmap)res[0].MyImage).GetPixel(10, 7).G);
			Assert.AreEqual(Color.Navy.B, ((Bitmap)res[0].MyImage).GetPixel(10, 7).B);

		}
コード例 #3
0
        /// <summary>
        /// Run the engine into an array and show data on a grid
        /// </summary>
        private void cmdRun_Click(object sender, EventArgs e)
        {
            var engine = new FileHelperEngine<CustomersVerticalBar>();

            CustomersVerticalBar[] res = (CustomersVerticalBar[]) engine.ReadString(txtData.Text);
            grid1.SelectedObject = res;
        }
コード例 #4
0
        /// <summary>
        /// Run the engine over a grid and display
        /// the result in a grid
        /// </summary>
        private void cmdRun_Click(object sender, EventArgs e)
        {
            var engine = new FileHelperEngine<CustomersFixed>();

            grid1.SelectedObject = engine.ReadString(txtData.Text);
            ;
        }
コード例 #5
0
        public IHttpActionResult PullSensorDataFromCsvFileAsList(string fileName)
        {
            try
            {
                //filehelper object
                FileHelperEngine engine = new FileHelperEngine(typeof(TemperatureSensor));

                //set header text
                engine.HeaderText = "DeviceId,IsActive,SensorId,Temperature,LogDate,LogHour,LogMinute,LogSecond";

                var result = StorageHelper.ReadDataFromBlob(string.Format("{0}.csv", fileName)).Result;

                //read the CSV file into your object Arrary
                var sensorsDataArray = (TemperatureSensor[])engine.ReadString(result);

                var sensorsDataList = sensorsDataArray.ToList();

                if (sensorsDataList != null)
                    return Ok(sensorsDataList);

                return BadRequest("Result was invalid");
            }
            catch(Exception ex)
            {
                return BadRequest(ex.Message);
            }
        }
コード例 #6
0
        public void RunTimeEmptyGuidProperties()
        {
            var builder = new DelimitedClassBuilder("EntityWithGuid", "\t");
            builder.AddField("Name", typeof(string));
            builder.AddField("Id", typeof(Guid));
            builder.LastField.FieldNullValue = Guid.Empty;

            var engine = new FileHelperEngine(builder.CreateRecordClass())
            {
                Options = { IgnoreFirstLines = 1 }
            };

            const string inputValue = @"Name	Id
            first
            second	";

            var records = engine.ReadString(inputValue);
            records.Length.AssertEqualTo(2);

            dynamic record = records[0];
            ((Guid)record.Id).AssertEqualTo(Guid.Empty);
            ((string)record.Name).AssertEqualTo("first");

            record = records[1];
            ((Guid)record.Id).AssertEqualTo(Guid.Empty);
            ((string)record.Name).AssertEqualTo("second");
        }
コード例 #7
0
        public void ExceptionsTestsPriceConverterTest()
        {
            var engine = new FileHelperEngine<CustomConvType>();

            Assert.Throws<ConvertException>(
                () => engine.ReadString(testTo));
        }
コード例 #8
0
        private void RunAlignTest()
        {
            var engine = new FileHelperEngine<AlignClass>();
            var resTemp = TestCommon.ReadTest<AlignClass>(engine, "Good", "Trim1.txt");

            string tmp = engine.WriteString(resTemp);

            var engine2 = new FileHelperEngine<AlignClass2>();
            res = engine2.ReadString(tmp);
        }
コード例 #9
0
        public void EncodingAdvanced3()
        {
            var engine = new FileHelperEngine(typeof(EncodingRecord));
            byte[] data = File.ReadAllBytes(FileTest.Good.EncodingAdv3.Path);
            var encoding = new System.Text.ASCIIEncoding();
            string dataString = encoding.GetString(data);
            var res = (EncodingRecord[])engine.ReadString(dataString);

            Assert.AreEqual(res.Length, 18);
        }
コード例 #10
0
ファイル: FieldAlign.cs プロジェクト: hoffmanc/FileHelpers
        private void RunAlignTest()
        {
            engine = new FileHelperEngine(typeof (AlignClass));
            AlignClass[] resTemp = (AlignClass[]) TestCommon.ReadTest(engine, "Good", "Trim1.txt");

            string tmp = engine.WriteString(resTemp);

            engine = new FileHelperEngine(typeof (AlignClass2));
            res = (AlignClass2[]) engine.ReadString(tmp);
        }
コード例 #11
0
        public void ReadFileMaxRecords07()
        {
            var engine = new FileHelperEngine<SampleType>();

            SampleType[] res = FileTest.Good.Test1.ReadWithEngine(engine);

            string temp = engine.WriteString(res);
            res = engine.ReadString(temp, 2);

            Assert.AreEqual(2, res.Length);
            Assert.AreEqual(2, engine.TotalRecords);
            Assert.AreEqual(0, engine.ErrorManager.ErrorCount);
        }
コード例 #12
0
 public void ExceptionsTestsPriceConverterTest2()
 {
     try {
         var engine = new FileHelperEngine<CustomConvType>();
         object[] res = engine.ReadString(testTo);
     }
     catch (ConvertException ex) {
         Assert.IsTrue(ex.Message.IndexOf("VeryBadConverter") >= 0);
         Assert.IsTrue(ex.Message.IndexOf("custom converter") >= 0);
         Assert.IsTrue(ex.Message.IndexOf("Line: 1") >= 0);
         Assert.IsTrue(ex.Message.IndexOf("Column: 1") >= 0);
     }
 }
コード例 #13
0
ファイル: DateFormat.cs プロジェクト: rohancragg/FileHelpers
        public void NullDateFormat()
        {
            String data = "23/11/2010,24/11/2010\n,\n          ,          \n";

            var engine = new FileHelperEngine<NullDateFormat>();
            NullDateFormat[] result = engine.ReadString(data);
            Assert.AreEqual(new DateTime(2010, 11, 23), result[0].OrderDate, "Order date should be 23/11/2010 from first line" );
            Assert.AreEqual(new DateTime(2010, 11, 24), result[0].ShipDate, "Ship date should be 24/11/2010 from first line");
            Assert.AreEqual(null, result[1].OrderDate, "Order date should be null on second line");
            Assert.AreEqual(null, result[1].ShipDate, "Ship date should be null on second line");
            Assert.AreEqual(null, result[2].OrderDate, "Order date should be null on third line with blanks");
            Assert.AreEqual(null, result[2].ShipDate, "Ship date should be null on third line with blanks");
        }
コード例 #14
0
ファイル: QuoteMode.cs プロジェクト: abombss/FileHelpers
        public void OptionalForReadOnEmptyFields()
        {
            var eng = new FileHelperEngine<OptionalForReadOnEmptyFieldsClass>();
            var records = eng.ReadString(@"id,text,number
            121,""""""not good"""" line"", 4456
            120,""good line this one"",789
            122,,5446");

            Check.That(records.Length).IsEqualTo(3);

            Check.That(records[0].Text).IsEqualTo("\"not good\" line");
            Check.That(records[2].Text).IsEqualTo("");
        }
コード例 #15
0
 private void LoadCrimeData()
 {
     if (_crimeList == null)
     {
         _crimeList = new List<CrimeDetail>();
     }
     var engine = new FileHelperEngine(typeof(CrimeDetail));
     var crimesArray = engine.ReadString(CrimeData.Data) as CrimeDetail[];
     if (crimesArray != null && crimesArray.Length > 0)
     {
         _crimeList.AddRange(crimesArray.Reverse());
     }
 }
コード例 #16
0
ファイル: VersionData.cs プロジェクト: regisbsb/FileHelpers
        public static VersionData GetLastVersion()
        {
            string dataString;
            using (WebClient webClient = new WebClient()) {
                byte[] data = webClient.DownloadData("http://www.filehelpers.net/version.txt");
                dataString = System.Text.Encoding.Default.GetString(data);
            }

            VersionData[] versions = null;
            FileHelperEngine engine = new FileHelperEngine(typeof (VersionData));
            versions = (VersionData[]) engine.ReadString(dataString);

            return versions[versions.Length - 1];
        }
コード例 #17
0
        public void UpperAndLowerTest()
        {
            var LowerText = "lowercase sample;another";
            var UpperText = "Upper sample;Another";

            var engine = new FileHelperEngine<LowerCharClass>();
            var res = engine.ReadString(UpperText);

            res[0].fldChar.AssertEqualTo('u', "Should be lower case U from UpperText");
            res[0].fldChar2.AssertEqualTo('a', "Should be lower case a from UpperText");

            var engine2 = new FileHelperEngine<UpperCharClass>();

            var res2 = engine2.ReadString(LowerText);
            res2[0].fldChar.AssertEqualTo('L', "Should be upper case L from LowerText");
            res2[0].fldChar2.AssertEqualTo('A', "Should be upper case A from LowerText");

            var engine3 = new FileHelperEngine<NoChangeCharClass>();
            var res4 = engine3.ReadString(LowerText);
            res4[0].fldChar.AssertEqualTo('l', "Should be lower case L from LowerText");

            res4 = engine3.ReadString(UpperText);
            res4[0].fldChar.AssertEqualTo('U', "Should be Uppper case U from UpperText");
        }
コード例 #18
0
        public void UpperAndLowerTest()
        {
            var LowerText = "lowercase sample;another";
            var UpperText = "Upper sample;Another";

            var engine = new FileHelperEngine<LowerCharClass>();
            var res = engine.ReadString(UpperText);

            Check.That(res[0].fldChar).IsEqualTo('u');
            Check.That(res[0].fldChar2).IsEqualTo('a');

            var engine2 = new FileHelperEngine<UpperCharClass>();

            var res2 = engine2.ReadString(LowerText);
            Check.That(res2[0].fldChar).IsEqualTo('L');
            Check.That(res2[0].fldChar2).IsEqualTo('A');

            var engine3 = new FileHelperEngine<NoChangeCharClass>();
            var res4 = engine3.ReadString(LowerText);
            Check.That(res4[0].fldChar).IsEqualTo('l');

            res4 = engine3.ReadString(UpperText);
            Check.That(res4[0].fldChar).IsEqualTo('U');
        }
コード例 #19
0
 public void ExceptionsTestsPriceConverterTest2()
 {
     try
     {
         engine = new FileHelperEngine(typeof(CustomConvType));
         PriceRecord[] res = (PriceRecord[])engine.ReadString(testTo);
     }
     catch (ConvertException ex)
     {
         Assert.IsTrue(ex.Message.IndexOf("VeryBadConverter") >= 0);
         Assert.IsTrue(ex.Message.IndexOf("custom converter") >= 0);
         Assert.IsTrue(ex.Message.IndexOf("Line: 1") >= 0);
         Assert.IsTrue(ex.Message.IndexOf("Column: 1") >= 0);
     }
 }
コード例 #20
0
        public void Test()
        {
            string sampleData =
                @"1;1;-1;-11;11;-111;111;-1111;1111;-1111.11;1111.11;111.111;31.12.2007 23:51:51;äaxx; eab37088-1785-4aba-b43c-04656487e68e
            1;2;-2;-12;12;-112;112;-1112;1112;-1111.22;1111.22;222.222;31.12.2007 23:52:52;ÄBxx; 35b88d7a-f6e5-4d20-ac30-0802acad73dc
            0;3;-3;-13;13;-113;113;-1113;1113;-1111.33;1111.33;333.333;31.12.2007 23:52:53;ßCxx; 075222d6-40d6-4bc8-a022-aea70c20331b
            0;4;-4;-14;14;-114;114;-1114;1114;-1111.44;1111.44;444.444;31.12.2007 23:53:54;üdxx; 1be6bf2a-08d2-468b-a3aa-d7b88072e2b1
            1;5;-5;-15;15;-115;115;-1115;1115;-1111.55;1111.55;555.555;31.12.2007 23:54:55;ÜExx; 15a8c3d0-cb42-4684-b573-c519af0c0b69";

            var engine = new FileHelperEngine<AllTypesClass>();
            AllTypesClass[] res = engine.ReadString(sampleData);

            Assert.AreEqual('ä', res[0].fldChar);
            Assert.AreEqual("eab37088-1785-4aba-b43c-04656487e68e", res[0].fldGuid.ToString());
            Assert.AreEqual("15a8c3d0-cb42-4684-b573-c519af0c0b69", res[4].fldGuid.ToString());
        }
コード例 #21
0
ファイル: InNewLine.cs プロジェクト: BD-GitHub/filehelpers
		public void InNewLine0rw()
		{
			engine = new FileHelperEngine(typeof(InNewLineType0));

			InNewLineType0[] res = (InNewLineType0[]) engine.ReadFile(Common.TestPath(@"Good\InNewLine0.txt"));

  		    string tmp = engine.WriteString(res);
			res = (InNewLineType0[]) engine.ReadString(tmp);

			Assert.AreEqual(3, res.Length);
			Assert.AreEqual(3, engine.TotalRecords);

			Assert.AreEqual("166.90.252.2", res[0].IpAddress);
			Assert.AreEqual("67.105.166.35", res[1].IpAddress);
			Assert.AreEqual("67.105.166.35", res[2].IpAddress);
		}
コード例 #22
0
ファイル: InNewLine.cs プロジェクト: nickdelany/FileHelpers
        public void InNewLine1rw()
        {
            var engine = new FileHelperEngine<InNewLineType1>();

            InNewLineType1[] res = engine.ReadFile(TestCommon.GetPath("Good", "InNewLine1.txt"));

            string tmp = engine.WriteString(res);
            res = (InNewLineType1[]) engine.ReadString(tmp);

            Assert.AreEqual(3, res.Length);
            Assert.AreEqual(3, engine.TotalRecords);

            Assert.AreEqual("166.90.252.2", res[0].IpAddress);
            Assert.AreEqual("67.105.166.35", res[1].IpAddress);
            Assert.AreEqual("67.105.166.35", res[2].IpAddress);
        }
コード例 #23
0
        /// <summary>
        /// Run the engine with a progress bar
        /// hooked into it to give the user a visual
        /// cue on how things are progressing.
        /// </summary>
        private void cmdRun_Click(object sender, EventArgs e)
        {
            // Disable the button, don't want it clicked twice
            cmdRun.Enabled = false;

            FileHelperEngine engine = new FileHelperEngine(typeof (CustomersVerticalBar));
            object[] records = engine.ReadString(Resources.Customers);

            Application.DoEvents();

            engine.Progress += ProgressChange;
            engine.WriteString(records);

            // enable the button again we have finished.
            cmdRun.Enabled = true;
        }
コード例 #24
0
ファイル: NullValues.cs プロジェクト: hoffmanc/FileHelpers
        public void WriteNullableTypes1()
        {
            var engine = new FileHelperEngine<NullableType>();

            var toWrite = new System.Collections.Generic.List<NullableType>();

            NullableType record;

            record = new NullableType();
            record.Field1 = new DateTime(1314, 12, 11);
            record.Field2 = "901";
            record.Field3 = 234;
            toWrite.Add(record);

            record = new NullableType();
            record.Field1 = null;
            record.Field2 = "012";
            record.Field3 = null;
            toWrite.Add(record);

            record = new NullableType();
            record.Field1 = new DateTime(1316, 5, 6);
            record.Field2 = "111";
            record.Field3 = 4;
            toWrite.Add(record);

            NullableType[] res = engine.ReadString(engine.WriteString(toWrite));

            Assert.AreEqual(3, res.Length);
            Assert.AreEqual(3, engine.TotalRecords);
            Assert.AreEqual(0, engine.ErrorManager.ErrorCount);

            Assert.AreEqual(new DateTime(1314, 12, 11), res[0].Field1);
            Assert.AreEqual("901", res[0].Field2);
            Assert.AreEqual(234, res[0].Field3);

            Assert.IsNull(res[1].Field1);
            Assert.AreEqual("012", res[1].Field2);
            Assert.IsNull(res[1].Field3);

            Assert.AreEqual(new DateTime(1316, 5, 6), res[2].Field1);

            Assert.AreEqual("",
                            engine.WriteString(toWrite).Split(new string[] {Environment.NewLine}, StringSplitOptions.None)[1].
                                Substring(0, 8).Trim());
        }
コード例 #25
0
		public void ReadString()
		{
			engine = new FileHelperEngine(typeof (ChineseTest));

			ChineseTest[] res;
			//engine.Encoding = Encoding.Unicode;
			res = (ChineseTest[]) engine.ReadString(@"A123456789台北市民權東東路3號           20061008
A987654321台北市民權東東路5號           20061008");

			Assert.AreEqual(2, res.Length);
			Assert.AreEqual(2, engine.TotalRecords);
			Assert.AreEqual(0, engine.ErrorManager.ErrorCount);

			Assert.AreEqual(new DateTime(2006, 10, 08), res[0].fecha);
			Assert.AreEqual("台北市民權東東路3號           ", res[0].chino);
			Assert.AreEqual("A123456789", res[0].id);
		}
コード例 #26
0
ファイル: Events.cs プロジェクト: jalchr/FileHelpers
        public void ChangeLineInEvent()
        {
            string input = "\n\n\n";
            engine = new FileHelperEngine(typeof(SampleType));
            engine.BeforeReadRecord += new BeforeReadHandler<object>(BeforeEventChange);

            SampleType[] res = (SampleType[]) engine.ReadString(input);

            Assert.AreEqual(3, res.Length);
            Assert.AreEqual(new DateTime(1314, 12, 11), res[0].Field1);
            Assert.AreEqual("901", res[0].Field2);
            Assert.AreEqual(234, res[0].Field3);

            Assert.AreEqual(new DateTime(1314, 12, 11), res[1].Field1);
            Assert.AreEqual("901", res[2].Field2);
            Assert.AreEqual(234, res[2].Field3);
        }
コード例 #27
0
        public void ReadFileDefined()
        {
            var engine = new FileHelperEngine<SampleIntegerTypeDefined>();

            var res = (SampleIntegerTypeDefined[]) engine.ReadString(toTestMixed);

            Assert.AreEqual(3, res.Length);
            Assert.AreEqual(3, engine.TotalRecords);
            Assert.AreEqual(0, engine.ErrorManager.ErrorCount);

            Assert.AreEqual(123, res[0].Field1);
            Assert.AreEqual(456, res[0].Field2);
            Assert.AreEqual(78910, res[0].Field3);

            Assert.AreEqual(1234, res[1].Field1);
            Assert.AreEqual(4056, res[1].Field2);
            Assert.AreEqual(78910, res[1].Field3);
        }
コード例 #28
0
ファイル: EncodingAdv.cs プロジェクト: hoffmanc/FileHelpers
        public void GetMSWSReportsFromURL_AsData_20060709_28Records()
        {
            DateTime date = new DateTime(2006, 7, 20);
                string url = string.Format(MSWSDataUrl_Format, date.ToString(MSWSDataURL_DateFormat));
                MSWSDailyReportRecord[] res = null;
                FileHelperEngine engine = new FileHelperEngine(typeof(MSWSDailyReportRecord));
                    byte[] data;
                using (WebClient webClient = new WebClient())
                {
                    //webClient.Encoding = System.Text.Encoding.ASCII;
                    data = webClient.DownloadData(url);
                    System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
                    string dataString = encoding.GetString(data);
                    res = (MSWSDailyReportRecord[]) engine.ReadString(dataString);
                }

                Assert.AreEqual(res.Length, 32);
        }
コード例 #29
0
        public void WriteExcelCsv2()
        {
            var           arr = new List <ExcelCsv2Type>();
            ExcelCsv2Type record;

            record = new ExcelCsv2Type();
            record.OrganizationName = "AllwaysOnTop";
            record.TestField        = "Test 1,";
            arr.Add(record);

            record = new ExcelCsv2Type();
            record.OrganizationName = "COMPUTERS, HARDWARE";
            record.TestField        = "Test, 2";
            arr.Add(record);

            record = new ExcelCsv2Type();
            record.OrganizationName = "4S Consulting, Inc.";
            record.TestField        = " Test 3";
            arr.Add(record);

            record = new ExcelCsv2Type();
            record.OrganizationName = "SmartSolutions";
            record.TestField        = "Test 4";
            arr.Add(record);

            var engine = new FileHelperEngine <ExcelCsv2Type>();

            string tmp = engine.WriteString(arr.ToArray());

            ExcelCsv2Type[] res = engine.ReadString(tmp);

            Assert.AreEqual(4, res.Length);

            Assert.AreEqual("AllwaysOnTop", res[0].OrganizationName);
            Assert.AreEqual("COMPUTERS, HARDWARE", res[1].OrganizationName);
            Assert.AreEqual("4S Consulting, Inc.", res[2].OrganizationName);
            Assert.AreEqual("SmartSolutions", res[3].OrganizationName);

            Assert.AreEqual("Test 1,", res[0].TestField);
            Assert.AreEqual("Test, 2", res[1].TestField);
            Assert.AreEqual(" Test 3", res[2].TestField);
            Assert.AreEqual("Test 4", res[3].TestField);
        }
コード例 #30
0
    static void Main(string[] args)
    {
        var    engine       = new FileHelperEngine <ImportRecord>();
        string fileAsString = @"custID: 1732" + Environment.NewLine +
                              @"name: Juan Perez" + Environment.NewLine +
                              @"balance: 435.00" + Environment.NewLine +
                              @"date: 11-05-2002" + Environment.NewLine;

        ImportRecord[] validRecords = engine.ReadString(fileAsString);

        var dictionary = validRecords.ToDictionary(r => r.Key, r => r.Value);

        Assert.AreEqual(dictionary["custID"], "1732");
        Assert.AreEqual(dictionary["name"], "Juan Perez");
        Assert.AreEqual(dictionary["balance"], "435.00");
        Assert.AreEqual(dictionary["date"], "11-05-2002");

        Console.ReadKey();
    }
コード例 #31
0
        public void ReadFileDefault()
        {
            engine = new FileHelperEngine(typeof(SampleIntegerType));

            SampleIntegerType[] res = (SampleIntegerType[]) engine.ReadString(toTest);

            Assert.AreEqual(3, res.Length);
            Assert.AreEqual(3, engine.TotalRecords);
            Assert.AreEqual(0, engine.ErrorManager.ErrorCount);

            Assert.AreEqual(123, res[0].Field1);
            Assert.AreEqual(456, res[0].Field2);
            Assert.AreEqual(78910, res[0].Field3);

            Assert.AreEqual(1234, res[1].Field1);
            Assert.AreEqual(4056, res[1].Field2);
            Assert.AreEqual(78910, res[1].Field3);

        }
コード例 #32
0
        public void ReadImageData()
        {
            string data = "iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAB1JREFUOE9jYBgFQzcE7ty583+wu75h0LuQuBAEAD0wBRO2X3TEAAAAAElFTkSuQmCC";

            var engine = new FileHelperEngine<ImageClass>();
            ImageClass[] res = engine.ReadString(data);

            Assert.AreEqual(1, res.Length);
            Assert.IsNotNull(res[0].MyImage);
            Assert.AreEqual(20, res[0].MyImage.Width);
            Assert.AreEqual(10, res[0].MyImage.Height);
            Assert.AreEqual(typeof(Bitmap), res[0].MyImage.GetType());
            Assert.AreEqual(Color.Gainsboro.R, ((Bitmap)res[0].MyImage).GetPixel(10, 5).R);
            Assert.AreEqual(Color.Gainsboro.G, ((Bitmap)res[0].MyImage).GetPixel(10, 5).G);
            Assert.AreEqual(Color.Gainsboro.B, ((Bitmap)res[0].MyImage).GetPixel(10, 5).B);
            Assert.AreEqual(Color.Navy.R, ((Bitmap)res[0].MyImage).GetPixel(10, 7).R);
            Assert.AreEqual(Color.Navy.G, ((Bitmap)res[0].MyImage).GetPixel(10, 7).G);
            Assert.AreEqual(Color.Navy.B, ((Bitmap)res[0].MyImage).GetPixel(10, 7).B);
        }
コード例 #33
0
        public void GetMSWSReportsFromURL_AsData_20060709_28Records()
        {
            DateTime date = new DateTime(2006, 7, 20);
            string   url  = string.Format(MSWSDataUrl_Format, date.ToString(MSWSDataURL_DateFormat));

            MSWSDailyReportRecord[] res    = null;
            FileHelperEngine        engine = new FileHelperEngine(typeof(MSWSDailyReportRecord));

            byte[] data;
            using (WebClient webClient = new WebClient())
            {
                //webClient.Encoding = System.Text.Encoding.ASCII;
                data = webClient.DownloadData(url);
                System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
                string dataString = encoding.GetString(data);
                res = (MSWSDailyReportRecord[])engine.ReadString(dataString);
            }

            Assert.AreEqual(res.Length, 32);
        }
コード例 #34
0
        public void InNewLineFixed2rw()
        {
            engine = new FileHelperEngine(typeof(InNewLineFixedType2));

            InNewLineFixedType2[] res = (InNewLineFixedType2[])engine.ReadFile(TestCommon.TestPath(@"Good\InNewLineFixed2.txt"));

            string tmp = engine.WriteString(res);

            res = (InNewLineFixedType2[])engine.ReadString(tmp);

            Assert.AreEqual(3, res.Length);
            Assert.AreEqual(3, engine.TotalRecords);

            Assert.AreEqual("166.090.252.002", res[0].IpAddress);
            Assert.AreEqual("067.105.166.035", res[1].IpAddress);
            Assert.AreEqual("067.105.166.035", res[2].IpAddress);
            Assert.AreEqual(111, res[0].FieldLast);
            Assert.AreEqual(222, res[1].FieldLast);
            Assert.AreEqual(333, res[2].FieldLast);
        }
コード例 #35
0
        public void ReadImageData()
        {
            string data = "iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAB1JREFUOE9jYBgFQzcE7ty583+wu75h0LuQuBAEAD0wBRO2X3TEAAAAAElFTkSuQmCC";

            var engine = new FileHelperEngine <ImageClass>();

            ImageClass[] res = engine.ReadString(data);

            Assert.AreEqual(1, res.Length);
            Assert.IsNotNull(res[0].MyImage);
            Assert.AreEqual(20, res[0].MyImage.Width);
            Assert.AreEqual(10, res[0].MyImage.Height);
            Assert.AreEqual(typeof(Bitmap), res[0].MyImage.GetType());
            Assert.AreEqual(Color.Gainsboro.R, ((Bitmap)res[0].MyImage).GetPixel(10, 5).R);
            Assert.AreEqual(Color.Gainsboro.G, ((Bitmap)res[0].MyImage).GetPixel(10, 5).G);
            Assert.AreEqual(Color.Gainsboro.B, ((Bitmap)res[0].MyImage).GetPixel(10, 5).B);
            Assert.AreEqual(Color.Navy.R, ((Bitmap)res[0].MyImage).GetPixel(10, 7).R);
            Assert.AreEqual(Color.Navy.G, ((Bitmap)res[0].MyImage).GetPixel(10, 7).G);
            Assert.AreEqual(Color.Navy.B, ((Bitmap)res[0].MyImage).GetPixel(10, 7).B);
        }
コード例 #36
0
    private IEnumerator loadCityDataWeb(string path)
    {
        CBUG.Do("City Path is: " + path);
        WWW www = new WWW(path);

        yield return(www);

        cityCSVWeb = www.text;
        CBUG.Do("CityScript is: ");
        CBUG.Do(cityCSVWeb.Substring(0, 20));
        _cityData = engine_CityData.ReadString(cityCSVWeb);
        if (_cityData == null)
        {
            CBUG.Do("OUR LIBRARY DOESN'T WORK");
        }
        else
        {
            CBUG.Do("City DATA_LENGTH: " + _cityData.Length);
        }
    }
コード例 #37
0
        public void ReadAsDataTableWithCustomConverter()
        {
            var fields = new[] {
                "FirstName",
                "LastName",
                "StreetNumber",
                "StreetAddress",
                "Unit",
                "City",
                "State",
            };
            var cb = new DelimitedClassBuilder("ImportContact", ",");

            // Add assembly reference
            cb.AdditionalReferences.Add(typeof(MyCustomConverter).Assembly);

            foreach (var f in fields)
            {
                cb.AddField(f, typeof(string));
                cb.LastField.TrimMode    = TrimMode.Both;
                cb.LastField.FieldQuoted = false;
            }

            cb.AddField("Zip", typeof(int?));
            cb.LastField.Converter.TypeName = "FileHelpers.Tests.Dynamic.DelimitedClassBuilderTests.MyCustomConverter";

            mEngine = new FileHelperEngine(cb.CreateRecordClass());

            string source = "Alex & Jen,Bouquet,1815,Bell Rd,, Batavia,OH,45103" + Environment.NewLine +
                            "Mark & Lisa K ,Arlinghaus,1817,Bell Rd,, Batavia,OH,NaN" + Environment.NewLine +
                            "Ed & Karen S ,Craycraft,1819,Bell Rd,, Batavia,OH,45103" + Environment.NewLine;

            var contactData = mEngine.ReadString(source);

            Assert.AreEqual(3, contactData.Length);
            var zip = mEngine.RecordType.GetFields()[7];

            Assert.AreEqual("Zip", zip.Name);
            Assert.IsNull(zip.GetValue(contactData[1]));
            Assert.AreEqual((decimal)45103, zip.GetValue(contactData[2]));
        }
コード例 #38
0
        private bool CreateSalesOrderNotification(IEnumerable <OrderNotification> salesOrder, out List <DatColPickTicket> listOfNotifications)
        {
            listOfNotifications = new List <DatColPickTicket>();
            var engine = new FileHelperEngine(typeof(DatColPickTicket));

            var orderLines = salesOrder
                             .GroupBy(x => x.OrderLineID, x => x);

            foreach (var orderLine in orderLines)
            {
                DatColPickTicket originalLine = null;

                try
                {
                    var originalLines = engine.ReadString(orderLine.First().OriginalLine) as DatColPickTicket[];

                    if (originalLines != null)
                    {
                        originalLine = originalLines.First();
                    }

                    if (originalLine == null)
                    {
                        return(false);
                    }
                }
                catch
                {
                    return(false);
                }

                var shippedItems   = GetShippedItems(orderLine);
                var cancelledItems = GetCancelledItems(orderLine);

                originalLine.PickedItems = shippedItems.ToString(CultureInfo.InvariantCulture);

                listOfNotifications.Add(originalLine);
            }

            return(true);
        }
コード例 #39
0
        public void WriteNull()
        {
            var engine = new FileHelperEngine <SampleType>();

            SampleType[] res = new SampleType[3];
            res[0] = new SampleType();
            res[1] = new SampleType();
            res[2] = new SampleType();

            string tempo = engine.WriteString(res);

            res = engine.ReadString(tempo);

            Assert.AreEqual(3, res.Length);
            Assert.AreEqual(3, engine.TotalRecords);
            Assert.AreEqual(0, engine.ErrorManager.ErrorCount);

            Assert.AreEqual(DateTime.MinValue, res[0].Field1);
            Assert.AreEqual("", res[0].Field2);
            Assert.AreEqual(0, res[0].Field3);
        }
コード例 #40
0
        /// <summary>
        /// Import from a class defined csv file.  Remove all existing
        /// records in the target data set, load new rows and archive
        /// the records for restore points
        /// </summary>
        /// <param name="data"></param>
        /// <param name="user"></param>
        /// <returns></returns>
        public ImportResult Load(Stream data, User user)
        {
            if (ReadOnly)
            {
                return(null);
            }

            var reader = new StreamReader(data);
            var csv    = reader.ReadToEnd();

            var engine = new FileHelperEngine <T> {
                ErrorMode = ErrorMode.SaveAndContinue
            };
            var rows    = engine.ReadString(csv);
            var results = new ImportResult {
                ImportCount = rows.Length, Errors = engine.ErrorManager
            };

            if (results.Errors.ErrorCount == 0)
            {
                var trans = new SqlTransaction((AbstractSqlConnectionDescriptor)_writeDao.ConnDesc);
                try
                {
                    // Refresh the data if successfull
                    PreProcess(trans, rows);
                    _writeDao.DeleteAll(trans);
                    _writeDao.Insert(trans, rows);
                    PostProcess(trans, rows);
                    trans.Commit();

                    PdbUploadRevision.AddUploadRevision(UploadType, csv, user);
                }
                catch (Exception)
                {
                    trans.Rollback();
                    throw;
                }
            }
            return(results);
        }
コード例 #41
0
    static void Main(string[] args)
    {
        var    engine       = new FileHelperEngine <ImportRecord>();
        string fileAsString =
            @"custID: 1732
    name: Juan Perez
    balance: 435.00
    date: 11-05-2002
    
    custID: 554
    name: Pedro Gomez
    balance: 12342.30
    date: 06-02-2004";

        ImportRecord[] validRecords = engine.ReadString(fileAsString);
        var            customers    = validRecords
                                      .Batch(4, x => x.ToDictionary(r => r.Key, r => r.Value))
                                      .Select(dictionary => new Customer()
        {
            Id      = dictionary["custID"],
            Name    = dictionary["name"],
            Balance = dictionary["balance"],
            Date    = dictionary["date"]
        }).ToList();

        Customer customer1 = customers[0];

        Assert.AreEqual(customer1.Id, "1732");
        Assert.AreEqual(customer1.Name, "Juan Perez");
        Assert.AreEqual(customer1.Balance, "435.00");
        Assert.AreEqual(customer1.Date, "11-05-2002");
        Customer customer2 = customers[1];

        Assert.AreEqual(customer2.Id, "554");
        Assert.AreEqual(customer2.Name, "Pedro Gomez");
        Assert.AreEqual(customer2.Balance, "12342.30");
        Assert.AreEqual(customer2.Date, "06-02-2004");
        Console.WriteLine("All OK");
        Console.ReadKey();
    }
コード例 #42
0
    static void Main(string[] args)
    {
        var engine = new FileHelperEngine <File_load>();

        var records = engine.ReadString(
            "112233444444" + Environment.NewLine +
            "1122334"
            );
        var firstRecord = records[0];

        Assert.AreEqual("11", firstRecord.proj_name);
        Assert.AreEqual("22", firstRecord.iso);
        Assert.AreEqual("33", firstRecord.line);
        Assert.AreEqual("444444", firstRecord.pid);
        var secondRecord = records[1];

        Assert.AreEqual("11", secondRecord.proj_name);
        Assert.AreEqual("22", secondRecord.iso);
        Assert.AreEqual("33", secondRecord.line);
        Assert.AreEqual("4", secondRecord.pid);
        Console.Read();
    }
コード例 #43
0
        public List <WerpMutualFund> LoadMutualData(XmlDocument dataXml)
        {
            logger.Debug("Looping through each nodes in XMLDocument and creating WerpMutualFund list");
            FileHelperEngine      engine = new FileHelperEngine(typeof(WerpMutualFund));
            List <WerpMutualFund> Wmf    = new List <WerpMutualFund>();

            try
            {
                foreach (XmlNode xn in dataXml.ChildNodes[0].ChildNodes)
                {
                    WerpMutualFund[] WMFList = (WerpMutualFund[])engine.ReadString(xn.InnerText);
                    WerpMutualFund   vm      = WMFList[0];
                    Wmf.Add(vm);
                }
            }
            catch (Exception ex)
            {
                logger.Error("An error occurred while creating WerpMutualFund list from XMLDocument " + ex.ToString());
            }
            logger.Info("Total count =" + Wmf.Count);
            return(Wmf);
        }
コード例 #44
0
ファイル: DateMultiFormat.cs プロジェクト: zjmsky/FileHelpers
        public void NullDateFormat()
        {
            string data = string.Format("23/11/2010,24/11/2010{0},{0},{0}", Environment.NewLine);

            var engine = new FileHelperEngine <NullDateFormatMulti>();

            NullDateFormatMulti[] result = engine.ReadString(data);
            Assert.AreEqual(new DateTime(2010, 11, 23),
                            result[0].OrderDate,
                            "Order date should be 23/11/2010 from first line");
            Assert.AreEqual(new DateTime(2010, 11, 24),
                            result[0].ShipDate,
                            "Ship date should be 24/11/2010 from first line");
            Assert.AreEqual(null, result[1].OrderDate, "Order date should be null on second line");
            Assert.AreEqual(null, result[1].ShipDate, "Ship date should be null on second line");
            Assert.AreEqual(null, result[2].OrderDate, "Order date should be null on third line with blanks");
            Assert.AreEqual(null, result[2].ShipDate, "Ship date should be null on third line with blanks");

            string newData = engine.WriteString(result);

            Assert.AreEqual(data, newData, "Round trip should match");
        }
コード例 #45
0
        private void LoadEnchantsCsv()
        {
            FileHelperEngine <EnchantCsv> engine = new FileHelperEngine <EnchantCsv>(Encoding.UTF8);
            string csvText = new FileInfo(helmEnchantCsvFile).Exists ?
                             File.ReadAllText(helmEnchantCsvFile, Encoding.UTF8)
                                : Util.ReadWebPage(repoURL + helmEnchantCsvFile, "", Encoding.UTF8);

            EnchantCsv[] records = engine.ReadString(csvText);
            foreach (EnchantCsv csvdata in records)
            {
                if (!SC.Enchantments.ContainsKey(csvdata.Description))
                {
                    Enchantment scData = new Enchantment(csvdata.Name);
                    SC.Enchantments.Add(csvdata.Name, scData);
                    SC.EnchantmentsDescriptions.Add(csvdata.Description, scData);
                    Enchantment hcData = new Enchantment(csvdata.Name);
                    HC.Enchantments.Add(csvdata.Name, hcData);
                    HC.EnchantmentsDescriptions.Add(csvdata.Description, hcData);
                }
                SC.Enchantments[csvdata.Name].Load(csvdata);
                HC.Enchantments[csvdata.Name].Load(csvdata);
            }
        }
コード例 #46
0
    static void Main(string[] args)
    {
        // trimmed down contents...
        var contents =
            @"DATE,AUD,CAD,CHF" + Environment.NewLine +
            @"1/1/2000,88,71,3" + Environment.NewLine +
            @"2/1/2000,82,83,86";
        // get the records
        var engine  = new FileHelperEngine <FxConversionRateSpec>();
        var records = engine.ReadString(contents);
        // get the header
        var currencies = contents
                         .Substring(0, contents.IndexOf(Environment.NewLine))                // take the first line
                         .Split(',')                                                         // split into currencies
                         .Skip(1);                                                           // skip the 'Date' column
        // as IEnumerable<FxConversionRate>
        var rates = records.SelectMany(                                                      // for each record of Date, Double[]
            record => currencies.Zip(record.Rates, (c, r) => new { Currency = c, Rate = r }) // combine the rates array with the currency labels
            .Select(                                                                         // for each of the anonymous typed records Currency, Double
                currencyRate =>
                new FxConversionRate
        {
            Date     = record.Date,
            Currency = currencyRate.Currency,
            Rate     = currencyRate.Rate
        }));

        Assert.AreEqual(6, rates.Count(), "Exactly 6 records were expected");
        Assert.That(rates.Single(x => x.Date == new DateTime(2000, 1, 1) && x.Currency == "AUD" && x.Rate == 88d) != null);
        Assert.That(rates.Single(x => x.Date == new DateTime(2000, 1, 1) && x.Currency == "CAD" && x.Rate == 71d) != null);
        Assert.That(rates.Single(x => x.Date == new DateTime(2000, 1, 1) && x.Currency == "CHF" && x.Rate == 3d) != null);
        Assert.That(rates.Single(x => x.Date == new DateTime(2000, 1, 2) && x.Currency == "AUD" && x.Rate == 82d) != null);
        Assert.That(rates.Single(x => x.Date == new DateTime(2000, 1, 2) && x.Currency == "CAD" && x.Rate == 83d) != null);
        Assert.That(rates.Single(x => x.Date == new DateTime(2000, 1, 2) && x.Currency == "CHF" && x.Rate == 86d) != null);
        Console.WriteLine("All tests passed OK.");
        Console.ReadKey();
    }
コード例 #47
0
        public EmployeePayroll GetOutPutFile(string fileName)
        {
            var fhEngineDetail = new FileHelperEngine <EmployeePayrollDetail>();
            var fhEngineHeader = new FileHelperEngine <EmployeePayrollHeader>();

            var fullFileName = _sftpManagementService.SftpDownloadFile(fileName);

            if (!File.Exists(fullFileName))
            {
                throw new HttpStatusException($"El archivo con el nombre indicado: {fileName} no existe en el SFTP.",
                                              HttpStatusCode.Forbidden);
            }

            var streamFile = _pgpEncryptionService.DescryptFileAsStream(fullFileName);

            using TextReader textReader = new StreamReader(streamFile);
            var employeePayroll = new EmployeePayroll()
            {
                EmployeePayrollDetail = fhEngineDetail.ReadStream(textReader),
                EmployeePayrollHeader = fhEngineHeader.ReadString(fhEngineDetail.HeaderText).FirstOrDefault()
            };

            return(employeePayroll);
        }
コード例 #48
0
        private void LoadUniquesCsv()
        {
            FileHelperEngine <UniqueBaseTypeCsv> engine = new FileHelperEngine <UniqueBaseTypeCsv>(Encoding.UTF8);
            string csvText = new FileInfo(uniquesCsvFile).Exists ?
                             File.ReadAllText("poe_uniques.csv", Encoding.UTF8)
                                : Util.ReadWebPage(repoURL + "poe_uniques.csv", "", Encoding.UTF8);

            UniqueBaseTypeCsv[] records = engine.ReadString(csvText);
            foreach (UniqueBaseTypeCsv csvdata in records)
            {
                if (!SC.Uniques.ContainsKey(csvdata.BaseType))
                {
                    SC.Uniques[csvdata.BaseType] = new UniqueBaseType(csvdata.BaseType);
                    HC.Uniques[csvdata.BaseType] = new UniqueBaseType(csvdata.BaseType);
                }
                SC.Uniques[csvdata.BaseType].Load(csvdata);
                HC.Uniques[csvdata.BaseType].Load(csvdata);
            }
            foreach (string baseType in SC.Uniques.Keys)
            {
                Sort(SC, baseType);
                Sort(HC, baseType);
            }
        }
コード例 #49
0
    static void Main(string[] args)
    {
        var engine = new FileHelperEngine(typeof(Format1));

        // read in the data
        object[] importedObjects = engine.ReadString(@"""Date"",""Description"",""Original Description"",""Amount"",""Type"",""Category"",""Name"",""Labels"",""Notes""
    ""2/02/2012"",""ac"",""ac"",""515.00"",""a"",""b"","""",""javascript://""
    ""2/02/2012"",""test"",""test"",""40.00"",""a"",""d"",""c"","""","" """);
        // check that 2 records were imported
        Assert.AreEqual(2, importedObjects.Length);

        // check the values for the first record
        Format1 customer1 = (Format1)importedObjects[0];

        Assert.AreEqual(DateTime.Parse("2/02/2012"), customer1.Date);
        Assert.AreEqual("ac", customer1.Description);
        Assert.AreEqual("ac", customer1.OriginalDescription);
        Assert.AreEqual(515.00, customer1.Amount);
        Assert.AreEqual("a", customer1.Type);
        Assert.AreEqual("b", customer1.Category);
        Assert.AreEqual("", customer1.Name);
        Assert.AreEqual("javascript://", customer1.Labels);
        Assert.AreEqual("", customer1.Notes);
        // check the values for the second record
        Format1 customer2 = (Format1)importedObjects[1];

        Assert.AreEqual(DateTime.Parse("2/02/2012"), customer2.Date);
        Assert.AreEqual("test", customer2.Description);
        Assert.AreEqual("test", customer2.OriginalDescription);
        Assert.AreEqual(40.00, customer2.Amount);
        Assert.AreEqual("a", customer2.Type);
        Assert.AreEqual("d", customer2.Category);
        Assert.AreEqual("c", customer2.Name);
        Assert.AreEqual("", customer2.Labels);
        Assert.AreEqual(" ", customer2.Notes);
    }
コード例 #50
0
        public void WriteReadImage()
        {
            ImageClass ima = new ImageClass();
            Bitmap     bmp = new Bitmap(20, 10);

            bmp.SetPixel(10, 5, Color.Gainsboro);
            bmp.SetPixel(10, 7, Color.Navy);
            ima.MyImage = bmp;

            FileHelperEngine engine = new FileHelperEngine(typeof(ImageClass));
            string           data   = engine.WriteString((IList) new object[] { ima });

            ImageClass[] res = (ImageClass[])engine.ReadString(data);

            Assert.AreEqual(1, res.Length);
            Assert.IsNotNull(res[0].MyImage);
            Assert.AreEqual(typeof(Bitmap), res[0].MyImage.GetType());
            Assert.AreEqual(Color.Gainsboro.R, ((Bitmap)res[0].MyImage).GetPixel(10, 5).R);
            Assert.AreEqual(Color.Gainsboro.G, ((Bitmap)res[0].MyImage).GetPixel(10, 5).G);
            Assert.AreEqual(Color.Gainsboro.B, ((Bitmap)res[0].MyImage).GetPixel(10, 5).B);
            Assert.AreEqual(Color.Navy.R, ((Bitmap)res[0].MyImage).GetPixel(10, 7).R);
            Assert.AreEqual(Color.Navy.G, ((Bitmap)res[0].MyImage).GetPixel(10, 7).G);
            Assert.AreEqual(Color.Navy.B, ((Bitmap)res[0].MyImage).GetPixel(10, 7).B);
        }
コード例 #51
0
ファイル: Readers.cs プロジェクト: cuongdodinh/timok.rbr
        public void ReadString()
        {
            string data = "11121314901234" + Environment.NewLine +
                          "10111314012345" + Environment.NewLine +
                          "11101314123456" + Environment.NewLine +
                          "10101314234567" + Environment.NewLine;

            engine = new FileHelperEngine(typeof(SampleType));

            SampleType[] res;
            res = (SampleType[])engine.ReadString(data);

            Assert.AreEqual(4, res.Length);
            Assert.AreEqual(4, engine.TotalRecords);
            Assert.AreEqual(0, engine.ErrorManager.ErrorCount);

            Assert.AreEqual(new DateTime(1314, 12, 11), res[0].Field1);
            Assert.AreEqual("901", res[0].Field2);
            Assert.AreEqual(234, res[0].Field3);

            Assert.AreEqual(new DateTime(1314, 11, 10), res[1].Field1);
            Assert.AreEqual("012", res[1].Field2);
            Assert.AreEqual(345, res[1].Field3);
        }
コード例 #52
0
    static void Main(string[] args)
    {
        var    engine = new FileHelperEngine <ImportRecord>();
        string input  = "id|name|comments|date" + Environment.NewLine +
                        "01|edov|bla bla bla bla|2012-01-01" + Environment.NewLine +
                        "02|john|bla bla bla bla|2012-01-02" + Environment.NewLine +
                        "03|Pete|bla bla" + Environment.NewLine +
                        "bla bla|2012-03-01" + Environment.NewLine +
                        "04|Mary|bla bla bla bla|2012-01-01";
        // Modify import to add quotes to multiline fields
        var inputSplitAtSeparator = input.Split('|');
        // Add quotes around the field after every third '|'
        var inputWithQuotesAroundCommentsField = inputSplitAtSeparator.Select((x, i) => (i % 3 == 2) ? "\"" + x + "\"" : x);
        var inputJoinedBackTogether            = String.Join("|", inputWithQuotesAroundCommentsField);

        ImportRecord[] validRecords = engine.ReadString(inputJoinedBackTogether);
        // Check the third record
        Assert.AreEqual("03", validRecords[2].Id);
        Assert.AreEqual("Pete", validRecords[2].Name);
        Assert.AreEqual("bla bla" + Environment.NewLine + "bla bla", validRecords[2].Comments);
        Assert.AreEqual("2012-03-01", validRecords[2].Date);
        Console.WriteLine("All assertions passed");
        Console.ReadKey();
    }
コード例 #53
0
        public void Convert(string sourcepath, string text, string destinationpath, string movedpath, string guid, string ApplicationName)
        {
            TimePoints.MarkNext(ApplicationName, guid.ToString(), 2);

            //string[] str1 = text.Split(':');
            //int val1 = text.IndexOf("PO.IDENT");
            //int val2 = text.IndexOf("PO.HEADER");

            //string x = text.Substring(val1+9,val2-10);
            //Console.WriteLine(val1);
            //Console.WriteLine(val2);
            // Console.WriteLine(x);
            XElement ApplicationArea = new XElement("Application_Area");

            foreach (String ln in File.ReadAllLines(sourcepath))
            {//<-- read lines
                string[] str2 = ln.Split(':');
                if (str2[0].Equals("PO.IDENT"))
                {
                    var engine = new FileHelperEngine <POIDENT>();
                    //Console.WriteLine(str1[0]);
                    var records = engine.ReadString(str2[1]);
                    //Console.WriteLine(records);

                    foreach (var record in records)
                    {
                        XElement PO_IDENT = new XElement("PO.IDENT", record.CreatorNameCode == "" ? null : new XElement("CreatorNameCode", record.CreatorNameCode),
                                                         record.CreatorSoftwareCode == "" ? null : new XElement("CreatorSoftwareCode", record.CreatorSoftwareCode),
                                                         record.InterfaceVersion == "" ? null : new XElement("InterfaceVersion", record.InterfaceVersion),
                                                         record.TransactionCreateDate == "" ? null : new XElement("TransactionCreateDate", record.TransactionCreateDate),
                                                         record.TransactionCreateTime == "" ? null : new XElement("TransactionCreateTime", record.TransactionCreateTime),
                                                         record.DealerNumber == "" ? null : new XElement("DealerNumber", record.DealerNumber),
                                                         record.StoreNumber == "" ? null : new XElement("StoreNumber", record.StoreNumber),
                                                         record.AreaNumber == "" ? null : new XElement("AreaNumber", record.AreaNumber),
                                                         record.DestinationNameCode == "" ? null : new XElement("DestinationNameCode", record.DestinationNameCode),
                                                         record.DestinationSoftware == "" ? null : new XElement("DestinationSoftware", record.DestinationSoftware),
                                                         record.TransactionTypeCode == "" ? null : new XElement("TransactionTypeCode", record.TransactionTypeCode),
                                                         record.DealerCountry == "" ? null : new XElement("DealerCountry", record.DealerCountry),
                                                         record.ReferenceID == "" ? null : new XElement("ReferenceID", record.ReferenceID),
                                                         record.SenderPartyID == "" ? null : new XElement("SenderPartyID", record.SenderPartyID),
                                                         record.SenderLocationID == "" ? null : new XElement("SenderLocationID", record.SenderLocationID));
                        //Console.WriteLine(PO_IDENT);
                        ApplicationArea.Add(PO_IDENT);
                    }
                }
                if (str2[0].Equals("PO.HEADER"))
                {
                    var engine = new FileHelperEngine <POHEADER>();
                    //Console.WriteLine(str1[0]);
                    var records = engine.ReadString(str2[1]);
                    //Console.WriteLine(records);

                    foreach (var record in records)
                    {
                        XElement PO_HEADER = new XElement("PO.HEADER", record.PartOrderNumnber == "" ? null : new XElement("Part_Order_Number", record.PartOrderNumnber),
                                                          record.PartsOrderType == "" ? null : new XElement("Parts_Order_Type", record.PartsOrderType),
                                                          record.Item == "" ? null : new XElement("Item", record.Item),
                                                          record.PartsOrderAllowShipment == "" ? null : new XElement("Parts_Order_Allowback", record.PartsOrderAllowback),
                                                          record.PartsOrderAllowShipment == "" ? null : new XElement("Parts_Order_AllowShipment", record.PartsOrderAllowShipment),

                                                          record.PartsOrderPriority == "" ? null : new XElement("Parts_Order_Priority", record.PartsOrderPriority));
                        //Console.WriteLine(PO_HEADER);
                        ApplicationArea.Add(PO_HEADER);
                    }
                }
                if (str2[0].Equals("PO.BILLTO"))
                {
                    var engine = new FileHelperEngine <POBILLTO>();
                    //Console.WriteLine(str1[0]);
                    var records = engine.ReadString(str2[1]);
                    //Console.WriteLine(records);

                    foreach (var record in records)
                    {
                        XElement PO_BILLTO = new XElement("PO.BILLTO", record.CompanyName == "" ? null : new XElement("Company_Name", record.CompanyName),
                                                          record.Address == "" ? null : new XElement("Address", record.Address),
                                                          record.City == "" ? null : new XElement("City", record.City),
                                                          record.State == "" ? null : new XElement("State", record.State),
                                                          record.ZIP == "" ? null : new XElement("ZIP", record.ZIP));
                        //Console.WriteLine(PO_BILLTO);
                        ApplicationArea.Add(PO_BILLTO);
                    }
                }
                if (str2[0].Equals("PO.SHIPTO"))
                {
                    var engine = new FileHelperEngine <POSHIPTO>();
                    //Console.WriteLine(str1[0]);
                    var records = engine.ReadString(str2[1]);
                    //Console.WriteLine(records);

                    foreach (var record in records)
                    {
                        XElement PO_SHIPTO = new XElement("PO.SHIPTO", record.CompanyName == "" ? null : new XElement("Company_Name", record.CompanyName),
                                                          record.Address == "" ? null : new XElement("Address", record.Address),
                                                          record.City == "" ? null : new XElement("City", record.City),
                                                          record.State == "" ? null : new XElement("State", record.State),
                                                          record.ZIP == "" ? null : new XElement("ZIP", record.ZIP));
                        //Console.WriteLine(PO_SHIPTO);
                        ApplicationArea.Add(PO_SHIPTO);
                    }
                }
                if (str2[0].Equals("PO.LINEITEM"))
                {
                    var engine = new FileHelperEngine <POLINEITEM>();
                    //Console.WriteLine(str1[0]);
                    var records = engine.ReadString(str2[1]);
                    //Console.WriteLine(records);

                    foreach (var record in records)
                    {
                        string[] lineitem = { "Part_Number", "Quantity", "Bin_location", "Item_4",  "Customer_name", "Item_6",  "Item_7", "Item_8",
                                              "Item_9",      "Item_10",  "ID",           "Item_12", "Item_13",       "Item_14", "Internal_reference" };
                        XElement PO_LINEITEM = new XElement("PO.LINEITEM", record.PartsNumber == "" ? null : new XElement("Part_Number", record.PartsNumber),
                                                            record.Quantity == "" ? null : new XElement("Quantity", record.Quantity),
                                                            record.BinLocation == "" ? null : new XElement("Bin_Location", record.BinLocation),
                                                            record.Item4 == "" ? null : new XElement("Item4", record.Item4),
                                                            record.CustomerName == "" ? null : new XElement("Customer_Name", record.CustomerName),
                                                            record.Item6 == "" ? null : new XElement("Item6", record.Item6),
                                                            record.Item7 == "" ? null : new XElement("Item7", record.Item7),
                                                            record.Item8 == "" ? null : new XElement("Item8", record.Item8),
                                                            record.Item9 == "" ? null : new XElement("Item9", record.Item9),
                                                            record.Item10 == "" ? null : new XElement("Item10", record.Item10),
                                                            record.ID == "" ? null : new XElement("ID", record.ID),
                                                            record.Item12 == "" ? null : new XElement("Item12", record.Item12),
                                                            record.Item13 == "" ? null : new XElement("Item13", record.Item13),
                                                            record.Item14 == "" ? null : new XElement("Item14", record.Item14),
                                                            record.InternalReference == "" ? null : new XElement("Internal_Reference", record.InternalReference));
                        //Console.WriteLine(PO_LINEITEM);
                        ApplicationArea.Add(PO_LINEITEM);
                    }
                }
            }
            //Console.WriteLine(ApplicationArea.ToString());
            // XmlWriter w=XmlWriter.Create(destinationpath + "NEW.xml");
            TimePoints.MarkNext(ApplicationName, guid.ToString(), 3);

            File.WriteAllText(destinationpath, ApplicationArea.ToString());
            Console.WriteLine("Converted Successfully");
            TimePoints.MarkNext(ApplicationName, guid.ToString(), 4);
            File.Move(sourcepath, movedpath);
            Console.ReadLine();
        }
コード例 #54
0
        /// <summary>
        /// This function gets current prices for all stock symbols on the nasdaq exchange. It then stores
        /// all symbols and their prices in the database along with the current date.
        /// </summary>
        /// <param name="bw">BackgroundWorker to report progress to main thread</param>
        /// <returns>Returns true if stocks succcessfully are queried and new entries are created in the
        /// database.</returns>
        public int getCurrentQuotes(BackgroundWorker bw)
        {
            int success = -1;   //-1 = function failed

            //pull all nasdaq stocks for price record in database
            HttpWebRequest csv_req = (HttpWebRequest)WebRequest.Create("http://www.nasdaq.com/screening/companies-by-name.aspx?letter=0&exchange=nasdaq&render=download");

            csv_req.KeepAlive       = false;
            csv_req.ProtocolVersion = HttpVersion.Version10;

            bw.ReportProgress(1);
            try
            {
                HttpWebResponse csv_resp = (HttpWebResponse)csv_req.GetResponse();
                bw.ReportProgress(2);

                //build response into reader then into string for filehelper to open
                StreamReader response_reader = new StreamReader(csv_resp.GetResponseStream());
                string       stock_csv       = response_reader.ReadToEnd();
                response_reader.Close();
                bw.ReportProgress(3);

                FileHelperEngine engine = new FileHelperEngine(typeof(cStock));
                cStock[]         res    = (cStock[])engine.ReadString(stock_csv); //build results into array for easy access
                bw.ReportProgress(4);

                //more stuffs just to ensure its working. must refactor this asap.
                cDatabaseManager db = new cDatabaseManager();

                bool update_prices = false;
                //ensure prices aren't updated too frequently
                if ((DateTime.Now - db.getLastStockUpdateTime()).TotalHours >= MIN_HOURS_BETWEEN_UPDATE)
                {
                    update_prices = true;
                }
                else
                {
                    success = -2;   //-2 = stocks already updated with past 12 hours
                    for (int i = 5; i < 100; ++i)
                    {
                        bw.ReportProgress(i);
                    }
                }

                if (update_prices == true)
                {
                    float percent = 0.0f;
                    int   count   = 0;
                    success = 1;    //1 = update success
                    foreach (cStock stock in res)
                    {
                        int stock_id = db.addStockSymbol(stock._symbol);          //add symbol

                        Decimal lastSale;                                         //used to convert string of most recent sale
                        if (Decimal.TryParse(stock._lastSalePrice, out lastSale)) //removes "n/a" entries
                        {
                            if (!db.addStockQuote(stock_id, lastSale))
                            {
                                success = -3; //-3 one or more stocks failed to insert price to db
                            }
                        }
                        percent = ((float)count / (float)res.Length) * 100f; //percent complete
                        if (percent < 5)                                     //acount for the 5 percent before loop begins
                        {
                            percent += 5 - percent;
                        }
                        bw.ReportProgress((int)percent);
                        ++count;
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("Exception caught stock quote retrieval & storage (probably can't access network):\n");
                Console.WriteLine(e.Message);
                success = -1;    //should change success to integer to determine which message box to pop (no internet, stream cannot be read etc.)
                bw.ReportProgress(100);
            }

            return(success);
        }
コード例 #55
0
        private void cmdRun_Click(object sender, EventArgs e)
        {
            FileHelperEngine engine = new FileHelperEngine(typeof(CustomersVerticalBar));

            grid1.SelectedObject = engine.ReadString(txtData.Text);
        }
コード例 #56
0
        public List <MessageDto> AddMessage(Message message)
        {
            Message         commandResultMessage = null;
            ApplicationUser chatBot = null;

            if (message.Content.StartsWith("/"))
            {
                message.MessageType = MessageType.Command;
                var temp = message.Content;
                temp = temp.Substring(1, temp.Length - 1);
                var messageParts = temp.Split('=');
                if (messageParts.Length != 2)
                {
                    message.Content += " (Command in wron format)";
                }
                else
                {
                    var         command = messageParts[0];
                    var         code    = messageParts[1];
                    ChatCommand chatCommand;
                    var         validCommand = Enum.TryParse(command, true, out chatCommand);
                    if (!validCommand || string.IsNullOrEmpty(code))
                    {
                        message.Content += " (Command code not found)";
                    }
                    else
                    {
                        switch (chatCommand)
                        {
                        case ChatCommand.Stock:
                            try
                            {
                                var csvCode   = _httpClientManager.Get(code);
                                var engine    = new FileHelperEngine <CsvFields>();
                                var csvFields = engine.ReadString(csvCode).ToList();
                                var row       = csvFields.FirstOrDefault();
                                chatBot = _dbContext.Users.FirstOrDefault(x =>
                                                                          x.UserType == UserType.Bot && x.FirstName == "ChatBot1");
                                commandResultMessage = new Message
                                {
                                    Content     = $"{row.Symbol} quote is ${row.Open} per share",
                                    CreatedBy   = chatBot.Id,
                                    ChatroomId  = message.ChatroomId,
                                    MessageType = MessageType.Text
                                };
                                message.Content += " (Command executed)";
                            }
                            catch (Exception ex)
                            {
                                message.Content += " (Error reading the result of this code)";
                            }
                            break;
                        }
                    }
                }
            }

            if (message.MessageType != MessageType.Command)
            {
                _dbContext.Messages.Add(message);
            }
            if (commandResultMessage != null)
            {
                _dbContext.Messages.Add(commandResultMessage);
            }
            _dbContext.SaveChanges();
            var user   = _dbContext.Users.Find(message.CreatedBy);
            var result = new List <MessageDto>()
            {
                new MessageDto
                {
                    Id          = message.Id,
                    ChatroomId  = message.ChatroomId,
                    Content     = message.Content,
                    CreatedBy   = user.FirstName + " " + user.LastName,
                    CreatedDate = message.CreatedDate != null ? message.CreatedDate : DateTimeOffset.Now,
                    MessageType = message.MessageType
                },
            };

            if (commandResultMessage != null)
            {
                result.Add(
                    new MessageDto
                {
                    Id          = commandResultMessage.Id,
                    ChatroomId  = commandResultMessage.ChatroomId,
                    Content     = commandResultMessage.Content,
                    CreatedBy   = chatBot.FirstName,
                    CreatedDate = commandResultMessage.CreatedDate,
                    MessageType = commandResultMessage.MessageType
                });
            }

            return(result);
        }
コード例 #57
0
        public void NullString()
        {
            var engine = new FileHelperEngine <SampleType>();

            engine.ReadString(null);
        }
コード例 #58
0
        public IEnumerable <SnbDepositPayment> Process(IEnumerable <string> lines)
        {
            var fields = new Dictionary <string, int> {
                { "DocumentDate", 8 },
                { "PostingDate", 8 },
                { "DocumentType", 2 },
                { "Currency", 5 },
                { "ExchangeRate", 9 },
                { "Reference", 16 },
                { "DocumentHeaderText", 25 },
                { "PostingKey", 2 },
                { "AccountNo", 10 },
                { "Amount", 15 },
                { "CostCenter", 10 },
                { "Quantity", 13 },
                { "Assignment", 2 },
                { "Text", 18 },
                { "ReferenceKey", 50 },
                { "SequenceNumber", 5 }
            };

            var positions    = fields.Values.ToArray();
            var names        = fields.Keys.ToArray();
            var sequence     = 0;
            var engine       = new FileHelperEngine <IposDepositPayment>();
            var transactions = new List <IposDepositPayment>();

            var payments = new List <SnbDepositPayment>();

            foreach (var line in lines)
            {
                if (line.StartsWith("EOF"))
                {
                    continue;
                }
                /**/
                for (int i = 0; i < positions.Length; i++)
                {
                    var value = line.Substring(positions.Take(i).Sum(x => x), positions[i]);
                    Debug.Write($"{names[i]} = {value}, ");
                }
                Debug.WriteLine("");
                Debug.WriteLine("--------------------");
                var record = engine.ReadString(line)[0];
                if (record.SequenceNumber == sequence)
                {
                    transactions.Add(record);
                    continue;
                }
                sequence = record.SequenceNumber;
                if (transactions.Count > 0)
                {
                    var snb = SnbDepositPayment.Parse(transactions.ToArray());
                    payments.Add(snb);
                }
                transactions = new List <IposDepositPayment> {
                    record
                };
            }
            var snb2 = SnbDepositPayment.Parse(transactions.ToArray());

            payments.Add(snb2);


            return(payments);
        }
コード例 #59
0
ファイル: OtherErrors.cs プロジェクト: cuongdodinh/timok.rbr
 public void NullString()
 {
     engine = new FileHelperEngine(typeof(SampleType));
     engine.ReadString(null);
 }
コード例 #60
0
        public void ArrayFieldsComplex()
        {
            var engine = new FileHelperEngine <ArrayComplexType>();

            engine.ReadString("");
        }