Exemple #1
0
 public static User GetUser(int UserID)
 {
     using (var db = new DB.MoneyLoverDB())
     {
         return(db.Users.Find(UserID));
     }
 }
Exemple #2
0
        public PassBook()
        {
            InitializeComponent();
            using (var db = new DB.MoneyLoverDB())
            {
                passBookService = new PassBookService();
                current_user    = db.Users.Find(System.Windows.Application.Current.Resources["current_user_id"]);

                cbbBank.ItemsSource       = db.Banks.ToList();
                cbbBank.SelectedValuePath = "BankID";
                cbbBank.DisplayMemberPath = "BankName";
                cbbBank.SelectedIndex     = 0;

                cbbTerm.ItemsSource       = term;
                cbbTerm.SelectedValuePath = "Keys";
                cbbTerm.DisplayMemberPath = "Value";
                cbbTerm.SelectedIndex     = 1;

                cbbPayInterest.ItemsSource       = payInterest;
                cbbPayInterest.SelectedValuePath = "Keys";
                cbbPayInterest.DisplayMemberPath = "Value";
                cbbPayInterest.SelectedIndex     = 0;

                cbbDue.ItemsSource       = due;
                cbbDue.SelectedValuePath = "Keys";
                cbbDue.DisplayMemberPath = "Value";
                cbbDue.SelectedIndex     = 0;
            }
        }
Exemple #3
0
 public static Bank GetBank(int id)
 {
     using (var db = new DB.MoneyLoverDB())
     {
         return(db.Banks.Find(id));
     }
 }
