static void Main(string[] args) { var dataLoader = new CsvDataLoader(); var dateProcessor = new DateProcessor(); var dataAggregator = new DataAggregator(); var dataExporter = new CsvDataExporter(); var excelReader = new ExcelDataLoader(); var csvFinancialDataLoader = new CsvFinancialDataLoader(); var desktopFolder = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory); var result = dataLoader.LoadDataFromFile(desktopFolder + "/Diplomovka_ESF/transformed_10000.csv"); // var result = dataLoader.LoadDataFromFile(desktopFolder + "/Diplomovka_ESF/owners.csv"); List <BusinessDataItem> parsedBusinessData = new List <BusinessDataItem>(); result.ForEach(res => parsedBusinessData.AddRange(dateProcessor.SplitBusinessDataByYear(res))); var allLoadedIcos = parsedBusinessData.Select(businessData => businessData.ICO).Distinct().OrderBy(ico => ico).ToList(); var allIcosWithFinancialData = excelReader.LoadFinancialDataOfCompany(allLoadedIcos, desktopFolder + "/Data_DP/financial_data.xlsx"); Console.WriteLine($"AllLoadedIcos size {allLoadedIcos.Count} vs. icos with financialData size {allIcosWithFinancialData.Count}"); // var allIcosWithFinancialData = csvFinancialDataLoader.LoadFinancialDataOfCompany(allLoadedIcos, desktopFolder + "/Data_DP/financial_data_less_detail.csv"); // Console.WriteLine($"AllLoadedIcos size {allLoadedIcos.Count} vs. icos with financialData from csv size {allIcosWithFinancialData.Count}"); List <CompanyOutputData> ownersInfo = dataAggregator.AggregateDataByCompany(parsedBusinessData); dataExporter.ExportDataToCsv(ownersInfo); Console.WriteLine("Transformation finished"); }
public void ExportDataAsCsv_TwoYears_DifferentCountOfOwners() { CompanyOutputData companyOutputData = new CompanyOutputData { ICO = "123", Name = "Test company", OwnersByYears = new Dictionary <int, List <OwnerInfo> >() { { 2011, new List <OwnerInfo> { new OwnerInfo { LegalFormOfOwner = "s.r.o", CountryOfOwner = "Czech republic", OwnerCountrySign = "DOM", OwnerType = "FO", OwnerShare = "51", FromTime = DateTime.ParseExact("01.01.2011", "dd.MM.yyyy", CultureInfo.CurrentCulture), ToTime = DateTime.ParseExact("31.12.2011", "dd.MM.yyyy", CultureInfo.CurrentCulture), IsValid = "1", }, new OwnerInfo { LegalFormOfOwner = "s.r.o", CountryOfOwner = "USA", OwnerCountrySign = "FOR", OwnerType = "FO", OwnerShare = "49", FromTime = DateTime.ParseExact("01.01.2011", "dd.MM.yyyy", CultureInfo.CurrentCulture), ToTime = DateTime.ParseExact("31.12.2011", "dd.MM.yyyy", CultureInfo.CurrentCulture), IsValid = "1", } } }, { 2012, new List <OwnerInfo> { new OwnerInfo { LegalFormOfOwner = "s.r.o", CountryOfOwner = "Czech republic", OwnerCountrySign = "DOM", OwnerType = "FO", OwnerShare = "100", FromTime = DateTime.ParseExact("01.01.2012", "dd.MM.yyyy", CultureInfo.CurrentCulture), ToTime = DateTime.ParseExact("31.12.2012", "dd.MM.yyyy", CultureInfo.CurrentCulture), IsValid = "1", }, } } } }; var dataExporter = new CsvDataExporter(); var result = dataExporter.TransformCompanyDataToCsvString(companyOutputData); var expectedResult = "123;Test company;s.r.o;Czech republic;DOM;51;FO;s.r.o;USA;FOR;49;FO;;;;;;s.r.o;Czech republic;DOM;100;FO;;;;;;;;;;;"; Console.WriteLine(expectedResult); Console.WriteLine(result); Assert.AreEqual(expectedResult, result); }
private void ExportToCsv_Click(object sender, RoutedEventArgs e) { try { DataTable resultDt = ((DataView)datGrid.ItemsSource).ToTable(); SaveFileDialog saveFileDlg = new SaveFileDialog(); saveFileDlg.Filter = "csv files (*.csv)|*.csv"; saveFileDlg.DefaultExt = "csv"; saveFileDlg.FilterIndex = 2; saveFileDlg.RestoreDirectory = true; bool?result = saveFileDlg.ShowDialog(); if (result == true) { var exporter = new CsvDataExporter(); using (var streamWriter = File.OpenWrite(saveFileDlg.FileName)) exporter.Export(resultDt.CreateDataReader(), streamWriter); } } catch (Exception error) { //if some error occurs just show the error message MessageBox.Show(error.Message); } }
protected void ButtonExport_Click(object sender, EventArgs e) { try { if (m_exportItem == null) { m_exportItem = new ExportItem(); } m_exportItem.ExportItemName = TextBoxFilename.Text; m_exportItem.ExportItemFtpId = Convert.ToInt32(DropDownListFTPSites.SelectedValue); PopulateValues(m_exportItem); m_exportItem.SelectStatementBuilder.SelectStatement(); CsvDataExporter dataExporter = new CsvDataExporter(m_exportItem); dataExporter.CsvExport(); } catch (Exception exception) { Emailer.SendEmail("*****@*****.**", "CoreDataReprtService : Error ", "ReportCreator->ButtonExport_Click", exception); } }
private void btnExportCsv_Click(object sender, EventArgs e) { try { //Save CSV file using (SaveFileDialog saveFileDialog = new SaveFileDialog()) { saveFileDialog.Filter = "csv files (*.csv)|*.csv"; saveFileDialog.FilterIndex = 2; saveFileDialog.RestoreDirectory = true; if (saveFileDialog.ShowDialog(this) == DialogResult.OK) { var exporter = new CsvDataExporter(); using (var streamWriter = File.OpenWrite(saveFileDialog.FileName)) exporter.Export(ResultDS.CreateDataReader(ResultDS.Tables.Cast <DataTable>().ToArray()), streamWriter); } } } catch (Exception error) { //if some error occurs just show the error message MessageBox.Show(error.Message); } }