private void getUserStatistics(User currentUser) { int numberOfTransactions = 0; int totalIncome = 0; int totalSpendings = 0; string latestImportDate = ""; string todaysDate = DateTime.Now.ToString("yyyy-MM-dd"); DateTime todayDate = Convert.ToDateTime(todaysDate); usernameLabel.Content = currentUser.getUsername(); foreach (var transactions in SavedTransactions.getSavedTransactions()) { if (transactions.getAccountNumber().Equals(currentUser.getAccountNumber())) { numberOfTransactions++; latestImportDate = transactions.getWriteDate();//always overwrites it --- todo (more logic needed lulz) if (transactions.getTransactionPrice() > 0) { totalIncome += transactions.getTransactionPrice(); } else { totalSpendings += transactions.getTransactionPrice(); } } } if (latestImportDate.Length > 12) { lastImportDateLabel.Content = latestImportDate.Substring(0, 12); } else { lastImportDateLabel.Content = latestImportDate; } noTransactionsLabel.Content = numberOfTransactions; DateTime importDate; if (latestImportDate.Length > 0) { importDate = Convert.ToDateTime(latestImportDate); float diffTicks = (todayDate - importDate).Days; if (diffTicks >= 30) { urgencyLabel.Content = "Recommended!"; urgencyLabel.Foreground = new SolidColorBrush(Color.FromRgb(217, 30, 24)); mainWindow.exclamImage.Visibility = System.Windows.Visibility.Visible; } else { urgencyLabel.Content = "Not urgent"; urgencyLabel.Foreground = new SolidColorBrush(Color.FromRgb(46, 204, 113)); mainWindow.exclamImage.Visibility = System.Windows.Visibility.Hidden; } } else { urgencyLabel.Content = "You haven't imported yet!"; lastImportDateLabel.Content = "You haven't imported yet!"; } }
public void setTableAttributes() { if (TransactionTableXAML != null) { TransactionTableXAML.Items.Clear(); } List <Transaction> _tableAttribues = SavedTransactions.getSavedTransactions(); if (_tableAttribues != null) { tableAttributes = _tableAttribues; foreach (var transaction in _tableAttribues) { if (transaction.getWriteDate() != null && transaction.getWriteDate().Length >= 12) { transaction.setWriteDate(transaction.getWriteDate().Substring(0, 12)); } else { transaction.setWriteDate(DateTime.Now.ToString("yyyy/MM/dd")); } } addAtribuesToTable(); } }
private TransactionMain(MainWindow mainWindow, List <Transaction> tableAttribues, String accountNumber) { this.DataContext = this; InitializeComponent(); if (TransactionTableXAML != null) { TransactionTableXAML.Items.Clear(); } if (tableAttribues != null && tableAttribues != this.tableAttribues) { foreach (var transaction in tableAttribues) { if (transaction.getWriteDate() != null && transaction.getWriteDate().Length >= 12) { transaction.setWriteDate(transaction.getWriteDate().Substring(0, 12)); } else { transaction.setWriteDate(DateTime.Now.ToString("yyyy/MM/dd")); } } } else if (tableAttribues == null) { foreach (var transaction in SavedTransactions.getSavedTransactions()) { if (transaction.getWriteDate() != null && transaction.getWriteDate().Length != 12) { transaction.setWriteDate(transaction.getWriteDate().Substring(0, 12)); } else { transaction.setWriteDate(DateTime.Now.ToString("yyyy/MM/dd")); } } } if ((this.tableAttribues != tableAttribues) && (tableAttribues != null)) { this.tableAttribues = tableAttribues; if (accountNumber.Equals("")) { addAtribuesToTable(); //we have imported and saved files in this case //the accountNumber is already matching } else { addAtribuesToTable(accountNumber); } } else { addAtribuesToTable(accountNumber); } }
private void addAtribuesToTable(String accountNumber) { if (accountNumber.Equals("empty"))//only imported files { foreach (var attribute in tableAttribues) { TransactionTableXAML.Items.Add(attribute); } } else { foreach (var attribute in SavedTransactions.getSavedTransactions()) { if (attribute.getAccountNumber().Equals(accountNumber))//only saved files { TransactionTableXAML.Items.Add(attribute); } } } }
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); } }
public void getUserStatistics(string accountNumber) { urgencyLabel.Foreground = new SolidColorBrush(Color.FromRgb(0, 0, 0)); int totalIncome = 0; int totalSpendings = 0; int numberOfTransactions = 0; string lastImportDate = ""; string todaysDate = DateTime.Now.ToString("yyyy-MM-dd"); DateTime todayDate = Convert.ToDateTime(todaysDate); usernameLabel.Content = "Test"; foreach (var transactions in SavedTransactions.getSavedTransactions()) { if (transactions.getAccountNumber().Equals(accountNumber)) { numberOfTransactions++; lastImportDate = transactions.getWriteDate();//always overwrites it --- todo (more logic needed lulz) if (transactions.getTransactionPrice() > 0) { totalIncome += transactions.getTransactionPrice(); } else { totalSpendings += transactions.getTransactionPrice(); } } } if (lastImportDate == null) { lastImportDate = DateTime.Now.ToString("yyyy-MM-dd"); } if (lastImportDate.Length > 12) { lastImportDateLabel.Content = lastImportDate.Substring(0, 12); } else { lastImportDateLabel.Content = lastImportDate; } noTransactionsLabel.Content = numberOfTransactions; if (lastImportDate.Length > 0) { DateTime importDate = Convert.ToDateTime(lastImportDate); int diffDays = (todayDate - importDate).Days; if (diffDays >= 30) { urgencyLabel.Content = "Recommended!"; urgencyLabel.Foreground = new SolidColorBrush(Color.FromRgb(217, 30, 24)); } else { urgencyLabel.Content = "Not urgent"; urgencyLabel.Foreground = new SolidColorBrush(Color.FromRgb(46, 204, 113)); } } else { urgencyLabel.Content = "You haven't imported yet!"; lastImportDateLabel.Content = "You haven't imported yet!"; } }