예제 #1
0
 private void _resumeArchiveSprinter(object obj)
 {
     if (File.Exists(ProjectControlVM.SelectedProject.SelectedRun.PauseFilePath))
     {
         Pause config;
         using (StreamReader reader = File.OpenText(ProjectControlVM.SelectedProject.SelectedRun.PauseFilePath))
         {
             JsonSerializer serializer = new JsonSerializer();
             config = (Pause)serializer.Deserialize(reader, typeof(Pause));
         }
         File.Delete(ProjectControlVM.SelectedProject.SelectedRun.PauseFilePath);
         var sigcsv   = new CSVFileReader();
         var data     = sigcsv.ReadSignatureCSV(config.LastWrittenFileName);
         var lasttime = data.LastOrDefault();
         ProjectControlVM.SelectedProject.SelectedRun.PauseFilePath = null;
         ProjectControlVM.SelectedProject.SelectedRun.CheckTaskDirIntegrity();
         _numberOfFilesRead = 0;
         _setupFileManager();
         _reader.DateTimeStart = config.LastReadFileTime;
         var numberOfDataWriters = SettingsVM.DataWriters.Count();
         _setupDataManager(numberOfDataWriters);
         DataMngr.FirstFile        = false;
         DataMngr.ResumedTask      = true;
         DataMngr.CurrentTimeStamp = config.CurrentTimeStamp;
         DataMngr.TimeZero         = lasttime.AddSeconds(Convert.ToInt32(SettingsVM.WindowSizeStr) - Convert.ToInt32(SettingsVM.WindowOverlapStr));
         ProjectControlVM.SelectedProject.SelectedRun.IsTaskRunning = true;
         ProjectControlVM.CanRun = false;
         _startAS(numberOfDataWriters);
     }
 }
예제 #2
0
        public IEnumerable <FileValidationError> Validate <T>(string filePath) where T : BaseEntity, new()
        {
            List <FileValidationError> fileValidationErrors = new List <FileValidationError>();
            FileInfo fileInfo = new FileInfo(filePath);

            if (!fileInfo.Exists)
            {
                fileValidationErrors.Add(new FileValidationError {
                    ErrorType = "Error", Description = "File does not exist"
                });
            }

            if (fileInfo.Exists)
            {
                if (fileInfo.Length == 0)
                {
                    fileValidationErrors.Add(new FileValidationError {
                        ErrorType = "Error", Description = "File is empty"
                    });
                }

                if (fileInfo.Extension.ToLower() != ".csv")
                {
                    fileValidationErrors.Add(new FileValidationError {
                        ErrorType = "Extenion Not Supported", Description = fileInfo.Extension
                    });
                }

                var      csvFileReader = new CSVFileReader <T>(filePath);
                string[] columns       = csvFileReader.NormalizedColumns;

                if (!csvFileReader.HasRecords())
                {
                    fileValidationErrors.Add(new FileValidationError {
                        ErrorType = "Only Header", Description = "File does not have data!"
                    });
                }

                var      flags            = BindingFlags.Public | BindingFlags.IgnoreCase | BindingFlags.Instance;
                string[] entityProperties = typeof(T).GetProperties(flags).Select(x => x.Name).Where(x => !typeof(BaseEntity).GetProperties(flags).Select(y => y.Name).Contains(x)).ToArray();

                string columnsOnlyInFile = String.Join(",", columns.Except(entityProperties));
                if (!String.IsNullOrEmpty(columnsOnlyInFile))
                {
                    fileValidationErrors.Add(new FileValidationError {
                        ErrorType = "Extra Columns", Description = columnsOnlyInFile
                    });
                }

                string columnsOnlyInEntity = String.Join(",", entityProperties.Except(columns));
                if (!String.IsNullOrEmpty(columnsOnlyInFile))
                {
                    fileValidationErrors.Add(new FileValidationError {
                        ErrorType = "Missing Columns", Description = columnsOnlyInEntity
                    });
                }
            }

            return(fileValidationErrors);
        }
        /// <summary>
        /// Method will persist file to backend and ignore any business rule validation
        /// </summary>
        /// <typeparam name="T">Any type which inherits from validation framework base entity</typeparam>
        /// <param name="filePath">File path, which requires re-processing</param>
        /// <returns>FileResult object</returns>
        public async Task <FileResult> OmitAndIgnoreBusinessValidation <T>(string filePath) where T : BaseEntity, new()
        {
            List <T> finalOutput         = null;
            FileInfo fileInfo            = new FileInfo(filePath);
            string   fileToBeReProcessed = Path.Combine(fileInfo.DirectoryName, Path.GetFileNameWithoutExtension(filePath) + "_Output.csv");
            var      csvFileReader       = new CSVFileReader <T>(fileToBeReProcessed);
            List <T> entities            = new List <T>();

            foreach (var entity in csvFileReader)
            {
                entities.Add(entity);
            }

            return(await ProcessFinalOutput(filePath, fileInfo, entities, new List <string>(csvFileReader.CSVColumns), true).ContinueWith((finalRecords) =>
            {
                finalOutput = finalRecords.Result;

                //Persitance logic
                //FileItem fileItem = new FileItem { FileName = Path.GetFileNameWithoutExtension(filePath), FileType = typeof(T).FullName, FileData = File.ReadAllBytes(fileToBeReProcessed) };
                //DAOFactory.GetFileItemDAO().SaveFile(fileItem);
            }).ContinueWith((t) =>
            {
                return new FileResult
                {
                    FileName = Path.GetFileNameWithoutExtension(fileToBeReProcessed),
                    FilePath = fileInfo.FullName,
                    NumberOfValidRows = entities.Count,
                    NumberOfErrorRows = 0,
                    TypeOfError = "No Error"
                };
            }));
        }
