コード例 #1
0
ファイル: CSVWorker.cs プロジェクト: JaviDublin/MARProjects
 public CSVWorker(string fn, string fp, List <AvailabilityCarSearch.CarSearchDetails> l)
 {
     _list = l;
     _csv  = new CSVGenerator();
     worker(); // runs the main thread
     FileName = _csv.saveAs(fn, fp);
 }
コード例 #2
0
        public string ExportFuelOrdersByCustClient(ExportDataRequest model)
        {
            var       table = ExportFuelOrdersByCust(model.ClientID, model.ListOfIDs, model.StartDate.ToShortDateString(), model.EndDate.ToShortDateString());
            DataTable copyDataTable;

            copyDataTable            = table.Copy();
            copyDataTable.PrimaryKey = null;
            copyDataTable.Columns["Name"].SetOrdinal(0);
            copyDataTable.Columns["RequestedBy"].SetOrdinal(1);
            copyDataTable.Columns["TailNumber"].SetOrdinal(4);
            copyDataTable.Columns["Product"].SetOrdinal(5);
            copyDataTable.Columns["PPG"].SetOrdinal(6);
            copyDataTable.Columns["DateRequested"].SetOrdinal(7);
            copyDataTable.Columns["FuelingDateTime"].SetOrdinal(8);
            copyDataTable.Columns["PostedRetail"].SetOrdinal(9);
            copyDataTable.Columns["QuotedPPG"].SetOrdinal(10);
            copyDataTable.Columns["InvoicedPPG"].SetOrdinal(11);
            copyDataTable.Columns["QuotedVolume"].SetOrdinal(12);
            copyDataTable.Columns["InvoicedVolume"].SetOrdinal(13);
            copyDataTable.Columns["RampFee"].SetOrdinal(14);
            copyDataTable.Columns["RampFeeWaivedAt"].SetOrdinal(15);
            copyDataTable.Columns["InvoiceStatus"].SetOrdinal(16);
            copyDataTable.Columns["CustNotes"].SetOrdinal(17);
            string filePath = ExportHelper.CreateFilePath("FuelOrderTransactions.csv", model.ClientName);

            CSVGenerator.GenerateCSV(copyDataTable, filePath);
            return(ExportHelper.GetFilePathFromRoot(filePath));
        }
コード例 #3
0
        public string ExportFuelOrdersByAdminClient(ExportDataRequest model)
        {
            var    table    = ExportFuelOrders(model.ClientID, model.ListOfIDs, model.StartDate.ToShortDateString(), model.EndDate.ToShortDateString());
            string filePath = ExportHelper.CreateFilePath("FuelOrderTransactions.csv", model.ClientName);

            CSVGenerator.GenerateCSV(table, filePath);
            return(ExportHelper.GetFilePathFromRoot(filePath));
        }
コード例 #4
0
        public string ExportCustTotalByStatusData(GetDashboardRequest model)
        {
            var    table    = GetTotalCustFuelOrdersByStatusDataTable(model.ClientID, model.StartDateFilter.ToShortDateString(), model.EndDateFilter.ToShortDateString());
            string filePath = ExportHelper.CreateFilePath("FuelOrdersTotalByStatus.csv", model.ClientName);

            CSVGenerator.GenerateCSV(table, filePath);
            return(ExportHelper.GetFilePathFromRoot(filePath));
        }
コード例 #5
0
        private double SaccadeDirectionCounts(List <Saccade> saccades)
        {
            // key is 0 through 35
            // value is the count for that bucket
            Dictionary <int, int> counts = CSVGenerator.CalculateDirectionCounts(currentlyLoadedSaccades.ToArray());

            return(0);
        }
コード例 #6
0
        public string ExportContacts(ExportDataRequest model)
        {
            var    table    = GetCompanies(model.ClientID, model.ListOfIDs);
            string filePath = ExportHelper.CreateFilePath("Companies.csv", model.ClientName);

            CSVGenerator.GenerateCSV(table, filePath);
            return(ExportHelper.GetFilePathFromRoot(filePath));
        }
