public void SaveContacts(TextBox[] contactsTextBox, RadioButtons[] radioButtons)
        {
            for (int i = 0; i < contactsTextBox.Length; i++)
            {
                var contact     = contactsTextBox[i].Text;
                var checkedType = radioButtons[i].Controls.OfType <RadioButton>()
                                  .FirstOrDefault(r => r.Checked);
                if (contact.Trim() == "" || checkedType == null)
                {
                    MessageBox.Show(@"Please fill all the fields for contact : " + (i + 1), @"Error", MessageBoxButtons.OK,
                                    MessageBoxIcon.Error);
                    return;
                }

                using (var dbEntities = new ExpenseTrackerDBEntities())
                {
                    dbEntities.Contacts.Add(new Contact()
                    {
                        contactType = checkedType.Text,
                        contactName = contact.Trim()
                    });
                    dbEntities.SaveChanges();
                }
            }
            MessageBox.Show(@"Contacts Are Successfully Added", @"Success", MessageBoxButtons.OK);
        }
        public void Save(string transactionName, int value, string description, DateTime dateTime,
                         RadioButton checkedType, RadioButton checkedRecurringOption, Contact contact, int id)
        {
            using (var dbEntities = new ExpenseTrackerDBEntities())
            {
                Transaction transaction = new Transaction()
                {
                    UsersId         = MainView.user.Id,
                    transactionId   = id,
                    date            = dateTime,
                    transactionName = transactionName,
                    description     = description,
                    value           = value,
                    transactionType = checkedType.Text,
                    isRecurring     = checkedRecurringOption.Text,
                    ContactId       = contact.contactId
                };
                if (id == 0)
                {
                    dbEntities.Transactions.Add(transaction);
                }
                else
                {
                    dbEntities.Entry(transaction).State = EntityState.Modified;
                }

                dbEntities.SaveChanges();
            }
        }
 public List <Transaction> GetMonthlyExpenses()
 {
     using (ExpenseTrackerDBEntities dbEntities = new ExpenseTrackerDBEntities())
     {
         var dateTime      = DateTime.Now.AddDays(-31);
         var todayDateTime = DateTime.Now;
         return(dbEntities.Transactions.Where(r => todayDateTime > r.date && r.date > dateTime).ToList <Transaction>());
     }
 }
예제 #4
0
 void PopulateTransactionsDataGridView()
 {
     dataGridTransactions.AutoGenerateColumns = false;
     using (ExpenseTrackerDBEntities dbEntities = new ExpenseTrackerDBEntities())
     {
         var q = from t1 in dbEntities.Transactions
                 join t2 in dbEntities.Contacts on t1.ContactId equals t2.contactId
                 select new { t1.transactionId, t1.transactionName, t1.date, t1.description, t1.isRecurring, t1.transactionType, t1.UsersId, t1.value, t2.contactName, t2.contactId };
         dataGridTransactions.DataSource = q.ToList();
     }
 }
예제 #5
0
 public bool VerifyLogin(String username, String password)
 {
     using (ExpenseTrackerDBEntities et = new ExpenseTrackerDBEntities())
     {
         User user = et.Users.FirstOrDefault(r => r.username == username && r.password == password);
         if (user != null)
         {
             MainView mainView = new MainView(user);
             mainView.Show();
             return(true);
         }
         else
         {
             return(false);
         }
     }
 }
예제 #6
0
        private void TransactionForm_Load(object sender, EventArgs e)
        {
            using (var dbEntity = new ExpenseTrackerDBEntities())
            {
                _payers = dbEntity.Contacts.Where(r => r.contactType == "Payer").ToList <Contact>();
                _payees = dbEntity.Contacts.Where(r => r.contactType == "Payee").ToList <Contact>();
                if (_payees.Count == 0 || _payers.Count == 0)
                {
                    MessageBox.Show("Please add payers and payees via the contact list", "Warning",
                                    MessageBoxButtons.OK,
                                    MessageBoxIcon.Exclamation);
                }
            }


            PopulateTransactionsDataGridView();
            Clear();
        }
예제 #7
0
        private void dataGridTransactions_DoubleClick(object sender, EventArgs e)
        {
            if (dataGridTransactions.CurrentRow.Index != -1)
            {
                _transaction.transactionId = Convert.ToInt32(dataGridTransactions.CurrentRow.Cells["transactionId"].Value);
                id = _transaction.transactionId;
                int contactId = Convert.ToInt32(dataGridTransactions.CurrentRow.Cells["contactId"].Value);
                using (ExpenseTrackerDBEntities dbEntities = new ExpenseTrackerDBEntities())
                {
                    _transaction        = _transactionController.GetTransaction(dbEntities, _transaction);
                    txtName.Text        = _transaction.transactionName;
                    txtDescription.Text = _transaction.description;
                    txtValue.Text       = _transaction.value.ToString();
                    if (_transaction.isRecurring == "Yes")
                    {
                        rbtYes.Checked = true;
                    }
                    else
                    {
                        rbtNo.Checked = true;
                    }

                    if (_transaction.transactionType == "Income")
                    {
                        btnIncome.Checked = true;
                        int index = _payers.IndexOf(_payers.Find(r => r.contactId == contactId));
                        income_Combo();
                        cmbBoxContacts.SelectedIndex = index;
                    }
                    else if (_transaction.transactionType == "Expense")
                    {
                        btnExpense.Checked = true;
                        int index = _payees.IndexOf(_payees.Find(r => r.contactId == contactId));
                        expense_Combo();
                        cmbBoxContacts.SelectedIndex = index;
                    }


                    btnSubmit.Text = "Update";
                }
            }
        }
 public Transaction GetTransaction(ExpenseTrackerDBEntities dbEntities, Transaction transaction)
 {
     return(dbEntities.Transactions.Where(x => x.transactionId == transaction.transactionId).FirstOrDefault());
 }