예제 #4
0
        private void CompareToDataTable(CSVFileReader csvFileReader, DataTable dataTable)
        {
            if (!csvFileReader.MoveToNextLine())
            {
                Assert.AreEqual(0, dataTable.Columns.Count, "Data table should have no columns");
                Assert.AreEqual(0, dataTable.Rows.Count, "Data table should have no rows");
                return;
            }
            List <string> values = csvFileReader.GetValues();

            Assert.AreEqual(dataTable.Columns.Count, values.Count, "The number of columns must be equal");
            foreach (DataColumn column in dataTable.Columns)
            {
                string columnName = column.ColumnName;
                Assert.IsTrue(values.Contains(columnName),
                              String.Format("The column '{0}' does not exist in the csv output.", columnName));
            }
            int counter = 0;

            while (csvFileReader.MoveToNextLine())
            {
                values = csvFileReader.GetValues();
                DataRow dataRow  = dataTable.Rows[counter];
                int     counter2 = 0;
                foreach (string value in values)
                {
                    string dataValue = dataRow[counter2].ToString();
                    Assert.AreEqual(dataValue, value,
                                    String.Format("Csv data value was not as expected at [{0},{1}](base 0).", counter, counter2));
                    counter2++;
                }
                ;
                counter++;
            }
        }
예제 #5
0
        public void MustNotBeZeroLength()
        {
            var systemUnderTest = new CSVFileReader(_mockCalvingFileReader.Object);

            systemUnderTest.DigestFile("");
            Assert.IsTrue(false, "Should not have made here!");
        }
예제 #6
0
        public void Fails()
        {
            var systemUnderTest = new CSVFileReader(_mockCalvingFileReader.Object);

            systemUnderTest.DigestFile(EmptyFile);
            Assert.IsTrue(false, "Should not have made here!");
        }
        public void SimpleWrite_Test()
        {
            List <Shipment> outputData = new List <Shipment>();
            List <Shipment> inputData  = new List <Shipment>();

            using (var csvFile = new CSVFile <Shipment>("Shipment_Output.csv"))
            {
                for (int i = 0; i < 10; i++)
                {
                    var shipment = new Shipment()
                    {
                        PickupDate = DateTime.Now, ShipmentOrigin = "Origin-" + i, ShipmentDestination = "Destination" + i
                    };
                    outputData.Add(shipment);
                    csvFile.Append(shipment);
                }
            }
            var csvFileReader = new CSVFileReader <Shipment>("Shipment_Output.csv");

            foreach (Shipment shipment in csvFileReader)
            {
                inputData.Add(shipment);
            }

            Assert.AreEqual(outputData.Count, 10);
            Assert.AreEqual(inputData.Count, 10);
        }
