Esempio n. 1
0
        /// <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);
        }
Esempio n. 4
0
        /// <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.姓名);
        }
Esempio n. 5
0
        /// <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);
     }
 }
Esempio n. 9
0
 /// <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);
     }
 }
Esempio n. 10
0
        /// <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);
        }