示例#1
0
        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");
        }
示例#2
0
        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);
        }
示例#3
0
 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);
            }
        }
示例#5
0
        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);
            }
        }