예제 #8
0
        /// <summary>
        /// Метод для чтения файла и получения результата
        /// </summary>
        /// <param name="filePath">Путь к файлу</param>
        /// <returns>Результат чтения</returns>
        public static ReadFileResult GetResult(string filePath)
        {
            try
            {
                using (FileStream openFileStream = new FileStream(path: filePath, mode: FileMode.Open, access: FileAccess.Read))
                {
                    IFileReader reader;

                    if (filePath.EndsWith(".xls") || filePath.EndsWith(".xlsx"))
                    {
                        reader = new XLSFileReader(openFileStream);
                    }
                    else
                    {
                        reader = new CSVFileReader();
                    }

                    return(reader.GetReadingResult());
                }
            }
            catch (Exception e)
            {
                return(new ReadFileResult(errorMessage: e.Message));
            }
        }
예제 #9
0
    private void Start()
    {
        m_PlayerStatsList = CSVFileReader.Read(m_PlayerCVSFileName + "_" + SceneManager.GetActiveScene().name);

        nMoney = (int)m_PlayerStatsList[0]["Value"];
        nLives = (int)m_PlayerStatsList[1]["Value"];
    }
예제 #10
0
    private void LoadTowerInfo()
    {
        m_TowerInfoList = CSVFileReader.Read(m_NodeCVSFileName);
        for (int i = 0; i < m_TowerInfoList.Count; i++)
        {
            //DB에서 타워 정보 불러옴
            int nId        = (int)m_TowerInfoList[i]["id"];
            int n1Row_Cost = (int)m_TowerInfoList[i]["1Row_IncreaseUpgradeCost"];
            int n2Row_Cost = (int)m_TowerInfoList[i]["2Row_IncreaseUpgradeCost"];

            if (nId == (int)E_TOWERTYPE.E_CANNON)
            {
                m_TowerUpgradeStats.m_nCannonDamageCost      = n1Row_Cost * PlayerPrefs.GetInt("nCannonDamageUpgradeCount", 1);
                m_TowerUpgradeStats.m_nCannonSpeedCost       = n2Row_Cost * PlayerPrefs.GetInt("nCannonSpeedUpgradeCount", 1);
                m_TowerUpgradeStats.m_nBasicCannonDamageCost = n1Row_Cost;
                m_TowerUpgradeStats.m_nBasicCannonSpeedCost  = n2Row_Cost;
            }
            else if (nId == (int)E_TOWERTYPE.E_LASER)
            {
                m_TowerUpgradeStats.m_nLaserDamageCost      = n1Row_Cost * PlayerPrefs.GetInt("nLaserDamageUpgradeCount", 1);
                m_TowerUpgradeStats.m_nLaserSlowCost        = n2Row_Cost * PlayerPrefs.GetInt("nLaserSlowUpgradeCount", 1);
                m_TowerUpgradeStats.m_nBasicLaserDamageCost = n1Row_Cost;
                m_TowerUpgradeStats.m_nBasicLaserSlowCost   = n2Row_Cost;
            }
            else if (nId == (int)E_TOWERTYPE.E_MAGIC)
            {
                m_TowerUpgradeStats.m_nMagicDamageCost      = n1Row_Cost * PlayerPrefs.GetInt("nMagicDamageUpgradeCount", 1);
                m_TowerUpgradeStats.m_nMagicSpeedCost       = n2Row_Cost * PlayerPrefs.GetInt("nMagicSpeedUpgradeCount", 1);
                m_TowerUpgradeStats.m_nBasicMagicDamageCost = n1Row_Cost;
                m_TowerUpgradeStats.m_nBasicMagicSpeedCost  = n2Row_Cost;
            }
        }
    }
예제 #11
0
        private void CompareToDataTable(string csvContents, DataTable dataTable)
        {
            StringReader  stringReader  = new StringReader(csvContents);
            CSVFileReader csvFileReader = new CSVFileReader(stringReader);

            CompareToDataTable(csvFileReader, dataTable);
            csvFileReader.Close();
        }
예제 #12
0
        public void ReadEmptyFile()
        {
            var           mockLogger = new Mock <ILogger <CSVProcessor> >();
            CSVFileReader fileReader = new CSVFileReader(this.logger);

            fileReader.Init(this.folderPath + "TOU_5.csv");
            Assert.DoesNotThrow(() => fileReader.ReadFile());
            Assert.True(fileReader.LinesRead.Count == 0);
        }
