public ButtonCommands(string buttonContent, ImportMainPage importPage) { this.buttonContent = buttonContent; this.importPage = importPage; this.importPage.PropertyChanged += new PropertyChangedEventHandler(test_PropertyChanged); }
public ExportTransactions(List <Transaction> transactions, MainWindow mainWindow, string currentFileName) { this.mainWindow = mainWindow; MessageBox.Show("Exporting data from: " + currentFileName, "", MessageBoxButton.OK); //BUT FIRST - check if the transaction is already exported or not List <Transaction> neededTransactions = newTransactions(transactions); SavedTransactions.addToSavedTransactions(neededTransactions);//adding the freshyl imported transactions to the saved WriteWorkbook = excel.Workbooks.Open(@"C:\Users\Tocki\Desktop\Kimutatas.xlsx"); WriteWorksheet = WriteWorkbook.Worksheets[1]; if (neededTransactions != null) { string todaysDate = DateTime.Now.ToString("yyyy-MM-dd"); int row_number = 1; while (WriteWorksheet.Cells[row_number, 1].Value != null) { row_number++; // get the current last row } foreach (var transctn in neededTransactions) { WriteWorksheet.Cells[row_number, 1].Value = todaysDate; WriteWorksheet.Cells[row_number, 2].Value = transctn.getTransactionDate(); WriteWorksheet.Cells[row_number, 3].Value = transctn.getBalance_rn(); WriteWorksheet.Cells[row_number, 7].Value = transctn.getTransactionPrice(); if (transctn.getTransactionPrice() < 0) { WriteWorksheet.Cells[row_number, 9].Value = transctn.getTransactionPrice(); WriteWorksheet.Cells[row_number, 11].Value = transctn.getTransactionPrice(); WriteWorksheet.Cells[row_number, 15].Value = "havi"; } else { WriteWorksheet.Cells[row_number, 8].Value = transctn.getTransactionPrice(); WriteWorksheet.Cells[row_number, 10].Value = transctn.getTransactionPrice(); WriteWorksheet.Cells[row_number, 11].Value = transctn.getTransactionPrice(); WriteWorksheet.Cells[row_number, 15].Value = "havi"; } WriteWorksheet.Cells[row_number, 14].Value = transctn.getTransactionDescription(); WriteWorksheet.Cells[row_number, 16].Value = transctn.getAccountNumber(); row_number++; Range line = (Range)WriteWorksheet.Rows[row_number]; line.Insert(); } try { //WriteWorkbook.SaveAs(@"C:\Users\Tocki\Desktop\Kimutatas.xlsx"); excel.ActiveWorkbook.Save(); excel.Workbooks.Close(); excel.Quit(); } catch (Exception e) { } ImportMainPage.getInstance(mainWindow).getUserStatistics(importerAccountNumber); } else { return; } }
public static ImportMainPage getInstance(MainWindow mainWindow) { if (instance == null) { instance = new ImportMainPage(mainWindow); } return(instance); }
public void Execute(object parameter) { mainWindow.tableDock.Background = new SolidColorBrush(Color.FromRgb(217, 133, 59)); mainWindow.importDock.Background = new SolidColorBrush(Color.FromRgb(217, 133, 59)); mainWindow.stockChartDock.Background = new SolidColorBrush(Color.FromRgb(217, 133, 59)); mainWindow.tableMenuTop.Visibility = System.Windows.Visibility.Hidden; mainWindow.importMenuTop.Visibility = System.Windows.Visibility.Hidden; mainWindow.portfolioMenuTop.Visibility = System.Windows.Visibility.Hidden; if (buttonContent.Equals("Import")) { mainWindow.MainFrame.Content = ImportMainPage.getInstance(mainWindow); mainWindow.importMenuTop.Visibility = System.Windows.Visibility.Visible; mainWindow.importDock.Background = new SolidColorBrush(Color.FromRgb(198, 61, 15)); } else if (buttonContent.Equals("Database")) { mainWindow.MainFrame.Content = TransactionMain.getInstance(mainWindow, mainWindow.getTableAttributes(), mainWindow.getAccounNumber()); mainWindow.tableMenuTop.Visibility = System.Windows.Visibility.Visible; mainWindow.tableDock.Background = new SolidColorBrush(Color.FromRgb(198, 61, 15)); } else if (buttonContent.Equals("stockMarketData")) { if (mainWindow.webStockStopwatch.Elapsed == TimeSpan.FromMilliseconds(0)) { mainWindow.webStockStopwatch.Start(); StockChart stockChart = new StockChart(); //stockChart.getNewStockData(); //stockChart.refreshChartAttributes(); mainWindow.MainFrame.Content = stockChart; mainWindow.portfolioMenuTop.Visibility = System.Windows.Visibility.Visible; mainWindow.stockChartDock.Background = new SolidColorBrush(Color.FromRgb(198, 61, 15)); } else { if (mainWindow.webStockStopwatch.Elapsed <= TimeSpan.FromMinutes(1.5)) { MessageBox.Show("Please wait for " + (TimeSpan.FromMinutes(1.5) - mainWindow.webStockStopwatch.Elapsed) + " seconds!"); } else { mainWindow.webStockStopwatch.Stop(); mainWindow.webStockStopwatch.Reset(); } } } else if (buttonContent.Equals("Exit")) { mainWindow.Close(); } }
private List <Transaction> newTransactions(List <Transaction> importedTransactions) //check if the transaction is already exported or not { List <Transaction> savedTransactions = SavedTransactions.getSavedTransactions(); List <Transaction> neededTransactions = new List <Transaction>(); importerAccountNumber = importedTransactions[0].getAccountNumber();//account number is the same for all ThreadStart threadStart = delegate { writeAccountNumberToSql(importerAccountNumber); }; Thread sqlThread = new Thread(threadStart); sqlThread.IsBackground = true; sqlThread.Start(); sqlThread.Join(); mainWindow.setAccountNumber(importerAccountNumber); if (savedTransactions.Count != 0)//if the export file was not empty we scan the list { List <Transaction> tempTransactions = new List <Transaction>(); foreach (var saved in savedTransactions) { //egy külön listába tesszük azokat az elemeket a már elmentet tranzakciókból ahol a bankszámlaszám //megegyezik az importálandó bankszámlaszámmal if (saved.getAccountNumber().Equals(importerAccountNumber)) { tempTransactions.Add(saved); } } if (tempTransactions.Count != 0)//ha van olyan már elmentett tranzakció aminek az a bankszámlaszáma mint amit importálni akarunk { int explicitImported = 0; StreamWriter logFile = new StreamWriter("C:\\Users\\Tocki\\Desktop\\transactionsLog.txt", append: true); foreach (var imported in importedTransactions) { bool redundant = false; foreach (var saved in tempTransactions) { if (saved.getTransactionDate().Equals(imported.getTransactionDate()) && saved.getTransactionPrice().Equals(imported.getTransactionPrice()) && saved.getBalance_rn() == imported.getBalance_rn()) { redundant = true; if (ImportMainPage.getInstance(mainWindow).alwaysAsk == true) { if (MessageBox.Show("This transaction is most likely to be in the Databse already!\n -- Transaction date: " + imported.getTransactionDate() + "\n-- Transaction price: " + imported.getTransactionPrice() + "\n-- Imported on: " + saved.getWriteDate().Substring(0, 12) + "\nWould you like to import it anyways?", "Imprt alert!", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes) { neededTransactions.Add(imported); explicitImported++; logFile.WriteLine("AccountNumber: " + imported.getAccountNumber() + "\n ImportDate: " + imported.getTransactionDate() + "\n TransactionPrice: " + imported.getTransactionPrice() + " *"); } } break; } } if (redundant == false) { neededTransactions.Add(imported);; } } logFile.Close(); /* * if(neededTransactions.Count==0) * { * //mainWindow.setTableAttributes(savedTransactions, importerAccountNumber); * //only pass the saved transactions because we didn't add new * //and the accountNumber so we can select it by user * } * else * { * //we pass both the saved and the new transcations * List<Transaction> savedAndImported=new List<Transaction>(); * * //tempTrancations containts saved Transactions where the accountnumber matches with the imported Transactions * foreach (var attribue in tempTransactions) * { * savedAndImported.Add(attribue); * } * foreach (var attribue in neededTransactions) * { * savedAndImported.Add(attribue); * } * //mainWindow.setTableAttributes(savedAndImported,true); * } */ if (MessageBox.Show("You have imported " + neededTransactions.Count + " new transaction(s)!\n" + "(" + (tempTransactions.Count - explicitImported) + " was already imported)", "Import alert!", MessageBoxButton.OK, MessageBoxImage.Information) == MessageBoxResult.OK) { return(neededTransactions); } return(neededTransactions); } else //nincs olyan elmentett tranzakció aminek az lenne a bankszámlaszáma mint amit importálni akarunk //tehát az összeset importáljuk { //mainWindow.setTableAttributes(importedTransactions,"empty"); if (MessageBox.Show("You have imported " + importedTransactions.Count + " new transaction(s)!\n", "Import alert!", MessageBoxButton.OK, MessageBoxImage.Information) == MessageBoxResult.OK) { return(importedTransactions); } return(importedTransactions); } } else // még nincs elmentett tranzakció // tehát az összeset importáljuk { //mainWindow.setTableAttributes(importedTransactions,"empty"); if (MessageBox.Show("You have imported " + importedTransactions.Count + " new transaction(s)!\n", "Import alert!", MessageBoxButton.OK, MessageBoxImage.Information) == MessageBoxResult.OK) { return(importedTransactions); } return(importedTransactions); } }