public void ReadOperationShouldBeQuick() { Benchmark.This("FileHelperEngine.ReadStream", () => { var engine = new FileHelperEngine <FixedSampleRecord>(); using (var stream = new StringReader(FixedFileSample)) { var records = engine.ReadStream(stream); records.Should().HaveCount(19); } }) .Against.This("FlatFileEngine.Read", () => { var layout = new FixedSampleRecordLayout(); using (var stream = new MemoryStream(Encoding.UTF8.GetBytes(FixedFileSample))) { var factory = new FixedLengthFileEngineFactory(); var flatFile = factory.GetEngine(layout); var records = flatFile.Read <FixedSampleRecord>(stream).ToArray(); records.Should().HaveCount(19); } }) .WithWarmup(1000) .For(10000) .Iterations() .PrintComparison(); }
/// <summary> /// Extract records from a stream and insert them to the data source /// using the DataLinkProvider /// <see cref="DataLink.DataStorage.InsertRecords"/> method. /// </summary> /// <param name="reader">The stream with the source records.</param> public object[] InsertFromStream(StreamReader reader) { mLastInsertedRecords = FileHelperEngine.ReadStream(reader); mProvider.InsertRecords(mLastInsertedRecords); return(mLastInsertedRecords); }
private void ReadStockFile() { var ftpManager = new FtpManager(_ftpSetting.FtpUri, null, false, true); var regex = FileNameRegex; foreach (var fileName in ftpManager.GetFiles()) { if (!regex.IsMatch(fileName)) { continue; } using (var stream = ftpManager.Download(Path.GetFileName(fileName))) { using (var streamReader = new StreamReader(stream)) { var engine = new FileHelperEngine(typeof(DatColStock)); var listOfVendorStock = engine.ReadStream(streamReader) as DatColStock[]; ProcessStock(listOfVendorStock); try { ftpManager.Upload(stream, Path.Combine("History", fileName)); } catch (Exception e) { } } } _archiveService.CopyToArchive(ftpManager.BaseUri.AbsoluteUri, SaveTo.StockDirectory, fileName); ftpManager.Delete(fileName); } }
private static IEnumerable <CSSEGISandDataDailyReport> GetRecords(string url) { CSSEGISandDataDailyReport[] records = { }; try { HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); StreamReader sr = new StreamReader(resp.GetResponseStream()); using var stream = new StringReader(sr.ReadToEnd()); var engine = new FileHelperEngine <CSSEGISandDataDailyReport>(); //engine.BeforeReadRecord += (sender, args) => // args.RecordLine = args.RecordLine.Replace(@",", "-"); engine.BeforeReadRecord += Engine_BeforeReadRecord; //engine.AfterReadRecord += Engine_AfterReadRecord; records = engine.ReadStream(stream); //var records = engine.ReadStreamAsList(stream, 0); } catch (Exception ex) { Console.WriteLine(ex.ToString()); // with stack trace } return(records); }
public void ReadOperationShouldBeQuick() { Benchmark.This("FileHelperEngine.ReadStream", () => { var engine = new FileHelperEngine<FixedSampleRecord>(); using (var stream = new StringReader(FixedFileSample)) { var records = engine.ReadStream(stream); records.Should().HaveCount(19); } }) .Against.This("FlatFileEngine.Read", () => { var layout = new FixedSampleRecordLayout(); using (var stream = new MemoryStream(Encoding.UTF8.GetBytes(FixedFileSample))) { var factory = new FixedLengthFileEngineFactory(); var flatFile = factory.GetEngine(layout); var records = flatFile.Read<FixedSampleRecord>(stream).ToArray(); records.Should().HaveCount(19); } }) .WithWarmup(1000) .For(10000) .Iterations() .PrintComparison(); }
private void TestAllTables2017_2018(string textResourceName, Func <int, int, bool, int, int> taxFunction) { Assembly a = Assembly.GetExecutingAssembly(); using (var s = a.GetManifestResourceStream(textResourceName)) { var importEngine = new FileHelperEngine <TrekkRecord2018>(); using (var sr = new StreamReader(s)) { var lines = importEngine.ReadStream(sr); Assert.Multiple(() => { foreach (var trekkRecord in lines) { var t = taxFunction( trekkRecord.Trekkgrunnlag, trekkRecord.Tabellnummer, trekkRecord.TabelltypeIsPensjon, trekkRecord.Trekkperiode); Assert.AreEqual( trekkRecord.Trekk, t, $"{trekkRecord.Tabellnummer} failed at grl:{trekkRecord.Trekkgrunnlag} pensj:{trekkRecord.TabelltypeIsPensjon} periode:{trekkRecord.Trekkperiode}" ); } } ); } } }
private void ProcessFiles() { var ftpManager = new FtpManager(_ftpSetting.FtpUri, null, false, true); var regex = FileNameRegex; foreach (var fileName in ftpManager.GetFiles()) { if (!regex.IsMatch(fileName)) { continue; } using (var stream = ftpManager.Download(Path.GetFileName(fileName))) { using (var streamReader = new StreamReader(stream)) { try { var engine = new FileHelperEngine(typeof(DatColPurchaseOrder)); var listofPickTickets = engine.ReadStream(streamReader) as DatColPurchaseOrder[]; ProcessFile(listofPickTickets); _archiveService.CopyToArchive(ftpManager.BaseUri.AbsoluteUri, SaveTo.PurchaseOrderDirectory, fileName); ftpManager.Delete(fileName); } catch (Exception) { _log.AuditError(string.Format("Failed to process the Purchase order file. File name: '{0}'", fileName)); } } } } }
private void TestAllTables(string textResourceName, Func <int, int, bool, int, int> taxFunction) { Assembly a = Assembly.GetExecutingAssembly(); //use ildasm and inspect the Manifest of this assembly to find TextResourceName //from here C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools using (var s = a.GetManifestResourceStream(textResourceName)) { var importEngine = new FileHelperEngine <TrekkRecord>(); using (var sr = new StreamReader(s)) { var lines = importEngine.ReadStream(sr); Assert.Multiple(() => { foreach (var trekkRecord in lines) { var t = taxFunction( trekkRecord.Trekkgrunnlag, trekkRecord.Tabellnummer, trekkRecord.TabelltypeIsPensjon, trekkRecord.Trekkperiode); Assert.AreEqual( trekkRecord.Trekk, t, $"{trekkRecord.Tabellnummer} failed at grl:{trekkRecord.Trekkgrunnlag} pensj:{trekkRecord.TabelltypeIsPensjon} periode:{trekkRecord.Trekkperiode}" ); } } ); } } }
/// <summary> /// Downloads the game file manifest the web host, loads it into a stream, /// and then populates the CSV object collection /// </summary> /// <returns></returns> public bool LoadManifest() { bool success = true; try { System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12; Uri manifestUri = new Uri(GetFinalUrl(StrResources.ClientFileUrl), StrResources.MftFilename); WebRequest req = WebRequest.Create(manifestUri); WebResponse response = req.GetResponse(); Stream stream = response.GetResponseStream(); TextReader textRead = new StreamReader(stream); var manifestFile = new FileHelperEngine <FileManifest>(); manifest = manifestFile.ReadStream(textRead); textRead.Dispose(); stream.Dispose(); response.Dispose(); } catch (Exception ex) { success = false; Utils.HandleError(ex, "Error downloading file manifest"); } return(success); }
public void NullReader() { var engine = new FileHelperEngine <SampleType>(); Assert.Throws <ArgumentNullException>(() => engine.ReadStream(null)); }
private object[] CoreTransform(StreamReader sourceFile, StreamWriter destFile, Type sourceType, Type destType, MethodInfo method) { var sourceEngine = new FileHelperEngine(sourceType, mSourceEncoding); var destEngine = new FileHelperEngine(destType, mDestinationEncoding); var source = sourceEngine.ReadStream(sourceFile); var transformed = CoreTransformRecords(source, method);
private static async Task <IEnumerable <CSSEGISandDataDailyReport> > GetRecords3(string url) { string readStream = string.Empty; HttpClient client = new HttpClient(); IEnumerable <CSSEGISandDataDailyReport> resultado = new List <CSSEGISandDataDailyReport>(); try { var response = await client.GetAsync(url); using var responseStream = await response.Content.ReadAsAsync <TextReader>(); //var responseStream = await response.Content.ReadAsStringAsync(); //System.IO.Stream -> System.IO.TextReader //string -> System.IO.TextReader //return responseStream; //var engine = new FileHelperEngine<CSSEGISandDataDailyReport>(); //var records = engine.ReadStringAsList(readStream); var engine = new FileHelperEngine <CSSEGISandDataDailyReport>(); //var records = engine.ReadStream(responseStream); resultado = engine.ReadStream(responseStream); } catch (Exception ex) { string messareError = ex.ToString(); } return(resultado); }
public static IEnumerable <FullyQualifiedCarData> ParseCsvToFullyQualifiedCarDataEuro4() { if (m_FullyQualifiedCarData == null) { try { var assembly = Assembly.GetExecutingAssembly(); var euro4Stream = new StreamReader(assembly.GetManifestResourceStream("OpenResKit.CarbonFootprint.Positions.Resources.Euro_4_latest.csv")); var engine = new FileHelperEngine <FullyQualifiedCarData>(); var cars4 = engine.ReadStream(euro4Stream); foreach (var fullyQualifiedCarData in cars4) { fullyQualifiedCarData.Description += " EURO 4"; } m_FullyQualifiedCarDataEuro4 = cars4; } catch (Exception exception) { exception.GetType(); throw; } } return(m_FullyQualifiedCarDataEuro4); }
public override object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) { var csv = bindingContext.ValueProvider.GetValue(bindingContext.ModelName); var file = ((csv.RawValue as HttpPostedFileBase[]) ?? Enumerable.Empty <HttpPostedFileBase>()).FirstOrDefault(); if (file == null || file.ContentLength < 1) { bindingContext.ModelState.AddModelError( "", "Please select a valid CSV file" ); return(null); } using (var reader = new StreamReader(file.InputStream)) { try { var engine = new FileHelperEngine <T>(); return(engine.ReadStream(reader)); } catch (Exception c) { bindingContext.ModelState.AddModelError(bindingContext.ModelName, c.Message); return(null); } } }
public static IEnumerable <CarData> ParseCsvToCarDataEuro5() { if (m_CarDataEuro5 == null) { try { var assembly = Assembly.GetExecutingAssembly(); var euro4Stream = new StreamReader(assembly.GetManifestResourceStream("OpenResKit.CarbonFootprint.Positions.Resources.Euro_5_slim.csv")); var engine = new FileHelperEngine <CarData>(); var cars5 = engine.ReadStream(euro4Stream); foreach (var carData in cars5) { carData.Description += " EURO 5"; } m_CarDataEuro5 = cars5; } catch (Exception exception) { exception.GetType(); throw; } } return(m_CarDataEuro5); }
public void GetMSWSReportsFromURL_AsStream_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)); // make request HttpWebRequest webReq = null; HttpWebResponse webResp = null; StreamReader reader = null; try { webReq = (HttpWebRequest)HttpWebRequest.Create(url); webResp = (HttpWebResponse)webReq.GetResponse(); Encoding encode = Encoding.GetEncoding("utf-8"); reader = new StreamReader(webResp.GetResponseStream(), encode); res = (MSWSDailyReportRecord[]) engine.ReadStream(reader); } catch { throw; } finally { if (webReq != null) webReq = null; if (webResp != null) webResp.Close(); if (reader != null) reader.Close(); } Assert.AreEqual(res.Length, 32); }
public IList <FixedSampleRecord> FileHelpers() { using (var stream = new StringReader(_records)) { return(_helperEngine.ReadStream(stream)); } }
private void RetrieveBody(StreamReader reader) { var engine = new FileHelperEngine <CSVEntry>(); engine.ErrorManager.ErrorMode = ErrorMode.IgnoreAndContinue; this.body = engine.ReadStream(reader); }
public object[] ReadData(Stream inputStream) { using (var textReader = new StreamReader(inputStream)) { var fileHelper = new FileHelperEngine(type); return(fileHelper.ReadStream(textReader)); } }
public void FileHelpers() { var engine = new FileHelperEngine <FixedSampleRecord>(); using (var stream = new StringReader(sampleText)) { var records = engine.ReadStream(stream); } }
public virtual IList <T> LoadData() { using (var fileStream = new FileStream(path , FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) using (var streamReader = new StreamReader(fileStream)) { return(engine.ReadStream(streamReader).ToList()); } }
public T[] GetImportData <T>(Stream file) where T : class { var reader = new StreamReader(file); var fileEngine = new FileHelperEngine(typeof(T)); fileEngine.ErrorManager.ErrorMode = ErrorMode.IgnoreAndContinue; return(fileEngine.ReadStream(reader, Int32.MaxValue) as T[]); }
private void Setup() { var engine = new FileHelperEngine <FixedSampleRecord>(); using (var stream = new StringReader(FlatFileBenchmarks.FixedFileSample)) { var records = engine.ReadStream(stream); sampleRecords = records; } }
protected override void PopulateDataSource() { using (Stream stream = _streamFactory.CreateInstance(StreamMode.Read)) { using (StreamReader streamReader = new StreamReader(stream)) { _dataSource = ((TEntity[])_fileHelperEngine.ReadStream(streamReader)).ToList(); } } }
public void EncodingAdvanced5() { var engine = new FileHelperEngine(typeof(EncodingRecord)); var encode = Encoding.GetEncoding("utf-8"); var reader = new StreamReader(FileTest.Good.EncodingAdv3.Path, encode); var res = (EncodingRecord[])engine.ReadStream(reader); Assert.AreEqual(res.Length, 18); }
private static IEnumerable <FixedSampleRecord> GetRecords() { var engine = new FileHelperEngine <FixedSampleRecord>(); using (var stream = new StringReader(FixedFileSample)) { var records = engine.ReadStream(stream); return(records); } }
private void FileHelperEngine() { var engine = new FileHelperEngine <FixedSampleRecord>(); using (var stream = new StringReader(FlatFileBenchmarks.FixedFileSample)) { var records = engine.ReadStream(stream); records.Should().HaveCount(19); } }
public IList <object> ReadStream(TextReader fileStream, int ignoreLines, IDictionary <int, string> fieldNames, char[] separator) { ClassBuilder(ignoreLines, fieldNames, separator); var engine = new FileHelperEngine(InputType); var userRecords = engine.ReadStream(fileStream); return(userRecords); }
public void EncodingAdvanced5() { var engine = new FileHelperEngine <EncodingRecord>(); var encode = Encoding.GetEncoding("utf-8"); var reader = new StreamReader(FileTest.Good.EncodingAdv3.Path, encode); var res = engine.ReadStream(reader); Assert.AreEqual(res.Length, 18); }
public JsonResult SubirArchivo(HttpPostedFileBase file) { ResultadoCRUD_Models R = new ResultadoCRUD_Models(); List <ResultadoCRUD_Models> ListR = new List <ResultadoCRUD_Models>(); try { if (file == null) { R.res_excepcion = "no se recibió ningún archivo"; } if (!(file.FileName.EndsWith(".csv") || (file.FileName.EndsWith(".txt")))) { R.res_excepcion = "Debe ser un .csv o un .txt"; } var engine = new FileHelperEngine <Importar_Models>(); Importar_Models[] List_Importar; List_Importar = engine.ReadStream(new StreamReader(file.InputStream)); string _lote = DateTime.Now.ToString("yyyyMMdd-hhmm"); foreach (Importar_Models item in List_Importar) { Contactos_Models C = new Contactos_Models(); R = new ResultadoCRUD_Models(); C.con_fecha = DateTime.Now; C.con_cant = 0; C.con_lote = _lote; C.con_phone = item.tel1; C.con_titular = item.titular; R = C.InsertUpdateContactos(C); ListR.Add(R); } } catch (Exception ex) { R = new ResultadoCRUD_Models(); R.res_cantidad = -1; R.res_metodo = "FileUploadController.SubirArchivo"; R.res_observacion = "ERROR:" + ex.Message; R.res_excepcion = (ex.InnerException == null)?"":ex.InnerException.ToString(); ListR.Add(R); } // ViewData["Resultados"] = ListR; //return JsonConvert.SerializeObject(ListR); return(new JsonResult { ContentType = "application/json", Data = ListR, JsonRequestBehavior = JsonRequestBehavior.AllowGet, MaxJsonLength = Int32.MaxValue }); }
public IEnumerable <TCBasicInfo> ReadCsv(Stream inputStream) { var engine = new FileHelperEngine <TechCompanyCsv>(); TechCompanyCsv[] csvData; using (var streamReader = new StreamReader(inputStream)) { csvData = engine.ReadStream(streamReader); } var result = CsvToModelMapper(csvData); return(result); }
public void ReadEmpty() { string data = ""; FileHelperEngine <SampleType> engine = new FileHelperEngine <SampleType>(); SampleType[] res; res = engine.ReadStream(new StringReader(data)); Assert.AreEqual(0, res.Length); Assert.AreEqual(0, engine.TotalRecords); Assert.AreEqual(0, engine.ErrorManager.ErrorCount); }
private Destination[] CoreTransform(StreamReader sourceFile, StreamWriter destFile, Type sourceType, Type destType, MethodInfo method) { FileHelperEngine <Source> sourceEngine = new FileHelperEngine <Source>(mSourceEncoding); FileHelperEngine <Destination> destEngine = new FileHelperEngine <Destination>(mDestinationEncoding); Source[] source = sourceEngine.ReadStream(sourceFile); Destination[] transformed = CoreTransformRecords(source, method); #endif destEngine.WriteStream(destFile, transformed); return(transformed); }
public ActionResult DownloadAsExcel(string id) { if (string.IsNullOrWhiteSpace(id)) { TempData["Message"] = "Unable to download file. No file was selected. Please select a file and try again."; return RedirectToAction("Index"); } try { var file = GetNamedFile(id); var created = file.TimeStamp; var filePathAndFilename = file.FilePath; var filename = file.FileNameLessExtension; var streamReader = new StreamReader(filePathAndFilename); var engine = new FileHelperEngine<FeederSystemFixedLengthRecord>(); var result = engine.ReadStream(streamReader); var transactions = result.ToList(); // Opening the Excel template... var templateFileStream = new FileStream(Server.MapPath(@"~\Files\RevisedScrubberWithoutData.xlsx"), FileMode.Open, FileAccess.Read); // Getting the complete workbook... var templateWorkbook = new XSSFWorkbook(templateFileStream); // Getting the worksheet by its name... var sheet = templateWorkbook.GetSheet("Sheet1"); // We need this so the date will be formatted correctly; otherwise, the date format gets all messed up. var dateCellStyle = templateWorkbook.CreateCellStyle(); var format = templateWorkbook.CreateDataFormat(); dateCellStyle.DataFormat = format.GetFormat("[$-809]m/d/yyyy;@"); // Here's another to ensure we get a number with 2 decimal places: var twoDecimalPlacesCellStyle = templateWorkbook.CreateCellStyle(); format = templateWorkbook.CreateDataFormat(); twoDecimalPlacesCellStyle.DataFormat = format.GetFormat("#0.00"); var boldFont = templateWorkbook.CreateFont(); boldFont.FontHeightInPoints = 11; boldFont.FontName = "Calibri"; boldFont.Boldweight = (short)FontBoldWeight.Bold; var boldCellStyle = templateWorkbook.CreateCellStyle(); boldCellStyle.SetFont(boldFont); var boldTotalAmountStyle = templateWorkbook.CreateCellStyle(); boldTotalAmountStyle.DataFormat = twoDecimalPlacesCellStyle.DataFormat; boldTotalAmountStyle.SetFont(boldFont); var grandTotal = 0.0; var i = 0; foreach (var transaction in transactions) { i++; // Getting the row... 0 is the first row. var dataRow = sheet.GetRow(i); dataRow.CreateCell(0).SetCellValue(transaction.FiscalYear); dataRow.CreateCell(1).SetCellValue(transaction.ChartNum); dataRow.CreateCell(2).SetCellValue(transaction.Account); dataRow.CreateCell(3).SetCellValue(transaction.SubAccount); dataRow.CreateCell(4).SetCellValue(transaction.ObjectCode); dataRow.CreateCell(5).SetCellValue(transaction.SubObjectCode); dataRow.CreateCell(6).SetCellValue(transaction.BalanceType); dataRow.CreateCell(7).SetCellValue(transaction.ObjectType.Trim()); dataRow.CreateCell(8).SetCellValue(transaction.FiscalPeriod); dataRow.CreateCell(9).SetCellValue(transaction.DocumentType); dataRow.CreateCell(10).SetCellValue(transaction.OriginCode); dataRow.CreateCell(11).SetCellValue(transaction.DocumentNumber); dataRow.CreateCell(12).SetCellValue(transaction.LineSequenceNumber); dataRow.CreateCell(13).SetCellValue(transaction.TransactionDescription); var transactionAmount = Convert.ToDouble(transaction.Amount.Trim()); grandTotal += transactionAmount; var cell = dataRow.CreateCell(14); cell.CellStyle = twoDecimalPlacesCellStyle; cell.SetCellValue(transactionAmount); dataRow.CreateCell(15).SetCellValue(transaction.DebitCreditCode.Trim()); cell = dataRow.CreateCell(16); cell.CellStyle = dateCellStyle; cell.SetCellValue(Convert.ToDateTime(transaction.TransactionDate)); dataRow.CreateCell(17).SetCellValue(transaction.OrganizationTrackingNumber); dataRow.CreateCell(18).SetCellValue(transaction.ProjectCode); dataRow.CreateCell(19).SetCellValue(transaction.OrganizationReferenceId.Trim()); dataRow.CreateCell(20).SetCellValue(transaction.ReferenceTypeCode.Trim()); dataRow.CreateCell(21).SetCellValue(transaction.ReferenceOriginCode.Trim()); dataRow.CreateCell(22).SetCellValue(transaction.ReferenceNumber.Trim()); dataRow.CreateCell(23).SetCellValue(transaction.ReversalDate.Trim()); dataRow.CreateCell(24).SetCellValue(transaction.TransactionEncumbranceUpdateCode.Trim()); } if (transactions.Any()) { var totalsRow = sheet.GetRow(i + 1); var totalsCell = totalsRow.CreateCell(13); totalsCell.CellStyle = boldCellStyle; totalsCell.SetCellValue(" Grand Total"); totalsCell = totalsRow.CreateCell(14); totalsCell.CellStyle = boldTotalAmountStyle; totalsCell.SetCellValue(grandTotal); } // Forcing formula recalculation... sheet.ForceFormulaRecalculation = true; var ms = new MemoryStream(); // Writing the workbook content to the FileStream... templateWorkbook.Write(ms); TempData["Message"] = "Excel report created successfully!"; // Sending the server processed data back to the user computer... return File(ms.ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", filename + ".xlsx"); } catch (Exception ex) { TempData["Message"] = String.Format("Opps! Something went wrong: {0}", ex.Message); return RedirectToAction("Index"); } }
private void ProcessFile(IDAO dao, string fullPath, string fileName, CancellationToken token) { Log.Trace($"Thread [{Thread.CurrentThread.ManagedThreadId}] - Start processing file [{fileName}]"); token.ThrowIfCancellationRequested(); string managerSecondName = GetManagerSecondNameFromFileName(fileName); var manager = dao.ManagerRepository.FindBySecondName(managerSecondName) ?? dao.ManagerRepository.Add(new Manager(managerSecondName)); token.ThrowIfCancellationRequested(); // parsing .csv using (var textReader = File.OpenText(fullPath)) { var engine = new FileHelperEngine<SaleRecord>(); var records = engine.ReadStream(textReader); foreach (var record in records) { token.ThrowIfCancellationRequested(); ProcessRecord(dao, record, manager, fileName, token); } } }
public IList<FeederSystemFixedLengthRecord> ReadFile(Stream stream) { var engine = new FileHelperEngine<FeederSystemFixedLengthRecord>(); var streamReader = new StreamReader(stream); var result = engine.ReadStream(streamReader); return result.ToList(); }
/// <summary> /// Import the sessions in this providers type /// This may throw an exception if there are File I/O issues /// </summary> /// <param name="location">The location of the csv file</param> /// <returns>The list of sessions</returns> public List<Session> loadSessions(string location) { Uri uri = null; try { uri = new Uri(location); } catch (Exception e) { throw new Exception("Unable to parse location: " + e.Message); } FileHelperEngine<CsvRecord> engine = new FileHelperEngine<CsvRecord>(); List<CsvRecord> csvList = null; List<Session> sessionList = null; if (uri.Scheme == Uri.UriSchemeFile) { try { csvList = new List<CsvRecord>(engine.ReadFile(uri.LocalPath)); } catch { throw new Exception("Unable to parse sessions file." + Environment.NewLine + "The file may be corrupted or from" + Environment.NewLine + "a previous version of PuTTY Session Manager."); } } else if (uri.Scheme == Uri.UriSchemeHttp || uri.Scheme == Uri.UriSchemeHttps) { Stream s = getRemoteCsvFile(uri); if (s != null) { try { csvList = new List<CsvRecord>(engine.ReadStream(new StreamReader(s))); } catch { throw new Exception("Unable to parse sessions file." + Environment.NewLine + "The file may be corrupted or from" + Environment.NewLine + "a previous version of PuTTY Session Manager."); } finally { if ( s != null ) s.Close(); } } } else { throw new Exception("Unable to parse location: unsupported protocol"); } if (csvList != null) { sessionList = csvList.ConvertAll(new Converter<CsvRecord, Session>(CsvToSessionConvertor)); } return sessionList; }
public void ReadStream() { string data = "11121314901234" + Environment.NewLine + "10111314012345" + Environment.NewLine + "11101314123456" + Environment.NewLine + "10101314234567" + Environment.NewLine; var engine = new FileHelperEngine<SampleType>(); SampleType[] res; res = engine.ReadStream(new StringReader(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); }
public void ReadEmpty() { string data = ""; var engine = new FileHelperEngine<SampleType>(); SampleType[] res; res = engine.ReadStream(new StringReader(data)); Assert.AreEqual(0, res.Length); Assert.AreEqual(0, engine.TotalRecords); Assert.AreEqual(0, engine.ErrorManager.ErrorCount); }
public void NullReader() { engine = new FileHelperEngine(typeof (SampleType)); Assert.Throws<ArgumentNullException>(() => engine.ReadStream(null)); }
public ActionResult Display(string id) { if (string.IsNullOrWhiteSpace(id)) { TempData["Message"] = "Unable to display file. No file was selected. Please select a file and try again."; return RedirectToAction("Index"); } var file = GetNamedFile(id); var engine = new FileHelperEngine<FeederSystemFixedLengthRecord>(); var streamReader = new StreamReader(file.FilePath); var result = engine.ReadStream(streamReader); var transactions = result.ToList(); TempData["Message"] = String.Format("Now viewing \"{0}\".", file.FileName); TempData["Filename"] = file.FileNameLessExtension; return View(transactions); }
public void NullReader() { engine = new FileHelperEngine(typeof (SampleType)); engine.ReadStream(null); }
public void ReadStream() { string data = "11121314901234\n"+ "10111314012345\n" + "11101314123456\n" + "10101314234567\n" ; engine = new FileHelperEngine(typeof(SampleType)); SampleType[] res; res = (SampleType[])engine.ReadStream(new StringReader(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); }
private static IEnumerable<FixedSampleRecord> GetRecords() { var engine = new FileHelperEngine<FixedSampleRecord>(); using (var stream = new StringReader(FixedFileSample)) { var records = engine.ReadStream(stream); return records; } }