コード例 #7
0
        public IActionResult DownloadHeaderCSVJS([FromBody] Dictionary <string, object> param)
        {
            // ログインチェック
            if (!isLogin(param))
            {
                return(Unauthorized());
            }

            var searchCondition = new UserSearchCondition();

            if (param.ContainsKey("requestData"))
            {
                // パラメータの設定
                var requestData = param["requestData"] as Newtonsoft.Json.Linq.JObject;
                searchCondition = getUserSearchCondition(requestData);
            }

            var csvData = new System.Text.StringBuilder();

            try
            {
                // データ取得とCSV文字列取得
                var models    = service.GetAllUsers(searchCondition);
                var generator = new CSVGenerator <UserModel>();
                foreach (var model in models)
                {
                    generator.Add(model);
                }
                csvData.AppendLine(generator.GetCSV(true, getDownloadColumnUserModel()));
            }
            catch (Exception ex)
            {
                logger.LogCritical("{0}", ex.Message);
                return(BadRequest());
            }

            var status  = ResponseDTO.Results.OK;
            var message = string.Empty;
            var data    = new Dictionary <string, string>();

            if (csvData.Length > 0)
            {
                data.Add("csv", csvData.ToString());

                // サンプルのファイル名
                string fileName = string.Format("テスト_{0:yyyyMMddHHmmss}.csv", DateTime.Now);
                fileName = HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8);
                data.Add("filename", fileName);
            }
            else
            {
                status  = ResponseDTO.Results.NG;
                message = SearchResultZero;
            }

            return(Json(new ResponseDTO(status, message, data)));
        }
コード例 #8
0
        public void BuildFromListEmpty()
        {
            var persons   = Array.Empty <Person>();
            var expect    = @"""Person Name"",""Id""".Trim();
            var generator = new CSVGenerator();
            var generated = generator.BuildFromCollection(persons).BytesToString();

            Assert.AreEqual(expect, generated.Trim());
        }
コード例 #9
0
ファイル: Processor.cs プロジェクト: yurieastwood/hiperstream
        private bool GenerateOutputFiles()
        {
            var invoiceNoValue             = CSVGenerator.Generate(InvoiceNoValue, nameof(InvoiceNoValue), true);
            var invoiceUpToSixPages        = CSVGenerator.Generate(InvoiceUpToSixPages, nameof(InvoiceUpToSixPages), true);
            var invoiceUpToTwelvePages     = CSVGenerator.Generate(InvoiceUpToTwelvePages, nameof(InvoiceUpToTwelvePages), true);
            var invoiceMoreThanTwelvePages = CSVGenerator.Generate(InvoiceMoreThanTwelvePages, nameof(InvoiceMoreThanTwelvePages), true);

            return(invoiceNoValue && invoiceUpToSixPages && invoiceUpToTwelvePages && invoiceMoreThanTwelvePages);
        }
コード例 #10
0
        private void OnPopulationExport()
        {
            var fileName = string.Format("{0}_RegionsPopulation_{1:yyyyMMdd}.csv"
                                         , string.Join("_", ConfigurationService.HospitalRegion.DefaultStates.OfType <string>().ToList())
                                         , DateTime.Now);

            var exportPath = MonahrqContext.FileExportsDirPath;

            if (Directory.Exists(exportPath))
            {
                Directory.CreateDirectory(exportPath);
            }

            //Open File Dialog so that user can point to the Export folder and file..
            var dlg = new SaveFileDialog
            {
                CheckFileExists  = false,
                Filter           = @"CSV Files (*.csv)|*.csv|All Files (*.*)|*.*",
                FilterIndex      = 1,
                RestoreDirectory = true,
                AddExtension     = true,
                FileName         = fileName,
                InitialDirectory = MonahrqContext.FileExportsDirPath
            };

            //if (!Directory.Exists(dlg.InitialDirectory)) Directory.CreateDirectory(dlg.InitialDirectory);

            //..but quit Export if user changes its mind by pressing Cancel button
            if (dlg.ShowDialog() != true)
            {
                return;
            }

            //Manufacture a filename if none is informed
            if (string.IsNullOrEmpty(dlg.FileName))
            {
                dlg.FileName = fileName;
            }

            //Cue Export with a wait cursor (Export may be too fast to be observed)
            using (ApplicationCursor.SetCursor(Cursors.Wait))
            {
                //Export the Hospitals collection in memory
                //var hospitals = CollectionItems.SourceCollection as IList<Hospital>;
                var regionsPopulation = GetRegionsPopulations();
                if (regionsPopulation == null)
                {
                    return;
                }

                CSVGenerator.Create(regionsPopulation, dlg.FileName);

                Notify(string.Format("Regions' Population exported to file {0}", dlg.FileName));
            }
        }
