private void CategoryDialogClosing(object sender, RoutedEventArgs e)
        {
            DialogClosingEventArgs eventArgs = (DialogClosingEventArgs)e;

            if (eventArgs.Parameter.Equals(false))
            {
                return;
            }

            if (!string.IsNullOrWhiteSpace(ProfitUC.UserControl.CategoryText.Text))
            {
                using (var ctx = new UserContext())
                {
                    ProfitCategory category = new ProfitCategory()
                    {
                        name = ProfitUC.UserControl.CategoryText.Text
                    };
                    ctx.ProfitCategories.Add(category);
                    ctx.SaveChanges();
                    _ProfitCategories = _ProfitCategories.Concat(new[] { category });
                    PropChanged("Categories");
                }
            }
        }
示例#2
0
        public MainWindow()
        {
            InitializeComponent();
            this.DataContext = this;
            this.WindowState = WindowState.Maximized;

            using (var ctx = new UserContext())
            {
                loggedUser = ctx.Properties.Where(p => p.key == PropertyConstants.LOGGED_USER).SingleOrDefault();
                if (string.IsNullOrWhiteSpace(loggedUser.value))
                {
                    new Login().Show();
                    this.Close();
                    return;
                }

                user = ctx.Users.Where(u => u.username.Equals(loggedUser.value)).Single();
                expenseCategories = new List <ExpenseCategory>(ctx.ExpenseCategories.ToList());
                profitCategories  = new List <ProfitCategory>(ctx.ProfitCategories.ToList());

                activities        = new List <Activity>();
                profitActivities  = new List <Activity>();
                expenseActivities = new List <Activity>();

                foreach (Profit profit in ctx.Profits.Where(p => p.user_id == user.id).OrderBy(p => p.date))
                {
                    ProfitCategory profitCategory = ctx.ProfitCategories.Where(p => p.id == profit.category_id).SingleOrDefault();
                    profitActivities.Add(new Activity()
                    {
                        dateTime = profit.date, amount = profit.amount, type = Constants.PROFIT, category = profitCategory.name
                    });
                }

                foreach (Expense expense in ctx.Expenses.Where(e => e.user_id == user.id).OrderBy(e => e.date))
                {
                    ExpenseCategory expenseCategory = ctx.ExpenseCategories.Where(e => e.id == expense.category_id).SingleOrDefault();
                    expenseActivities.Add(new Activity()
                    {
                        dateTime = expense.date, amount = expense.amount, type = Constants.EXPENSE, category = expenseCategory.name
                    });
                }

                activities.AddRange(profitActivities);
                activities.AddRange(expenseActivities);
                activities     = activities.OrderBy(a => a.dateTime).ToList();
                profitExpenses = activities;
            }

            typeList = new List <string>()
            {
                Constants.ALL_DATA,
                Constants.PROFIT,
                Constants.EXPENSE
            };

            allList = new List <string>()
            {
                Constants.ALL_DATA
            };

            periodList = new List <string>()
            {
                Constants.ALL_DATA,
                Constants.PERIOD_DAY,
                Constants.PERIOD_MONTH,
                Constants.PERIOD_YEAR
            };

            categoryList = allList;

            SelectedType     = Constants.ALL_DATA;
            SelectedCategory = Constants.ALL_DATA;
            SelectedPeriod   = Constants.ALL_DATA;

            chartData(activities, activities);

            showDataButton = new RelayCommand(ShowData, p => true);
            document       = new RelayCommand(ShowDocument, p => true);
        }