예제 #13
0
 private void Start()
 {
     m_NodesCanBuildList = CSVFileReader.Read(m_NodeCVSFileName);
     for (int i = 0; i < m_NodesCanBuildList.Count; i++)
     {
         m_NodesListMGR.transform.GetChild(i).GetComponent <NodeMGR>().SetCanBuildTower(i);
         //Debug.Log("ID : " + m_NodesCanBuildList[i][sData] + "   lv1 : " + m_NodesCanBuildList[i]["lv_1"] + "   lv2 : " + m_NodesCanBuildList[i]["lv_2"]);
     }
 }
예제 #14
0
        public void ReadNonExistingFile()
        {
            var           mockLogger = new Mock <ILogger <CSVProcessor> >();
            CSVFileReader fileReader = new CSVFileReader(this.logger);

            fileReader.Init(this.folderPath + "TOU_51.csv");
            Assert.Throws(typeof(FileNotFoundException), () => fileReader.ReadFile());
            Assert.True(fileReader.LinesRead.Count == 0);
        }
예제 #15
0
        public void TestRead2()
        {
            // Read in file and compare with known results
            CSVFileReader reader  = (CSVFileReader)DataFileReaderFactory.Create(DataFileType.csv);
            List <Signal> signals = reader.Read2("Data\\ExData_20170203_000800.csv");

            Assert.IsNotNull(signals);
            Assert.AreEqual(signals.Count, 8);
            Assert.AreEqual(signals[0].Data.Count, 1800);
        }
예제 #16
0
        static void Main(string[] args)
        {
            string        path       = @"C:\Users\Tytus\Desktop\TASKs\biostats.csv";
            ListCreator   nl         = new ListCreator();
            CSVFileReader fr         = new CSVFileReader();
            var           listToSort = fr.ReadCSVFile(path, nl.CreateList());
            ListSearcher  ls         = new ListSearcher();

            ls.SearchTheList(listToSort);
        }
예제 #17
0
        public void ReadWhenFileNameInvalid()
        {
            var mockLogger = new Mock <ILogger <CSVProcessor> >();


            CSVFileReader fileReader = new CSVFileReader(this.logger);

            fileReader.Init("");
            Assert.Throws(typeof(ArgumentException), () => fileReader.ReadFile());
        }
예제 #18
0
        public override void ReadTickets(string fileName)
        {
            CSVFileReader fr = new CSVFileReader(true);

            fr.readFromFile(fileName);

            var data = fr.Data;

            this.TicketList = ParseContext.DoParseForTickets(data);
        }
예제 #19
0
        private void Application_Startup(object sender, StartupEventArgs e)
        {
            MainWindow = new MainWindow();
            // Inject dependencies
            IDataProvider        dataProvider = new DataCollector();
            IFileReader          fileReader   = new CSVFileReader();
            IUIMainWindowService service      = new MainWindowService(MainWindow);

            MainWindow.DataContext = new MainWindowViewModel(service, fileReader, dataProvider);
            MainWindow.Show();
        }
예제 #20
0
    void FetchPlayerInformations()
    {
        cmsInfos = CSVFileReader.fetchCMSFromFile(cmsTextAsset);
        double hp;

        cmsInfos.movements.TryGetValue("health", out hp);
        health = Mathf.RoundToInt((float)hp);
        healthSlider.maxValue = health;
        healthSlider.value    = health;
        // There is a lot more informations to fetch here such as speed, height, etc..
    }
        public void SimpleRead_Test()
        {
            List <Shipment> shipments     = new List <Shipment>();
            var             csvFileReader = new CSVFileReader <Shipment>("Shipment_Input.csv");

            foreach (Shipment shipment in csvFileReader)
            {
                shipments.Add(shipment);
            }
            Assert.IsNotNull(shipments);
            Assert.AreEqual(shipments.Count + csvFileReader.InvalidEntities.Count, 14);
        }
