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 Models.PassBook Create(int bankID, double deposit, int due, double indefiniteTerm, int term, int payInterest, DateTime sentDate, int userID, double interestRates) { Models.PassBook pb = new Models.PassBook { BankID = bankID, Deposit = deposit, Due = due, IndefiniteTerm = indefiniteTerm, Term = term, PayInterest = payInterest, SentDate = sentDate, EndDate = getEndDate(sentDate, term), UserID = userID, InterestRates = interestRates, WithDrawalMoney = getWithDrawalMoney(deposit, interestRates, term), Settlement = false }; Models.User user = db.Users.Find(userID); user.SavingsWallet += deposit; user.Wallet -= deposit; db.PassBooks.Add(pb); db.SaveChanges(); return(pb); }
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(); } }
public Menu(Models.PassBook pb) { InitializeComponent(); menu.txtBankName.Text = "Ngân hàng: " + Models.Bank.GetBank(pb.BankID).BankName; menu.txtDeposit.Text = "Số tiền gửi: " + pb.Deposit.ToString("#,###", CultureInfo.GetCultureInfo("vi-VN").NumberFormat) + " đ"; menu.txtEndDate.Text = "Ngày đến hạn: " + pb.EndDate.ToString("dd/MM/yyyy"); menu.txtPassBookID.Text = "Mã số: #" + pb.GetID; }
public Menu(Models.PassBook pb) { menu = new Views.Menu(); menu.txtBankName.Text = "Ngân hàng: " + Models.Bank.GetBank(pb.BankID).BankName; menu.txtDeposit.Text = "Số tiền gửi: " + pb.Deposit.ToString("#,###", CultureInfo.GetCultureInfo("vi-VN").NumberFormat) + " đ"; menu.txtEndDate.Text = "Ngày đến hạn: " + pb.EndDate.ToString("dd/MM/yyyy"); menu.txtPassBookID.Text = "Mã số: #" + pb.GetID; menu.btnClose.Click += (sender, e) => { menu.Close(); }; }
public Notification(Models.PassBook pb) { noti = new Views.Notification(); noti.txtNoti.Text = "Sổ tiết kiệm " + pb.GetID.ToString() + " đến hạn ngày " + pb.EndDate.ToString("dd/MM/yyyy") + ". Số tiền rút ra trước hạn sẽ được tính lãi theo lãi suất không kì hạn (0.05%/năm). Bạn có muốn tiếp tục không?"; noti.btnNo.Click += (sender, e) => { noti.Close(); }; noti.btnYes.Click += (sender, e) => { flag = true; noti.Close(); }; }
public AddToPassBook(PassbookList pbList, Models.PassBook pb) { addToPassBook = new Views.AddToPassBook(); passBook = pb; placeData(); addToPassBook.btnSave.Click += (sender, e) => { try { Models.PassBook passBook = db.PassBooks.Find(pb.PassBookID); if (addToPassBook.txtAddMoreDeposit.Text != "") { double moneyAdd = getNumber(addToPassBook.txtAddMoreDeposit.Text); if (ValidateAddDeposit(pb.UserID, moneyAdd, passBook)) { Models.User user = db.Users.Find(pb.UserID); user.Wallet -= moneyAdd; user.SavingsWallet += moneyAdd; passBook.Deposit += moneyAdd; db.SaveChanges(); addToPassBook.Close(); placeData(); pbList.ShowDataGrid(); } } else { MessageBox.Show("Nội dung không được để rỗng", "Error", MessageBoxButton.OK, MessageBoxImage.Error); } } catch { MessageBox.Show("Đã có lỗi xảy ra, vui lòng kiểm tra lại", "Error", MessageBoxButton.OK, MessageBoxImage.Error); } }; addToPassBook.btnClose.Click += (sender, e) => { addToPassBook.Close(); }; }
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(); } }
private void btnSave_Click(object sender, RoutedEventArgs e) { int BankID = Convert.ToInt32(cbbBank.SelectedValue); int TermKey = Convert.ToInt32(((KeyValuePair <int, string>)cbbTerm.SelectedItem).Key); int payInterestKey = Convert.ToInt32(((KeyValuePair <int, string>)cbbPayInterest.SelectedItem).Key); int dueKey = Convert.ToInt32(((KeyValuePair <int, string>)cbbDue.SelectedItem).Key); Models.Bank Bank = Models.Bank.GetBank(BankID); if (IsDateBeforeOrToday(dpDate.Text)) { Models.PassBook pb = passBookService.Create(BankID, Convert.ToDouble(txtDeposit.Text), dueKey, GetIndefiniteTerm(txtIndefiniteTerm.Text), TermKey, payInterestKey, DateTime.Parse(dpDate.Text), current_user.UserID, Convert.ToDouble(txtInterestRates.Text)); Close(); } }
public Withdrawal(PassbookList pbList, Models.PassBook pb) { withDrawal = new Views.Withdrawal(); passBook = pb; placeData(); withDrawal.btnSettlement.Click += (sender, e) => { try { Models.PassBook passBook = db.PassBooks.Find(pb.PassBookID); Models.User targetUser = db.Users.Find(passBook.UserID); targetUser.Wallet += getNumber(withDrawal.txtTotalMoney.Text); targetUser.SavingsWallet -= pb.Deposit; passBook.Settlement = true; db.SaveChanges(); withDrawal.Close(); pbList.ShowDataGrid(); pbList.passBookList.dtgridSettlement.ItemsSource = Models.PassBook.getListPassBookSettlement(UserID); pbList.LoadHeaderSettlement(); } catch { MessageBox.Show("Đã có lỗi xảy ra, vui lòng kiểm tra lại", "Error", MessageBoxButton.OK, MessageBoxImage.Error); } }; withDrawal.btnClose.Click += (sender, e) => { withDrawal.Close(); }; }
public PassbookList(MainWindow mainWindow) { passBookList = new Views.PassbookList(); LoadWithDrawal(); ShowDataGrid(); LoadHeaderSettlement(); passBookList.dtgridSettlement.ItemsSource = Models.PassBook.getListPassBookSettlement(UserID); passBookList.btnAddPassBook.Click += (sender, e) => { passBook = new PassBook(this); passBook.ShowDialog(); }; passBookList.btnEditPassBook.Click += (sender, e) => { try { if (lastSelectedItem.Settlement == false) { EditPassBook editPassBook = new EditPassBook(this, lastSelectedItem); editPassBook.ShowDialog(); } } catch { } }; passBookList.btnAddMore.Click += (sender, e) => { try { if (lastSelectedItem.Settlement == false) { AddToPassBook addMore = new AddToPassBook(this, lastSelectedItem); addMore.ShowDialog(); } } catch { } }; passBookList.btnSettlement.Click += (sender, e) => { try { if (lastSelectedItem.Settlement == false) { Withdrawal withDrawal = new Withdrawal(this, lastSelectedItem); withDrawal.ShowDialog(); } } catch { } }; passBookList.btnWithDrawal.Click += (sender, e) => { try { if (lastSelectedItem.Settlement == false) { PartialWithdrawal partialWithDrawal = new PartialWithdrawal(this, lastSelectedItem); partialWithDrawal.ShowDialog(); } } catch { } }; passBookList.btnViewPassBook.Click += (sender, e) => { try { Models.PassBook pb = (Models.PassBook)passBookList.dtgridSettlement.SelectedItem; Menu menu = new Menu(pb); menu.ShowDialog(); } catch { } }; passBookList.btnBack.Click += (sender, e) => { passBookList.Close(); mainWindow.mainWindow.Show(); Logout(); }; passBookList.btnSetting.Click += (sender, e) => { userInformation = new UserInformation(); userInformation.ShowDialog(); }; }
private void Dtgrid_SelectionChanged(object sender, SelectionChangedEventArgs e) { DataGrid dtgrid = (DataGrid)sender; lastSelectedItem = (Models.PassBook)dtgrid.SelectedItem; }
public EditPassBook(PassbookList pbList, Models.PassBook pb) { editPassBook = new Views.EditPassBook(); passBook = pb; current_user = db.Users.Find(Application.Current.Resources["current_user_id"]); editPassBook.cbbBank.ItemsSource = db.Banks.ToList(); editPassBook.cbbBank.SelectedValuePath = "BankID"; editPassBook.cbbBank.DisplayMemberPath = "BankName"; editPassBook.cbbTerm.ItemsSource = term; editPassBook.cbbTerm.SelectedValuePath = "Keys"; editPassBook.cbbTerm.DisplayMemberPath = "Value"; editPassBook.cbbPayInterest.ItemsSource = payInterest; editPassBook.cbbPayInterest.SelectedValuePath = "Keys"; editPassBook.cbbPayInterest.DisplayMemberPath = "Value"; editPassBook.cbbDue.ItemsSource = due; editPassBook.cbbDue.SelectedValuePath = "Keys"; editPassBook.cbbDue.DisplayMemberPath = "Value"; placeData(); editPassBook.btnSave.Click += (sender, e) => { try { Models.PassBook targetPb = db.PassBooks.Find(pb.PassBookID); Models.User user = db.Users.Find(pb.UserID); int BankID = Convert.ToInt32(editPassBook.cbbBank.SelectedValue); int TermKey = Convert.ToInt32(((KeyValuePair <int, string>)editPassBook.cbbTerm.SelectedItem).Key); int payInterestKey = Convert.ToInt32(((KeyValuePair <int, string>)editPassBook.cbbPayInterest.SelectedItem).Key); int dueKey = Convert.ToInt32(((KeyValuePair <int, string>)editPassBook.cbbDue.SelectedItem).Key); double moneyEdit = getNumber(editPassBook.txtDeposit.Text); if (IsDateBeforeOrToday(editPassBook.dpDate.Text) && ValidateEditDeposit(pb.UserID, pb.Deposit, moneyEdit)) { double backupDeposit = targetPb.Deposit; targetPb.BankID = BankID; targetPb.Due = dueKey; targetPb.IndefiniteTerm = GetIndefiniteTerm(editPassBook.txtIndefiniteTerm.Text); targetPb.Term = TermKey; targetPb.PayInterest = payInterestKey; targetPb.SentDate = DateTime.Parse(editPassBook.dpDate.Text); targetPb.EndDate = DateTime.Parse(editPassBook.dpDate.Text).AddMonths(TermKey); targetPb.UserID = current_user.UserID; targetPb.InterestRates = Convert.ToDouble(editPassBook.txtInterestRates.Text); targetPb.Settlement = false; targetPb.Deposit = moneyEdit; user.SavingsWallet = user.SavingsWallet - backupDeposit + moneyEdit; user.Wallet = user.Wallet + backupDeposit - moneyEdit; db.SaveChanges(); editPassBook.Close(); pbList.ShowDataGrid(); } } catch { MessageBox.Show("Đã có lỗi xảy ra, vui lòng kiểm tra lại", "Error", MessageBoxButton.OK, MessageBoxImage.Error); } }; editPassBook.cbbTerm.SelectionChanged += (sender, e) => { int TermKey = Convert.ToInt32(((KeyValuePair <int, string>)editPassBook.cbbTerm.SelectedItem).Key); if (TermKey == 99) { editPassBook.txtIndefiniteTerm.IsEnabled = true; editPassBook.txtInterestRates.Text = "0"; editPassBook.txtInterestRates.IsEnabled = false; } else { editPassBook.txtInterestRates.IsEnabled = editPassBook.txtIndefiniteTerm.IsEnabled = true; } }; editPassBook.btnCancel.Click += (sender, e) => { editPassBook.Close(); }; editPassBook.btnClose.Click += (sender, e) => { editPassBook.Close(); }; }
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(); }; }
public PartialWithdrawal(PassbookList pbList, Models.PassBook pb) { partialWithdrawal = new Views.PartialWithdrawal(); passBook = pb; placeData(); partialWithdrawal.btnSave.Click += (sender, e) => { PartialWithdrawallValidate(); try { Models.PassBook passBook = db.PassBooks.Find(pb.PassBookID); Models.User user = db.Users.Find(pb.UserID); if (pb.Term == 99) { int day = Convert.ToInt32((DateTime.Now - pb.SentDate).TotalDays); if (day > 15) { try { double moneyWithdrawal = getNumber(partialWithdrawal.txtWithDrawDeposit.Text); if (moneyWithdrawal < pb.Deposit && moneyWithdrawal > 0) { user.Wallet += (moneyWithdrawal + (moneyWithdrawal * (passBook.IndefiniteTerm / 100) * day) / 365); user.SavingsWallet -= moneyWithdrawal; passBook.Deposit -= moneyWithdrawal; } else if (moneyWithdrawal == pb.Deposit) { user.Wallet += (moneyWithdrawal + (moneyWithdrawal * (passBook.IndefiniteTerm / 100) * day) / 365); user.SavingsWallet -= moneyWithdrawal; passBook.Settlement = true; } else { MessageBox.Show("Số tiền rút không hợp lệ", "Error", MessageBoxButton.OK, MessageBoxImage.Error); } } catch { MessageBox.Show("Số tiền rút không hợp lệ", "Error", MessageBoxButton.OK, MessageBoxImage.Error); } } else { MessageBox.Show("Bạn chưa thể rút tiền. Số ngày gửi dưới 15 ngày.", "Error", MessageBoxButton.OK, MessageBoxImage.Error); } } else { if (DateTime.Now < pb.EndDate) { try { Notification noti = new Notification(pb); int day = Convert.ToInt32((DateTime.Now - pb.SentDate).TotalDays); double moneyWithdrawal = getNumber(partialWithdrawal.txtWithDrawDeposit.Text); if (moneyWithdrawal < pb.Deposit && moneyWithdrawal > 0) { noti.ShowDialog(); if (noti.flag == true) { user.Wallet += (moneyWithdrawal + (moneyWithdrawal * (passBook.IndefiniteTerm / 100) * day) / 365); user.SavingsWallet -= moneyWithdrawal; passBook.Deposit -= moneyWithdrawal; } } else if (moneyWithdrawal == pb.Deposit) { noti.ShowDialog(); if (noti.flag == true) { user.Wallet += (moneyWithdrawal + (moneyWithdrawal * (passBook.IndefiniteTerm / 100) * day) / 365); user.SavingsWallet -= moneyWithdrawal; passBook.Settlement = true; } } else { MessageBox.Show("Số tiền rút không thể lớn hơn số tiện hiện có trong sổ tiết kiệm này", "Error", MessageBoxButton.OK, MessageBoxImage.Error); } } catch { MessageBox.Show("Số tiền rút không hợp lệ", "Error", MessageBoxButton.OK, MessageBoxImage.Error); } } } db.SaveChanges(); pbList.ShowDataGrid(); pbList.passBookList.dtgridSettlement.ItemsSource = Models.PassBook.getListPassBookSettlement(UserID); pbList.LoadHeaderSettlement(); } catch { MessageBox.Show("Đã có lỗi xảy ra, vui lòng kiểm tra lại", "Error", MessageBoxButton.OK, MessageBoxImage.Error); } }; partialWithdrawal.btnClose.Click += (sender, e) => { partialWithdrawal.Close(); }; }