Exemple #4
0
 public bool ValidateAddDeposit(int UserID, double deposit, Models.PassBook passBook)
 {
     using (var db = new DB.MoneyLoverDB())
     {
         if (passBook.Due != 3)
         {
             Models.User user = db.Users.Find(UserID);
             if (deposit < 100000)
             {
                 MessageBox.Show("Số tiền gửi thêm tối thiểu là 100.000đ", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                 return(false);
             }
             else if (deposit > user.Wallet)
             {
                 MessageBox.Show("Số tiền gửi phải bé hơn tiền mặt hiện có", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                 return(false);
             }
             else if ((DateTime.Now - passBook.EndDate).Days != 0)
             {
                 MessageBox.Show("Chỉ được gửi thêm tiền khi đến kỳ hạn tính lãi suất", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                 return(false);
             }
             else
             {
                 return(true);
             }
         }
         else
         {
             MessageBox.Show("Gửi thêm tiền không áp dụng cho tất toán sổ khi đến hạn", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
             return(false);
         }
     }
 }
 public static void DueChoice3(Models.PassBook pb, Models.User user)
 {
     using (var db = new DB.MoneyLoverDB())
     {
         if (pb.PayInterest != 1)
         {
             if (DateTime.Now >= pb.EndDate)
             {
                 Models.User     User     = db.Users.Find(user.UserID);
                 Models.PassBook passBook = db.PassBooks.Find(pb.PassBookID);
                 if (pb.Term != 99)
                 {
                     User.Wallet        += (pb.Deposit + ((pb.Deposit * (pb.InterestRates / 100) * pb.Term) / 12));
                     User.SavingsWallet -= pb.Deposit;
                     passBook.Settlement = true;
                 }
             }
         }
         else
         {
             if ((DateTime.Now - pb.EndDate).Days == 1 || (DateTime.Now >= pb.EndDate))
             {
                 Models.User     User     = db.Users.Find(user.UserID);
                 Models.PassBook passBook = db.PassBooks.Find(pb.PassBookID);
                 if (pb.Term != 99)
                 {
                     User.Wallet        += (pb.Deposit + ((pb.Deposit * (pb.InterestRates / 100) * pb.Term) / 12));
                     User.SavingsWallet -= pb.Deposit;
                     passBook.Settlement = true;
                 }
             }
         }
         db.SaveChanges();
     }
 }
Exemple #6
0
 public List <int> GetListBankOfUser()
 {
     using (var db = new DB.MoneyLoverDB())
     {
         var result = db.PassBooks.Where(m => m.UserID == UserID).Select(m => m.BankID).Distinct().ToList();
         return(result);
     }
 }
Exemple #7
0
        public void ShowDataGrid()
        {
            using (var db = new DB.MoneyLoverDB())
            {
                foreach (int BankID in GetListBankOfUser())
                {
                    var ListPassBookOfBank = db.PassBooks.Where(m => m.Settlement == false && m.UserID == UserID && m.BankID == BankID).ToList();
                    ShowPassBookList(Models.Bank.GetBank(BankID), ListPassBookOfBank);
                }

                LoadWallet();
                LoadTextBlockPassBook();
            }
        }
Exemple #8
0
        public UserInformation()
        {
            userInformation = new Views.UserInformation();
            LoadWallet();
            DisableInformation();

            userInformation.btnEdit.Click += (sender, e) =>
            {
                userInformation.txtWallet.IsEnabled = userInformation.txtWallet.IsEnabled = true;
            };

            userInformation.btnSave.Click += (sender, e) =>
            {
                try
                {
                    double wallet = getNumber(userInformation.txtWallet.Text);
                    if (IsValidWallet(wallet))
                    {
                        using (var db = new DB.MoneyLoverDB())
                        {
                            Models.User user = db.Users.Find(UserID);
                            user.Wallet = wallet;
                            db.SaveChanges();
                        }
                        Close();
                    }
                }
                catch
                {
                    MessageBox.Show("Đã có lỗi xảy ra, vui lòng kiểm tra lại", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                }
            };

            userInformation.btnClose.Click += (sender, e) =>
            {
                Close();
            };

            userInformation.btnCancel.Click += (sender, e) =>
            {
                Close();
            };
        }
Exemple #9
0
 public bool ValidateEditDeposit(int UserID, double olddeposit, double deposit)
 {
     using (var db = new DB.MoneyLoverDB())
     {
         Models.User user = db.Users.Find(UserID);
         if (deposit < 1000000)
         {
             MessageBox.Show("Số tiền không được bé hơn 1.000.000đ", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
             return(false);
         }
         else if (deposit > (user.Wallet + olddeposit))
         {
             MessageBox.Show("Số tiền gửi phải bé hơn tiền mặt hiện có", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
             return(false);
         }
         else
         {
             return(true);
         }
     }
 }
Exemple #10
0
 public bool ValidateDeposit(int UserID, double deposit)
 {
     using (var db = new DB.MoneyLoverDB())
     {
         Models.User user = db.Users.Find(UserID);
         if (deposit < 1000000)
         {
             MessageBox.Show("Số tiền gửi tối thiểu là 1.000.000đ", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
             return(false);
         }
         else if (deposit > user.Wallet)
         {
             MessageBox.Show("Số tiền gửi phải nhỏ hơn hoặc bằng số tiền mặt hiện có", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
             return(false);
         }
         else
         {
             return(true);
         }
     }
 }
 public static void DueChoice1(Models.PassBook pb, Models.User user)
 {
     using (var db = new DB.MoneyLoverDB())
     {
         if (pb.PayInterest != 1)
         {
             if (DateTime.Now >= pb.EndDate)
             {
                 Models.User     User     = db.Users.Find(user.UserID);
                 Models.PassBook passBook = db.PassBooks.Find(pb.PassBookID);
                 if (pb.Term != 99)
                 {
                     passBook.Deposit   += ((pb.Deposit * (pb.InterestRates / 100) * pb.Term) / 12);
                     User.SavingsWallet += ((pb.Deposit * (pb.InterestRates / 100) * pb.Term) / 12);
                     DateTime tmp = passBook.EndDate;
                     passBook.SentDate = tmp;
                     passBook.EndDate  = tmp.AddMonths(passBook.Term);
                 }
             }
         }
         else
         {
             if ((DateTime.Now - pb.EndDate).Days == 1 || (DateTime.Now >= pb.EndDate))
             {
                 Models.User     User     = db.Users.Find(user.UserID);
                 Models.PassBook passBook = db.PassBooks.Find(pb.PassBookID);
                 if (pb.Term != 99)
                 {
                     passBook.Deposit   += ((pb.Deposit * (pb.InterestRates / 100) * pb.Term) / 12);
                     User.SavingsWallet += ((pb.Deposit * (pb.InterestRates / 100) * pb.Term) / 12);
                     DateTime tmp = passBook.EndDate;
                     passBook.SentDate = tmp;
                     passBook.EndDate  = tmp.AddMonths(passBook.Term);
                 }
             }
         }
         db.SaveChanges();
     }
 }
Exemple #12
0
        public PassBook(PassbookList pbList)
        {
            using (var db = new DB.MoneyLoverDB())
            {
                passBook     = new Views.PassBook();
                pbService    = new Services.PassBookService();
                current_user = db.Users.Find(Application.Current.Resources["current_user_id"]);

                passBook.cbbBank.ItemsSource       = db.Banks.ToList();
                passBook.cbbBank.SelectedValuePath = "BankID";
                passBook.cbbBank.DisplayMemberPath = "BankName";
                passBook.cbbBank.SelectedIndex     = 0;

                passBook.cbbTerm.ItemsSource       = term;
                passBook.cbbTerm.SelectedValuePath = "Keys";
                passBook.cbbTerm.DisplayMemberPath = "Value";
                passBook.cbbTerm.SelectedIndex     = 1;

                passBook.cbbPayInterest.ItemsSource       = payInterest;
                passBook.cbbPayInterest.SelectedValuePath = "Keys";
                passBook.cbbPayInterest.DisplayMemberPath = "Value";
                passBook.cbbPayInterest.SelectedIndex     = 0;

                passBook.cbbDue.ItemsSource       = due;
                passBook.cbbDue.SelectedValuePath = "Keys";
                passBook.cbbDue.DisplayMemberPath = "Value";
                passBook.cbbDue.SelectedIndex     = 0;
            }

            passBook.btnSave.Click += (sender, e) =>
            {
                try
                {
                    int         BankID         = Convert.ToInt32(passBook.cbbBank.SelectedValue);
                    int         TermKey        = Convert.ToInt32(((KeyValuePair <int, string>)passBook.cbbTerm.SelectedItem).Key);
                    int         payInterestKey = Convert.ToInt32(((KeyValuePair <int, string>)passBook.cbbPayInterest.SelectedItem).Key);
                    int         dueKey         = Convert.ToInt32(((KeyValuePair <int, string>)passBook.cbbDue.SelectedItem).Key);
                    Models.Bank Bank           = Models.Bank.GetBank(BankID);

                    if (IsDateBeforeOrToday(passBook.dpDate.Text) && ValidateDeposit(current_user.UserID, Convert.ToDouble(passBook.txtDeposit.Text)))
                    {
                        Models.PassBook pb = pbService.Create(BankID,
                                                              Convert.ToDouble(passBook.txtDeposit.Text),
                                                              dueKey,
                                                              GetIndefiniteTerm(passBook.txtIndefiniteTerm.Text),
                                                              TermKey,
                                                              payInterestKey,
                                                              DateTime.Parse(passBook.dpDate.Text),
                                                              current_user.UserID,
                                                              Convert.ToDouble(passBook.txtInterestRates.Text));

                        pbList.ShowPassBookList(Bank, Models.PassBook.getListPassBook(current_user.UserID, BankID));
                        passBook.Close();
                    }
                }
                catch
                {
                    MessageBox.Show("Đã có lỗi xảy ra, vui lòng kiểm tra lại", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                }
            };

            passBook.btnAddBank.Click += (sender, e) =>
            {
                bank = new Bank(this);
                bank.ShowDialog();
            };

            passBook.cbbTerm.SelectionChanged += (sender, e) =>
            {
                int TermKey = Convert.ToInt32(((KeyValuePair <int, string>)passBook.cbbTerm.SelectedItem).Key);
                if (TermKey == 99)
                {
                    passBook.txtIndefiniteTerm.IsEnabled = true;
                    passBook.txtInterestRates.Text       = "0";
                    passBook.txtInterestRates.IsEnabled  = false;
                }
                else
                {
                    passBook.txtInterestRates.IsEnabled = passBook.txtIndefiniteTerm.IsEnabled = true;
                }
            };

            passBook.btnCancel.Click += (sender, e) =>
            {
                passBook.Close();
            };

            passBook.btnClose.Click += (sender, e) =>
            {
                passBook.Close();
            };
        }