コード例 #11
0
        public string ExportByClientID(ExportDataRequest model)
        {
            if (!ModelState.IsValid)
            {
                return((Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState)).ToString());
            }
            var    table    = GetAirports(model.ClientID, model.ListOfIDs);
            string filePath = ExportHelper.CreateFilePath("Airports.csv", model.ClientName);

            CSVGenerator.GenerateCSV(table, filePath);
            return(ExportHelper.GetFilePathFromRoot(filePath));
        }
コード例 #12
0
        public void TestGetPropertyNames()
        {
            var json          = File.ReadAllText(@"data\quarter.json");
            var quarters      = Quarter.Parse("2371", json);
            var propertyNames = CSVGenerator.GetPropertyNames(quarters[0]);

            var actual   = string.Join(",", propertyNames);
            var expected = File.ReadAllText(@"data\propertyNames.txt");

            Assert.IsTrue(propertyNames.Count == 77);
            Assert.AreEqual(actual, expected);
        }
コード例 #13
0
        public void TestGenerateAndWrite()
        {
            var json     = File.ReadAllText(@"data\quarter.json");
            var quarters = Quarter.Parse("2371", json);

            using (var stream = new MemoryStream())
            {
                CSVGenerator.GenerateAndWrite(stream, Encoding.UTF8, quarters);
                var actual   = Encoding.UTF8.GetString(stream.ToArray());
                var expected = File.ReadAllText(@"data\csv.txt");
                Assert.AreEqual(actual, expected);
            }
        }
コード例 #14
0
        public ActionResult DownloadHeaderCSV(string json)
        {
            var csvData = new System.Text.StringBuilder();

            try
            {
                if (!string.IsNullOrEmpty(json))
                {
                    var param = Newtonsoft.Json.JsonConvert.DeserializeObject <Dictionary <string, object> >(json);

                    // ログインチェック
                    if (!isLogin(param))
                    {
                        return(LocalRedirect("/"));
                    }

                    // 検索条件の存在確認
                    if (param.ContainsKey("requestData"))
                    {
                        var requestData = Newtonsoft.Json.JsonConvert.DeserializeObject <UserSearchCondition>(param["requestData"].ToString());

                        // データ取得とCSV文字列取得
                        var models    = service.GetAllUsers(requestData);
                        var generator = new CSVGenerator <UserModel>();
                        foreach (var model in models)
                        {
                            generator.Add(model);
                        }
                        csvData.AppendLine(generator.GetCSV(true, getDownloadColumnUserModel()));
                    }
                }
            }
            catch (Exception ex)
            {
                logger.LogCritical("{0}", ex.Message);
                return(LocalRedirect("/"));
            }

            // サンプルのファイル名
            string fileName = string.Format("テスト_{0:yyyyMMddHHmmss}.csv", DateTime.Now);

            fileName = HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8);

            // ファイル名を設定
            Response.Headers.Add("Content-Disposition", "attachment; filename=" + fileName);

            return(Content(csvData.ToString(), "text/csv"));
        }
コード例 #15
0
        public void BuildFromList()
        {
            var persons = new[] {
                new Person {
                    Id = 1, Name = "Alice Li"
                },
                new Person {
                    Id = 2, Name = "我能吞下玻璃而不伤身体。"
                },
            };
            var expect    = "\"Person Name\",\"Id\"\r\n\"Alice Li\",\"1\"\r\n\"我能吞下玻璃而不伤身体。\",\"2\"".Trim();
            var generator = new CSVGenerator();
            var generated = generator.BuildFromCollection(persons).BytesToString();

            Assert.AreEqual(expect, generated.Trim());
        }
