void ProceedImport() { List <string> paths = _iOutput.FilePathProvider.GetFilePaths(); if (paths.IsNullObj()) { return; } List <FileData> fileDatas = new List <FileData>(); FileTransactionDataProvider provider = new FileTransactionDataProvider(); foreach (string path in paths) { provider.FilePath = path; FileData fileData = provider.GetTransactionData(); fileDatas.Add(fileData); } GetTransactionsAction.Data getTransactionData = new GetTransactionsAction.Data() { FileDatas = fileDatas, Parsers = _import.GetParsers(), }; GetTransactionsAction getTransaction = new GetTransactionsAction(); GetTransactionsAction.Result getTransactionResult = getTransaction.Execute(getTransactionData); var transactions = getTransactionResult.Reports.SelectMany(r => r.Transactions).ToList(); AttachRulesAction.Data attachRulesData = new AttachRulesAction.Data { Transactions = transactions, Categories = _repository.Categories.Item }; AttachRulesAction attachRulesAction = new AttachRulesAction(); attachRulesAction.Execute(attachRulesData); TransactionManager transactionManager = new TransactionManager(); List <TransactionReport> reports = transactionManager.GetMonthReports(transactions); transactionManager.RemoveInternalTransactions(reports); _repository.Reports.Item.Reports = reports; _iOutput.ShowReports(reports); }
public static List <TransactionReport> GetMonthReports() { ImportImpl import = new ImportImpl(); TestDataProvider ingDataProvider = new TestDataProvider(Resources._2018_06_All, "\n"); FileData ingFileData = ingDataProvider.GetTransactionData(); TestDataProvider mobileDataProvider = new TestDataProvider(Resources.czerwiec_2016_Maciek, "\n"); FileData mobileFileData = mobileDataProvider.GetTransactionData(); List <FileData> filedataCollection = new List <FileData>() { ingFileData, mobileFileData }; GetTransactionsAction.Data getTransactionData = new GetTransactionsAction.Data() { Parsers = import.GetParsers(), FileDatas = filedataCollection }; GetTransactionsAction getTransaction = new GetTransactionsAction(); GetTransactionsAction.Result getTransactionResult = getTransaction.Execute(getTransactionData); var allTransactions = getTransactionResult.Reports. SelectMany(r => r.Transactions).ToList(); AttachRulesAction.Data attachRulesData = new AttachRulesAction.Data { Transactions = allTransactions /*Rules = GetTestRules()*/ }; AttachRulesAction attachRulesAction = new AttachRulesAction(); attachRulesAction.Execute(attachRulesData); TransactionManager transactionManager = new TransactionManager(); List <TransactionReport> reports = transactionManager.GetMonthReports(allTransactions); transactionManager.RemoveInternalTransactions(reports); return(reports); }
public void ParseExcelTransactions() { ExcelOutput excel = new ExcelOutput(); excel.Connect(); List <string> names = excel.GetSheetNames(); List <string> checkedNames = names.First().AsList(); if (false) { WinFormDialog dialog = new WinFormDialog(); SelectEntitiesDialogOptions options = new SelectEntitiesDialogOptions() { Caption = "Arkusze", Description = "Wybierz arkusze", Options = names, Checked = checkedNames }; List <string> selectedNames; bool isOk = dialog.ShowSelectEntitiesDialog(options, out selectedNames); if (!isOk) { return; } } List <ITransactionParser> parsers = new List <ITransactionParser>(); parsers.Add(new ExcelSheetParser()); GetExcelTransactionsAction.Data getExcelData = new GetExcelTransactionsAction.Data() { SheetFileNames = checkedNames, Excel = excel, Parsers = parsers }; GetExcelTransactionsAction getExcelAction = new GetExcelTransactionsAction(); GetTransactionsAction.Result result = getExcelAction.Execute(getExcelData); }
void ProceedImportExcel() { List <string> names = _IExcel.GetSheetNames(); List <string> checkedNames = names.ToList(); SelectEntitiesDialogOptions options = new SelectEntitiesDialogOptions() { Caption = "Arkusze", Description = "Wybierz arkusze", Options = names, Checked = checkedNames }; List <string> selectedNames; bool isOk = _iOutput.FileDialog.ShowSelectEntitiesDialog(options, out selectedNames); if (!isOk) { return; } List <ITransactionParser> parsers = _import.GetParsers(); new List <ITransactionParser>(); GetExcelTransactionsAction.Data getExcelData = new GetExcelTransactionsAction.Data() { SheetFileNames = selectedNames, Excel = _IExcel, Parsers = parsers }; GetExcelTransactionsAction getExcelAction = new GetExcelTransactionsAction(); GetTransactionsAction.Result result = getExcelAction.Execute(getExcelData); _repository.Reports.Item.Reports = result.Reports; _iOutput.ShowReports(result.Reports); }