/// <summary> /// 获取存款用户信息,并初始化余额 /// </summary> /// <param name="accountNumber"></param> /// <returns></returns> public static Custom GetCustom(string accountNumber) { Custom custom = null; BankDataContext c = new BankDataContext(); try { var q = (from t in c.AccountInfo where t.帐号 == accountNumber select t).Single(); custom = CreateCustom(q.存款类型); custom.AccountInfo.帐号 = accountNumber; custom.AccountInfo.姓名 = q.姓名; custom.AccountInfo.密码 = q.密码; custom.AccountInfo.身份证号 = q.身份证号; } catch { return(null); } var q1 = (from t in c.MoneyInfo where t.帐号 == accountNumber select t).Sum(x => x.发生金额); custom.AccountBalance = q1; return(custom); }
private void buttonLogin_Click(object sender, EventArgs e) { //要求实现读取数据库表检查帐号、密码是否正确 //如果正确,此窗体消失,显示主窗体 try { string id = comboBoxNumber.SelectedValue.ToString(); BankDataContext c = new BankDataContext(); var q = from t in c.LoginInfo where t.编号 == id && t.密码 == textBoxPassword.Text select t; if (q.Count() == 1) { Program.LoginID = id; this.Close(); n = 0; } else { MessageBox.Show("密码不正确!"); //textBoxPassword.Text = ""; n++; } if (n >= 3) { MessageBox.Show("密码错误三次,禁止登录!!"); Application.Exit(); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
/// <summary> ///存款 /// </summary> public override void Diposit(string genType, double money) { BankDataContext c = new BankDataContext(); var q = from t in c.MoneyInfo where t.帐号 == this.AccountInfo.帐号 select t.发生时间; //计算日期差 TimeSpan ts1; ts1 = DateTime.Now.Subtract(q.Max().Date); if (ts1.TotalDays >= 62) { MessageBox.Show("该账户没能按规定存款,已失效,请及时取出存款!"); return; } int time1 = q.Max().Date.Month; int time2 = DateTime.Now.Month; int ts = time2 - time1; if (ts == 0) { MessageBox.Show("该账户本月已存过款!"); return; } else if (ts != 1 && ts != -11) { MessageBox.Show("该账户没能按规定存款,已失效,请及时取出存款!"); return; } base.Diposit("存款", money); }
/// <summary> /// 获取操作员姓名 /// </summary> /// <param name="id">操作员编号</param> /// <returns></returns> public static string GetOperateName(string id) { BankDataContext c = new BankDataContext(); var q = (from t in c.EmployeeInfo where t.编号 == id select t).Single(); return(q.姓名); }
/// <summary> /// 获取指定类别的利率 /// </summary> /// <param name="rateType">利率类别</param> /// <returns>对应类别的利率值</returns> public static double GetRate(RateType rateType) { BankDataContext c = new BankDataContext(); var q = (from t in c.RateInfo where t.类别 == rateType.ToString() select t.利率).Single(); return(q); }
public void InsertPictureToBank(Stream pictureStream, string id) { int len = (int)pictureStream.Length; byte[] bt = new byte[len]; pictureStream.Read(bt, 0, len); BankDataContext c = new BankDataContext(); var q = (from t in c.EmployeeInfo where t.编号 == id select t).Single(); q.照片 = new System.Data.Linq.Binary(bt); c.SubmitChanges(); }
/// <summary> ///取款 /// </summary> /// <param name="money">取款金额</param> public override void Withdraw(double money) { //结算利息 BankDataContext c = new BankDataContext(); var q = from t in c.MoneyInfo where t.帐号 == this.AccountInfo.帐号 select t; int count = q.Count(); if (count < 12) { base.Diposit("结算利息", DataOperation.GetRate(RateType.零存整取违规) * this.AccountBalance); } else { int t1 = DateTime.Now.Year - q.Min().发生时间.Date.Year; int t2 = DateTime.Now.Month - q.Min().发生时间.Date.Month; int t3 = t1 * 12 + t2 * -1; if (count >= t3 && count >= 12) { if (count < 36) { base.Diposit("结算利息", DataOperation.GetRate(RateType.零存整取1年) * (this.AccountBalance / count) * 12 + (this.AccountBalance + DataOperation.GetRate(RateType.零存整取1年) * (this.AccountBalance / count) * 12 * DataOperation.GetRate(RateType.零存整取超期部分))); } else if (count < 60) { base.Diposit("结算利息", DataOperation.GetRate(RateType.零存整取3年) * (this.AccountBalance / count) * 36 + (this.AccountBalance + DataOperation.GetRate(RateType.零存整取3年) * (this.AccountBalance / count) * 36 * DataOperation.GetRate(RateType.零存整取超期部分))); } else { base.Diposit("结算利息", DataOperation.GetRate(RateType.零存整取5年) * (this.AccountBalance / count) * 60 + (this.AccountBalance + DataOperation.GetRate(RateType.零存整取5年) * (this.AccountBalance / count) * 60 * DataOperation.GetRate(RateType.零存整取超期部分))); } } else { base.Diposit("结算利息", DataOperation.GetRate(RateType.零存整取违规) * this.AccountBalance); } } if (!ValidBeforeWithdraw(money)) { return; } //取款 base.Withdraw(this.AccountBalance); }
private void LoginForm_Load(object sender, EventArgs e) { // TODO: 这行代码将数据加载到表“bankDataSet.EmployeeInfo”中。您可以根据需要移动或删除它。 this.employeeInfoTableAdapter.Fill(this.bankDataSet.EmployeeInfo); try { BankDataContext c = new BankDataContext(); var q = from t in c.LoginInfo select t.编号; comboBoxNumber.DataSource = q; comboBoxNumber.SelectedIndex = 0; ShowPicture(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
/// <summary> /// 获取操作员照片 /// </summary> /// <param name="id">操作员编号</param> /// <returns></returns> public static Bitmap GetOperatePicture(string id) { try { BankDataContext c = new BankDataContext(); var q = (from t in c.EmployeeInfo where t.编号 == id select t).Single(); if (q.照片 != null) { System.IO.MemoryStream memStream = new System.IO.MemoryStream(q.照片.ToArray()); return(new Bitmap(memStream)); } return(null); } catch (Exception) { return(null); } }
/// <summary> ///存款 /// </summary> public override void Diposit(string genType, double money) { if (money < 100) { MessageBox.Show("定期存款100元起存。"); return; } BankDataContext c = new BankDataContext(); var q = from t in c.MoneyInfo where t.帐号 == this.AccountInfo.帐号 && t.发生类别 == "存款" select t.发生时间; //计算日期差 //TimeSpan ts; int tsy = 0; int tsm = 0; try { try { DateTime time1 = q.Max().Date; DateTime time2 = DateTime.Now; tsy = time2.Year - time1.Year; tsm = time2.Month - time1.Month; //ts = time2.Subtract(time1); } catch (Exception) { q = from t in c.MoneyInfo where t.帐号 == this.AccountInfo.帐号 && t.发生类别 == "开户" select t.发生时间; DateTime time1 = q.Max().Date; DateTime time2 = DateTime.Now; tsy = time2.Year - time1.Year; tsm = time2.Month - time1.Month; //ts = time2.Subtract(time1); } } catch (Exception) { //ts = new TimeSpan(0,0,0,0,0); } //结算利息 if (tsy != 0 || tsm != 0) // (ts.TotalDays >=1) { if (tsy <= 0 || (tsy == 1 && tsm < 0)) //(ts.TotalDays <= 365) { base.Diposit("结算利息", DataOperation.GetRate(RateType.定期提前支取) * this.AccountBalance); } else if ((tsy > 1 && tsy < 3) || (tsy == 1 && tsm >= 0) || (tsy == 3 && tsm < 0))//(ts.TotalDays <= 365 * 2) { base.Diposit("结算利息", DataOperation.GetRate(RateType.定期1年) * this.AccountBalance); } else if ((tsy > 3 && tsy < 5) || (tsy == 3 && tsm >= 0) || (tsy == 5 && tsm < 0))//(ts.TotalDays <= 365 * 4) { base.Diposit("结算利息", DataOperation.GetRate(RateType.定期3年) * this.AccountBalance); } else if (tsy == 5 && tsm == 0)//(ts.TotalDays <= 365 * 6) { base.Diposit("结算利息", DataOperation.GetRate(RateType.定期5年) * this.AccountBalance); } else { base.Diposit("结算利息", DataOperation.GetRate(RateType.定期5年) * this.AccountBalance + (1 + DataOperation.GetRate(RateType.定期5年)) * this.AccountBalance * DataOperation.GetRate(RateType.定期超期部分)); } } //存款 base.Diposit("存款", money); }