コード例 #16
0
ファイル: Program.cs プロジェクト: sumit-manawat/PowerService
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        static void Main()
        {
            ILogger         logger          = new Logger();
            IConfigSettings configSettings  = new ConfigSettings();
            IPowerService   powerService    = new PowerService();
            IFileGenerator  fileGenerator   = new CSVGenerator(configSettings);
            IPositonService positionService = new PositonService(logger, powerService, fileGenerator);

            ServiceBase[] ServicesToRun;
            ServicesToRun = new ServiceBase[]
            {
                new srvPowerPosition(logger,
                                     configSettings,
                                     positionService)
            };
            ServiceBase.Run(ServicesToRun);
        }
コード例 #17
0
        public string ExportPrices(ExportDataRequest model /*int adminId, string adminName*/)
        {
            var       table = GetSupplierFuelsPricesDataTable(model.ClientID);
            DataTable copyDataTable;

            copyDataTable            = table.Copy();
            copyDataTable.PrimaryKey = null;
            copyDataTable.Columns.Remove("Id");
            copyDataTable.Columns.Remove("AdminClientID");
            copyDataTable.Columns.Remove("SupplierID");
            copyDataTable.Columns.Remove("DateUploaded");
            copyDataTable.Columns["EffectiveDate"].SetOrdinal(7);
            string filePath = ExportHelper.CreateFilePath("VendorFuelsPrices.csv", model.ClientName);

            CSVGenerator.GenerateCSV(copyDataTable, filePath);
            return(ExportHelper.GetFilePathFromRoot(filePath));
        }