예제 #22
0
        private List <Earthquake> GetLocations()
        {
            List <Earthquake> quakeData = new List <Earthquake>();
            WebClient         client    = new WebClient();
            Uri    quakeDataURL         = new Uri("http://earthquake.usgs.gov/earthquakes/feed/v0.1/summary/2.5_day.csv");
            string quakeDataFile        = "C:/Users/carmenau/SkyDrive/Book/Code/MvcEarthquakeMap/MvcEarthquakeMap/quake.csv";

            client.DownloadFile(quakeDataURL, quakeDataFile);
            CSVFileReader reader     = new CSVFileReader(quakeDataFile);
            List <string> columns    = new List <String>();
            bool          readHeader = false;

            while (reader.ReadRow(columns))
            {
                Debug.Assert(true);
                if (readHeader)
                {
                    DateTime when = DateTime.Parse(columns[0]);
                    double   lat  = Convert.ToDouble(columns[1]);
                    double   lon  = Convert.ToDouble(columns[2]);
                    Location where = new Location(lat, lon);
                    float  depth     = columns[3] != "" ? Convert.ToSingle(columns[3]) : 0.0f;
                    float  magnitude = columns[4] != "" ? Convert.ToSingle(columns[4]) : 0.0f;
                    string magType   = columns[5];
                    int    nbStation = columns[6] != "" ? Convert.ToInt16(columns[6]) : 0;
                    int    gap       = columns[7] != "" ? Convert.ToInt16(columns[7]) : 0;
                    float  distance  = columns[8] != "" ? Convert.ToSingle(columns[8]) : 0.0f;
                    float  rms       = columns[9] != "" ? Convert.ToSingle(columns[9]) : 0.0f;
                    string source    = columns[10];
                    string eventId   = columns[11];
                    float  version   = columns[12] != "" ? Convert.ToSingle(columns[12]) : 0.0f;
                    quakeData.Add(new Earthquake(when,
                                                 where,
                                                 depth,
                                                 magnitude,
                                                 magType,
                                                 nbStation,
                                                 gap,
                                                 distance,
                                                 rms,
                                                 source,
                                                 eventId,
                                                 version,
                                                 "M " + columns[4]));
                }
                else
                {
                    readHeader = true;
                }
            }

            return(quakeData);
        }
예제 #23
0
    static void Main(string[] args)
    {
        string logFile = "log.txt";

        // delimiter config
        char inFileDelimiter  = ',';
        char inFileEnclosure  = '"';
        char outFileDelimiter = ';';
        char outFileEnclosure = '"';

        using (StreamWriter logWriter = File.AppendText(logFile))
        {
            try
            {
                if (args.Length == 0)
                {
                    throw new Exception("Das Programm benoetigt mindestens eine Eingabe-Datei!");
                }

                foreach (string inFile in args)
                {
                    CSVFile inCsv = CSVFileReader.Open(inFile,
                                                       Encoding.GetEncoding("iso-8859-1"),
                                                       inFileDelimiter,
                                                       inFileEnclosure
                                                       );

                    CSVFile outCsv = CSVFileConverter.Convert(inCsv);

                    string outFile = inFile + ".konvertiert.csv";

                    CSVFileWriter writer = new CSVFileWriter(outFile,
                                                             Encoding.GetEncoding("iso-8859-1"),
                                                             outFileDelimiter,
                                                             outFileEnclosure
                                                             );

                    writer.WriteCsv(outCsv);
                }
            }
            catch (Exception e)
            {
                logWriter.WriteLine(e.ToString());

                Console.WriteLine("Ein Fehler ist aufgetreten. Weitere Informationen befinden sich in der Log-Datei.\n\n> {0}\n", e.Message);
                Console.WriteLine("Enter zum Beenden druecken...");
                Console.ReadLine();
            }
        }
    }
        /// <summary>
        /// Method will proceed ahead with further validation for valid data and ignore invalid records
        /// </summary>
        /// <typeparam name="T">Any type which inherits from validation framework base entity</typeparam>
        /// <param name="filePath">File path, which requires re-processing</param>
        /// <returns>FileResult object</returns>
        public async Task <FileResult> OmitAndIgnoreFormatValidation <T>(string filePath) where T : BaseEntity, new()
        {
            List <T> businessValidationErrors = null;
            List <T> finalOutput = null;
            FileInfo fileInfo    = new FileInfo(filePath);

            string   fileToBeReProcessed = Path.Combine(fileInfo.DirectoryName, Path.GetFileNameWithoutExtension(filePath) + "_Output.csv");
            List <T> entities            = new List <T>();
            var      csvFileReader       = new CSVFileReader <T>(fileToBeReProcessed);

            foreach (var entity in csvFileReader)
            {
                entities.Add(entity);
            }

            var processTask = await ProcessBusinessValidation <T>(filePath, fileInfo, entities, new List <string>(csvFileReader.CSVColumns)).ContinueWith(async(validationErrors) =>
            {
                businessValidationErrors = await validationErrors;
                if (businessValidationErrors.Count != 0)
                {
                    await ProcessFinalOutput(filePath, fileInfo, entities, new List <string>(csvFileReader.CSVColumns), true).ContinueWith(async(finalRecords) =>
                    {
                        finalOutput = await finalRecords;

                        //Now we are having on-demand creation of Zip from UI
                        //CreateZip(filePath);
                    });
                }
                else
                {
                    //If file is passing buiness validation, we send it to data access layer for persistance
                    //FileItem fileItem = new FileItem { FileName = Path.GetFileNameWithoutExtension(filePath), FileType = typeof(T).FullName, FileData = File.ReadAllBytes(filePath) };
                    //DAOFactory.GetFileItemDAO().SaveFile(fileItem);
                }
            });

            return(await processTask.ContinueWith((t) =>
            {
                return new FileResult
                {
                    FileName = Path.GetFileNameWithoutExtension(fileToBeReProcessed),
                    FilePath = fileInfo.FullName,
                    NumberOfValidRows = finalOutput != null ? finalOutput.Count : entities.Count,
                    NumberOfErrorRows = businessValidationErrors != null ? businessValidationErrors.Count : 0,
                    TypeOfError = businessValidationErrors != null && businessValidationErrors.Count > 0 ? "Business Validation" : "No Error"
                };
            }));
        }
