Beispiel #1
0
        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!";
            }
        }
Beispiel #2
0
        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);
            }
        }
Beispiel #6
0
        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!";
            }
        }