コード例 #18
0
        private void cSVToolStripMenuItem_Click(object sender, EventArgs e)
        {
            var dialog = new SaveFileDialog
            {
                Filter = @"CSV|*.csv",
                Title  = @"Save as CSV file"
            };

            var dialogResult = dialog.ShowDialog();

            if (dialogResult == DialogResult.OK)
            {
                if (dialog.FileName != "")
                {
                    using (new WaitCursor())
                    {
                        CSVGenerator.Generate(TableInformation, dialog.FileName);
                    }

                    MessageBox.Show($"Data saved as:\r\n\r\n{dialog.FileName}", @"Succsess", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
        }
コード例 #19
0
        private void directionFrequenciesButton_Click(object sender, RoutedEventArgs e)
        {
            Dictionary <int, int> counts = CSVGenerator.CalculateDirectionCounts(calculatedSaccades.ToArray());

            CSVGenerator.CreateDirectionCSV(counts);
        }
コード例 #20
0
 public static void CreateClass(CSVTableReader csvTableReader, string modelPath, string namespaceName, string modelName, string configPath, string configName, bool refresh = true)
 {
     CreateModelClass(CSVGenerator.CSV2Class(csvTableReader, namespaceName, modelName), modelPath, namespaceName, modelName, false);
     CreateConfigClass(namespaceName, modelName, configPath, configName, refresh);
 }
コード例 #21
0
        public void CSVReadAndWriteTest()
        {
            //Support List<> data type.
            Debug.Log("Auto generate data list:");
            foreach (var data in CSVConverter.ConvertColumn <List <float> >(
                         new CSVTableWriter()
                         .AddHeader(new CSVRecordWriter {
                "Item1"
            })
                         .AddHeader(new CSVRecordWriter {
                "List<float>"
            })
                         .AddRecord(new CSVRecordWriter {
                "1.25|3.33|2.5|4"
            })
                         .AddRecord(new CSVRecordWriter {
                "2.5|4|5.1"
            })
                         .GetEncodeTable()))
            {
                Debug.Log(string.Join("|", data));
            }

            //Using ValueTuple as the data type.
            Debug.Log("Auto generate data list:");
            foreach (var data in CSVConverter.Convert <ValueTuple <float, string> >(
                         new CSVTableWriter()
                         .AddHeader(new CSVRecordWriter {
                "Item1", "Item2"
            })
                         .AddHeader(new CSVRecordWriter {
                "float", "string"
            })
                         .AddRecord(new CSVRecordWriter {
                "1.25", "first"
            })
                         .AddRecord(new CSVRecordWriter {
                "2.5", "second"
            })
                         .GetEncodeTable()))
            {
                Debug.Log(data);
            }

            //Custom cell separator.
            CSVTableWriter csvTableWriter = CSVGenerator.Class2CSVTable <ExampleTestData>(';');

            Debug.Log("Auto generate csv:\n" + csvTableWriter.GetEncodeTable(NewLineStyle.NonUnix));

            string classStr = CSVGenerator.CSV2Class(csvTableWriter.GetEncodeTable(NewLineStyle.NonUnix), null, nameof(ExampleTestData), csvTableWriter.CellSeparator);

            Debug.Log("Auto generate class:\n" + classStr);

            csvTableWriter.AddRecord(new CSVRecordWriter()
                                     .Add("1")
                                     .Add("#cccccc")
                                     .Add("2")
                                     .Add("normal string")
                                     .Add("\"string with double quote")
                                     .Add("1;2;3|4;5;6")
                                     .Add("#cccccc;string content")
                                     .Add("#cccccc;string content|#ffffff;second string")
                                     .Add("#cccccc;string content|#ffffff;second string"));
            csvTableWriter.AddRecord(new CSVRecordWriter()
                                     .Add("3")
                                     .Add("#dddddd")
                                     .Add("4")
                                     .Add("string with, comma")
                                     .Add("\"string with\", comma and \"double quote")
                                     .Add("7;8;9|10;11;12|7;7;7")
                                     .Add("#dddddd;string content2")
                                     .Add("#dddddd;string content2|#eeeeee;second string2")
                                     .Add("#dddddd;string content2|#eeeeee;second string2"));
            Debug.Log("csv add data:\n" + csvTableWriter.GetEncodeTable(NewLineStyle.NonUnix));

            var dataList = CSVConverter.Convert <ExampleTestData>(csvTableWriter.GetEncodeTable(NewLineStyle.NonUnix), csvTableWriter.CellSeparator);

            Debug.Log("Auto generate data list:");
            foreach (var data in dataList)
            {
                Debug.Log(data);
            }

            Debug.Log("Auto generate data IEnumerable:");
            foreach (var data in CSVConverter.ConvertEnumerator <ExampleTestData>(csvTableWriter.GetEncodeTable(NewLineStyle.NonUnix), csvTableWriter.CellSeparator))
            {
                Debug.Log(data);
            }

            string newContent = new CSVTableWriter()
                                .AddHeader(new CSVRecordWriter {
                "Name", "Age"
            })
                                .AddHeader(new CSVRecordWriter {
                "string", "int"
            })
                                .AddRecord(new CSVRecordWriter {
                "Name1", "10"
            })
                                .AddRecord(new CSVRecordWriter {
                "Name2", "20"
            })
                                .AddRecord(new CSVRecordWriter {
                "Name3", "30"
            })
                                .AddRecord(new CSVRecordWriter {
                "Name4", "40"
            })
                                .GetEncodeTable(NewLineStyle.NonUnix);

            Debug.Log("Auto generate column data by header name:");
            foreach (var name in CSVConverter.ConvertColumn <string>(newContent, "Name"))
            {
                Debug.Log(name);
            }

            Debug.Log("Auto generate column data by header index:");
            foreach (var age in CSVConverter.ConvertColumn <int>(newContent, 1))
            {
                Debug.Log(age);
            }
        }
コード例 #22
0
 public static void CreateModelClass(string csvPath, string modelPath, string namespaceName, string modelName, bool refresh = true)
 {
     Write(CSVGenerator.CSV2Class(File.ReadAllText(csvPath), namespaceName, modelName), Path.Combine(modelPath, modelName + ".cs"), refresh);
 }
コード例 #23
0
 public static void CreateModelClass(CSVTableReader csvTableReader, string modelPath, string namespaceName, string modelName, bool refresh = true)
 {
     Write(CSVGenerator.CSV2Class(csvTableReader, namespaceName, modelName), Path.Combine(modelPath, modelName + ".cs"), refresh);
 }