コード例 #1
0
ファイル: CsvManager.cs プロジェクト: ovpoddar/Shop
        public Upload Upload(CsvViewModel csv)
        {
            var relativePath = Path.Combine("Userfile", new Random().Next().ToString());
            var fullPath     = Path.Combine(_hosting.WebRootPath, relativePath);

            _csvHandler.StoreCsvAsFile(fullPath, csv.Csv);

            using var stream = new FileStream(fullPath, FileMode.Open);
            var hashValue = _protector.HashMd5(stream);

            if (!_repository.GetAll().Any(p => p.HashName == hashValue))
            {
                _csvHandler.SaveCsv(csv.Csv.FileName, relativePath, hashValue, DateTime.Now.ToString(CultureInfo.InvariantCulture));
                return(new Upload()
                {
                    Path = fullPath,
                    Success = true
                });
            }
            stream.Close();
            _csvHandler.Delete(fullPath);
            return(new Upload()
            {
                Path = null,
                Success = false
            });
        }
コード例 #2
0
        public bool ShowSettingsDialog(string filename, ref ParserSettings settings)
        {
            StreamReader sr = new StreamReader(filename);

            // Assume first line to be titles
            string titleLine = sr.ReadLine();

            CsvViewModel settingsModel = new CsvViewModel(titleLine);
            CsvOpenForm  f             = new CsvOpenForm(settingsModel);

            if (f.ShowDialog().Value)
            {
                settings.Write("Delimiter", CsvViewModel.GetDelimiter(settingsModel.SelectedDelimiter));
                settings.Write("Decimal", CsvViewModel.GetDecimalSeparator(settingsModel.SelectedDecimalSeparator));
                settings.Write("TimeVector", settingsModel.SelectedTimeVector);
                return(true);
            }

            return(false);
        }
コード例 #3
0
        public void UploadTest()
        {
            var file = new CsvViewModel()
            {
                Csv = It.IsAny <IFormFile>(),
            };

            //need to replace the stream
            _webHostEnvironment
            .Setup(e => e.WebRootPath)
            .Returns(It.IsAny <string>())
            .Verifiable();
            _csvHandler
            .Setup(e => e.StoreCsvAsFile(It.IsAny <string>(), It.IsAny <IFormFile>()))
            .Verifiable();
            _csvHandler
            .Setup(e => e.SaveCsv(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>()))
            .Verifiable();
            _csvHandler
            .Setup(e => e.Delete(It.IsAny <string>()))
            .Verifiable();
            _genericRepository
            .Setup(e => e.GetAll())
            .Returns(new List <Csv> {
                new Csv()
                {
                    FileName = "coco", Filepath = "path", HashName = "secratename", Id = 1, UpdateDate = DateAndTime.Now.ToLongDateString()
                }
            }.AsQueryable())
            .Verifiable();
            _protectorHandler
            .Setup(e => e.HashMd5(It.IsAny <Stream>()))
            .Returns(It.IsAny <string>())
            .Verifiable();

            _csvManager.Upload(file);
        }