示例#1
0
        public void loadAll()
        {
            if (SavGremlin.Properties.Settings.Default.Categories != null)
            {
                foreach (String cat in SavGremlin.Properties.Settings.Default.Categories)
                {
                    SavingsCategoryControl tmp = new SavingsCategoryControl();

                    tmp.newTransactionButton.Click += new EventHandler(this.onNewTransaction);
                    tmp.savData = SavingsCategory.inflateFromString(cat);
                    tmp.refreshViews();
                    tmp.Dock = DockStyle.Left;
                    savingsCategoryPanel.Controls.Add(tmp);
                }
            }

            if (SavGremlin.Properties.Settings.Default.Accounts != null)
            {
                foreach (String cat in SavGremlin.Properties.Settings.Default.Accounts)
                {
                    SavingsAccountControl tmp = new SavingsAccountControl();

                    tmp.addButton.Click += new EventHandler(this.onNewAccountAddition);
                    tmp.data             = SavingsAccount.inflateFromString(cat);
                    tmp.refreshViews();
                    tmp.Dock = DockStyle.Left;
                    accountsPanel.Controls.Add(tmp);
                }
            }
        }
        private void createButton_Click(object sender, EventArgs e)
        {
            // Add the new category to the saved categories
            newCategory = new SavingsCategory();

            newCategory.name = nameBox.Text;
            newCategory.percentageMonthly = Convert.ToDecimal(monthlyPercentageBox.Text) * (Decimal).01;
            newCategory.goal         = Convert.ToInt32(goalBox.Text);
            newCategory.currentValue = Convert.ToDecimal(currentValueBox.Text);

            newCategory.transactions = new List <Transaction>();

            this.DialogResult = DialogResult.OK;
        }
        /// <summary>
        /// Aggregates data month wise
        /// </summary>
        /// <param name="timePeriod"></param>
        /// <param name="userDataID"></param>
        /// <param name="hasCategory"></param>
        /// <param name="categoryID"></param>
        /// <returns></returns>
        public List <SavingsCategory> GetExpenseDataCategoryWise(string timePeriod, int userDataID, bool hasCategory, int categoryID, int year)
        {
            List <SavingsCategory> savingsCategories = new List <SavingsCategory>();
            List <MonthlySaving>   monthlySavingData = new List <MonthlySaving>();
            int month = timePeriod.Equals("CurrentMonth") ? DateTime.UtcNow.Month : timePeriod.Equals("PreviousMonth") ? DateTime.UtcNow.Month - 1 : 0;

            if (month != 0)
            {
                if (hasCategory && categoryID != 0)
                {
                    var expensedata = from m in db.MonthlySavings
                                      where m.UserDataID == userDataID &&
                                      m.CategoryID == categoryID &&
                                      m.CurrentMonth == month &&
                                      m.CurrentYear == year
                                      select m;
                    monthlySavingData = expensedata.ToList();
                }
                else
                {
                    var expensedata = from m in db.MonthlySavings
                                      where m.UserDataID == userDataID &&
                                      m.CurrentMonth == month &&
                                      m.CurrentYear == year
                                      select m;
                    monthlySavingData = expensedata.ToList();
                }
                if (monthlySavingData.Any())
                {
                    foreach (var item in monthlySavingData)
                    {
                        SavingsCategory saving = new SavingsCategory();

                        saving.Category = db.Categories.Where(c => c.CategoryID == item.CategoryID).FirstOrDefault().CategoryName;
                        saving.Amount   = item.Amount;
                        savingsCategories.Add(saving);
                    }
                }
            }
            return(savingsCategories);
        }