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 }); }
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); }
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); }