public IEnumerable <ImportedBankTransaction> ImportTransactions(TransactionsFile transactionsFile, int lastOrder) { var fileText = transactionsFile.ReadFromUtf8(); if (!fileText.StartsWith("Zestawienie transakcji")) { return(Enumerable.Empty <ImportedBankTransaction>()); } logger.LogInformation("Importing csv by IDEA Bank importer"); return(fileText.Split('\n') .GetAllLinesExceptFirstTwo() .Reverse() .Select(line => line.SplitCsv() .ToArray()) .Select(Import) .OnlyExistsingTransactions() .AssignOrder(lastOrder)); }
public IEnumerable <ImportedBankTransaction> ImportTransactions(TransactionsFile transactionsFile, int lastOrder) { var fileText = transactionsFile.ReadFromWindows1250Encoding(); if (!fileText.StartsWith("\"Data operacji\"")) { return(Enumerable.Empty <ImportedBankTransaction>()); } logger.LogInformation("Importing csv by PKO BP importer"); return(fileText.Split('\n') .GetAllLinesExceptFirst() .Reverse() .Select(line => line.SplitCsv() .RemoveWhitespacesAndQuotes() .RemoveEmptyEntries() .ToArray()) .Select(Import) .OnlyExistsingTransactions() .AssignOrder(lastOrder)); }
public IEnumerable <ImportedBankTransaction> ImportTransactions(TransactionsFile transactionsFile, int lastOrder) { var fileText = transactionsFile.ReadFromWindows1250Encoding(); if (!fileText.StartsWith("\"Lista transakcji\"")) { return(Enumerable.Empty <ImportedBankTransaction>()); } logger.LogInformation("Importing csv by ING importer"); return(fileText.Split('\n') .RemoveEverythingBeforeHeaderWithHeaderIncluded() .Reverse() .RemoveEmptyEntries() .Select(line => line.SplitCsv() .RemoveWhitespacesAndQuotes() .ToArray()) .ImportBy(typeImporters) .OnlyExistsingTransactions() .OrderBy(o => o.TransactionDate) .AssignOrder(lastOrder)); }
public ImportCommand(Guid userId, TransactionsFile transactionsFile) { UserId = userId; TransactionsFile = transactionsFile; }
private async Task <TransactionsFile> ReadStream(IFormFile file) { await using var stream = file.OpenReadStream(); return(await TransactionsFile.CreateFromStream(stream)); }