예제 #25
0
        public static void TestFruit()
        {
            string path = @"..\..\Fruits.csv";

            List <Fruit>          fruits = new List <Fruit>();
            CSVFileReader <Fruit> myFile = new CSVFileReader <Fruit>(path);


            fruits = myFile.GetData();

            foreach (Fruit f in fruits)
            {
                string lol = $"{f.Nom,-10}|{f.Prix,-10}";
                Console.WriteLine(lol);
            }

            Console.WriteLine("---------------------------");

            Fruit l = new Fruit()
            {
                Nom = "Bernard", Prix = 1000.32, Provenance = "Nord-ouest", Quantite = 150, Inutile = "Wesh"
            };
            Fruit m = new Fruit()
            {
                Nom = "Mangue", Prix = 145, Provenance = "Sud-est", Quantite = 90, Inutile = "Hello there"
            };

            List <Fruit> fl = new List <Fruit>();

            fl.Add(l);
            fl.Add(m);
            myFile.AddData(fl);

            fruits = myFile.GetData();

            foreach (string h in myFile.Headers)
            {
                Console.Write($"{h,-10}|");
            }
            Console.WriteLine();
            Console.WriteLine("----------+----------+----------+----------+");
            foreach (Fruit f in fruits)
            {
                string lol = $"{f.Nom,-10}|{f.Provenance,-10}|{f.Prix,-10}|{f.Quantite,-10}";
                Console.WriteLine(lol);
            }
        }
예제 #26
0
        public static void TestLegume()
        {
            string path = @"..\..\prout\Legumes.csv";

            List <Legumes>          legumes = new List <Legumes>();
            CSVFileReader <Legumes> myFile  = new CSVFileReader <Legumes>(path);


            legumes = myFile.GetData();

            foreach (Legumes f in legumes)
            {
                string lol = $"{f.Nom,-10}|{f.Comestible}";
                Console.WriteLine(lol);
            }

            Console.WriteLine("---------------------------");

            Legumes l = new Legumes()
            {
                Nom = "Bernard", Provenance = "Nord-ouest", Comestible = true
            };
            Legumes m = new Legumes()
            {
                Nom = "Mangue", Provenance = "Sud-est", Comestible = false
            };

            List <Legumes> fl = new List <Legumes>();

            fl.Add(l);
            fl.Add(m);
            myFile.AddData(fl);

            legumes = myFile.GetData();

            foreach (string h in myFile.Headers)
            {
                Console.Write($"{h,-10}|");
            }
            Console.WriteLine();
            Console.WriteLine("----------+----------+----------+----------+");
            foreach (Legumes f in legumes)
            {
                string lol = $"{f.Nom,-10}|{f.Provenance,-10}|{f.Comestible}";
                Console.WriteLine(lol);
            }
        }
