public override void Upload(ICsvData data) { //todo test avc upload logic if (DataProps.ContainsKey("FTPAddr")) { var ftp = DataProps["FTPAddr"]; if (!string.IsNullOrEmpty(ftp)) { var datafile = $"{DateTime.Now.ToString("yyyyMMdd")}.csv"; if (!File.Exists(Path.Combine(ftp, datafile))) { using (var fs = new FileStream(datafile, FileMode.Create)) { using (var sw = new StreamWriter(fs, Encoding.UTF8)) { sw.WriteLine(data.CsvHeaders()); } } } using (var fs = new FileStream(datafile, FileMode.Append)) { using (var sw = new StreamWriter(fs, Encoding.UTF8)) { sw.WriteLine(data.CsvValues()); } } } } }
public override void Upload(ICsvData data) { //todo add cm upload logic return; }
public async Task Generate() { // Arrange var mockConfiguration = this.mockRepository.Create <IConfiguration>(); var mockInputConfig = this.mockRepository.Create <IInputConfig>(); var mockOutputConfig = this.mockRepository.Create <IOutputConfig>(); //config mockInputConfig.Setup(x => x.delimiter).Returns(';'); mockOutputConfig.Setup(x => x.delimiter).Returns('#'); //configuration mockConfiguration .Setup(x => x.input) .Returns(() => mockInputConfig.Object); mockConfiguration .Setup(x => x.output) .Returns(() => mockOutputConfig.Object); var helper = new Helper(null, null, null, mockConfiguration.Object); ICsvData data = helper.ConvertData(System.IO.File.ReadAllLines($"{Directory.GetCurrentDirectory()}/files/myCSV.csv")); // Act var result = await helper.Generate(data); // Assert //Campos var i = 0; foreach (var item in data.GetLines().First().Keys) { var val = result.Data[0].Split(mockOutputConfig.Object.delimiter)[i++]; Assert.IsTrue(item == val); } i = 0; foreach (var line in data.GetLines()) { i++; var j = 0; foreach (var item in line) { var val = result.Data[i].Split(mockOutputConfig.Object.delimiter)[j++]; Assert.IsTrue(item.Value == val); } } }
public async Task False() { // Arrange var csvRule = new CsvRule(x => false); ICsvData obj = null; // Act var result = await csvRule.Check(obj); // Assert Assert.False(result); }
private void OutputDownloadData(ICsvData downloadData) { // 表示してみる string loggerString = string.Empty; foreach (var row in downloadData.Data) { loggerString += "===================\n"; loggerString += $"Key: {row.Key}\n"; foreach (var column in row.Value) { loggerString += $"{column.Key}: {column.Value}\n"; } loggerString += "===================\n"; } Debug.Log(loggerString); }
public async Task <IResult> Generate(ICsvData data) { string[] lines = null; List <ErrorLine> errors = null; if (this.Config == null) { throw new ArgumentException("Config can not be null"); } foreach (var item in DataRules) { try { await item.Check(data); } catch (Exception oEx) { errors = errors ?? new List <ErrorLine>(); errors.Add(new ErrorLine(oEx.Message)); } } if (errors == null) { long i = 0; var resultLines = new List <ICsvLine>(); foreach (var line in data.GetLines()) { foreach (var item in LineRules) { try { await item.Check(line); } catch (Exception oEx) { errors = errors ?? new List <ErrorLine>(); errors.Add(new ErrorLine(oEx.Message, i)); } } foreach (var item in Actions) { await Task.Run(() => { try { item(line); } catch (Exception oEx) { errors = errors ?? new List <ErrorLine>(); errors.Add(new ErrorLine(oEx.Message, i)); } }); } i++; resultLines.Add(line); } lines = DataToString(data.Keys, resultLines, errors, Config.output); } return(new Result { Data = lines, Errors = errors?.OrderBy(x => x.Index).Select(x => x.ToString()).ToArray() }); }
public ClaimController(ICsvData csv) { csvData = csv; }
public virtual void Upload(ICsvData data) { }
public WeatherForecastController(ILogger <WeatherForecastController> logger, ICsvData csv) { _logger = logger; csvData = csv; }