예제 #27
0
        private static StringCollection LoadCSVStrings(string directory)
        {
            StringCollection collection = new StringCollection();

            string[] fileList  = Directory.GetFiles(directory); // may need to be made recursive/able to look through child directories when more string directories are added
            var      csvReader = new CSVFileReader();

            foreach (var file in fileList)
            {
                if (file.EndsWith(".csv"))
                {
                    csvReader.ReadCSVFile(file, collection);
                }
            }

            return(collection);
        }
예제 #28
0
        public void CSVFileReader_ShouldWork()
        {
            string[] csvFileNamePath = { " ", " ", "coffee_shops.csv" };

            List <string> actual = CSVFileReader.Read(csvFileNamePath);

            List <string> expected = new List <string> {
                "Starbucks Sibiu Oituz,45.7826201,24.1465759",
                "Starbucks Bucuresti Calea Victoriei,44.4514467,26.0827712",
                "Starbucks Vienna,48.1817174,16.3798455",
                "Starbucks Sibiu Piata Mare,45.7973354,24.1503473",
                "Starbucks Andorra la Vella,42.5080922,1.5291981",
                "Starbucks Cluj Iulius Mall,46.771803,23.6234979"
            };

            Assert.Equal(expected, actual);
        }
예제 #29
0
    private void LoadTowerInfo()
    {
        m_builMGR = TowerBuildMGR.instance;

        m_TowerInfoList = CSVFileReader.Read(m_TowerInfoCVSFileName);
        for (int i = 0; i < m_TowerInfoList.Count; i++)
        {
            //DB에서 타워 정보 불러옴
            int nId = (int)m_TowerInfoList[i]["id"];

            TowerBuildPrint TempTowerBuildPrint = new TowerBuildPrint();
            TempTowerBuildPrint.m_nCost             = (int)m_TowerInfoList[i]["Price_lv1"];
            TempTowerBuildPrint.m_nUpgrageCost      = (int)m_TowerInfoList[i]["Price_lv2"];
            TempTowerBuildPrint.m_nSellPrice        = (int)m_TowerInfoList[i]["Price_Sell_lv1"];
            TempTowerBuildPrint.m_nSellUpgradePrice = (int)m_TowerInfoList[i]["Price_Sell_lv2"];

            if (nId == (int)E_TOWERTYPE.E_CANNON)
            {
                m_CannonTower = TempTowerBuildPrint;

                m_CannonTower.m_prefab        = m_Cannonprefab;
                m_CannonTower.m_Upgradeprefab = m_CannonUpgradeprefab;

                m_CannonPriceTxt.text = m_CannonTower.m_nCost.ToString();
            }
            else if (nId == (int)E_TOWERTYPE.E_LASER)
            {
                m_LaserTower = TempTowerBuildPrint;

                m_LaserTower.m_prefab        = m_Laserprefab;
                m_LaserTower.m_Upgradeprefab = m_LaserUpgradeprefab;

                m_LaserPriceTxt.text = m_LaserTower.m_nCost.ToString();
            }
            else if (nId == (int)E_TOWERTYPE.E_MAGIC)
            {
                m_MagicTower = TempTowerBuildPrint;

                m_MagicTower.m_prefab        = m_Magicprefab;
                m_MagicTower.m_Upgradeprefab = m_MagicUpgradeprefab;

                m_MagicPriceTxt.text = m_MagicTower.m_nCost.ToString();
            }
        }
    }
예제 #30
0
 public async Task <IActionResult> UploadAndProcessFile()
 {
     if (Request.Form.Files[0].Length > 0)
     {
         var    file     = Request.Form.Files[0];
         string fileName = ContentDispositionHeaderValue.Parse(file.ContentDisposition).FileName.Trim('"');
         using (var stream = new StreamReader(file.OpenReadStream()))
         {
             IFileProcessor     fileProcessor    = new CSVFileReader();
             List <STORE_ORDER> processedRecrods = fileProcessor.ReadFile(stream);
             await repository.AddRange(processedRecrods);
         }
         return(Ok("Upload Successful."));
     }
     else
     {
         return(BadRequest("No File Provided"));
     }
 }