示例#1
0
 /// <summary>
 /// Cập nhật lại thông tin sổ tiết kiệm của một sổ bất kỳ
 /// </summary>
 /// <param name="id"></param>
 /// <param name="TienGui"></param>
 /// <returns></returns>
 public static bool Update(SoTietKiemDto soTietKiem_DTO)
 {
     try
     {
         using (QLSoTietKiemDBContext ql = new QLSoTietKiemDBContext())
         {
             var _soTietKiem = ql.SoTietKiem.SingleOrDefault(x => x.MaSTK == soTietKiem_DTO.MaSTK);
             if (_soTietKiem != null)
             {
                 _soTietKiem.NgayDenHan      = soTietKiem_DTO.NgayDenHan;
                 _soTietKiem.MaNV            = soTietKiem_DTO.MaNV;
                 _soTietKiem.MaKhachHang     = soTietKiem_DTO.MaKhachHang;
                 _soTietKiem.MaLoaiTien      = soTietKiem_DTO.MaLoaiTien;
                 _soTietKiem.MaKyHan         = soTietKiem_DTO.MaKyHan;
                 _soTietKiem.NgayHieuLuc     = soTietKiem_DTO.NgayHieuLuc;
                 _soTietKiem.TrangThai       = soTietKiem_DTO.TrangThai;
                 _soTietKiem.SoTienGui       = soTietKiem_DTO.SoTienGui;
                 ql.Entry(_soTietKiem).State = System.Data.Entity.EntityState.Modified;
                 ql.SaveChanges();
                 return(true);
             }
         }
         return(false);
     }
     catch (Exception e)
     {
         return(false);
     }
 }
示例#2
0
        /// <summary>
        /// Tạo sổ mới khi có điều kiện(TH này rất ít xảy ra)
        /// B1:
        /// nếu khách hàng muốn lấy số tiền cũ + số tiền mới thêm vào thì tính toán trước khi thêm vào
        ///     1. nếu khách hàng chưa đủ tháng thì lấy mức lãi xuất vô thường hạn
        ///     2. nếu khách hàng quá tháng mà số quay vòng = với kỳ hạn gửi(số tháng gửi) thì tính toán bình thường theo
        ///     thời hạn. cứ nghĩ (số tháng hiện tại % số tháng gửi) == 0
        ///     vd: gửi 3 tháng mà: tháng thứ 3 6 9 thì có thể nhận đủ lãi theo thời hạn 3 tháng
        ///     3.  (số tháng hiện tại % số tháng gửi) != 0
        ///     Ta sẽ tính như sau: số tháng hiện tại % số tháng gửi chia lấy phần nguyên thì tính theo số 2 như trên
        ///     còn phần dư thì ta tính theo lãi không thời hạn. Sau đó cộng 2 cái đó lại với nhau
        ///     VD: gửi 3 tháng mà: tháng thứ 7
        ///     7 % 3 = 2 => A = 2 * số lãi suất
        ///     7 - 2*3 = 1 => B = 1 * số lãi suất không thời hạn
        ///     Kết quả  = A + B
        /// Kết quả trường hợp 1: Khi tính xong kết quả TH 1 thì ta tính ra số tiền lãi
        /// Kết quả = Lãi Suất + số tiền cũ +  số tiền mới
        /// B2:
        /// Sau đó tạo sổ mới cho người gửi nhớ ghi note vào trong sổ mới
        /// gồm: số tiền cũ + số tháng + lãi xuất + kỳ hạn + ngày Kết sổ(có thể có hoặc không  vì nó bằng với ngày mở sổ hiện tại) + sô tài khoản củ
        /// B3: chuyển trạng thái sổ cũ về 2
        /// </summary>
        /// <param name="maSTK"></param>
        /// <param name="stkDto"></param>
        /// <returns>0: Thành công</returns>
        /// <returns>1: lỗi không tìm thấy</returns>
        /// <returns>2: lỗi từ server</returns>
        public static int AddExist(int maSTK, SoTietKiemDto stkDto)
        {
            var _soTietKiem = SoTietKiemDao.GetById(maSTK);

            if (_soTietKiem != null)
            {
                return(0);
            }
            return(2);
        }
示例#3
0
        // click lưu khi thay đổi
        private void toolStripButton_suadoi_Click(object sender, EventArgs e)
        {
            var mstk = textBox_masotk.Text;

            if (Validation() && mstk != null)
            {
                SoTietKiemDto soTietKiem = new SoTietKiemDto()
                {
                    NgayMo      = dateEditCreate.DateTime,
                    NgayHieuLuc = DateTime.Now,
                    NgayDenHan  = dateEditDaoHan.DateTime,
                    SoTienGui   = Convert.ToDouble(txtTienGui.Text),
                    MaKyHan     = Convert.ToInt32(gridLookUpEditKyhan.EditValue),
                    MaLoaiTien  = Convert.ToInt32(gridLookUpEditLoaiTien.EditValue),
                    MaNV        = Extensions.GetMANV(),
                    MaKhachHang = Convert.ToInt32(grid_khachhang.EditValue),
                    MaSTK       = int.Parse(mstk)
                };
                try
                {
                    if (SoTietKiemBus.Update(soTietKiem))
                    {
                        this.MoSoTietKiemControl_Load(sender, e);
                        Commons.MessageInfo("Sửa sổ tiết kiệm thành công!");
                        return;
                    }
                    else
                    {
                        Commons.MessageErr("Đã có lỗi xảy ra, vui lòng thử lại");
                        return;
                    }
                }
                catch (Exception ex)
                {
                    Commons.MessageErr("Đã có lỗi xảy ra, vui lòng thử lại");
                    return;
                }
            }
            else
            {
                MessageBox.Show("Vui lòng nhập đầy đủ thông tin");
                this.MoSoTietKiemControl_Load(sender, e);
                return;
            }
        }
示例#4
0
 /// <summary>
 /// Thêm một sổ tiết kiệm vào CSDL
 /// </summary>
 /// <param name="stkDto"></param>
 /// <returns></returns>
 public static bool Add(SoTietKiemDto stkDto)
 {
     try
     {
         using (QLSoTietKiemDBContext ql = new QLSoTietKiemDBContext())
         {
             stkDto.GhiChu    = "Tạo mới";
             stkDto.TrangThai = 1;
             ql.SoTietKiem.Add(stkDto);
             ql.SaveChanges();
             return(true);
         }
     }
     catch (Exception e)
     {
         return(false);
     }
 }
示例#5
0
 /// <summary>
 /// Thêm một sổ tiết kiệm mới
 /// </summary>
 /// <param name="stkDto">SoTietKiemDto</param>
 /// <returns></returns>
 public static bool Add(SoTietKiemDto stkDto, int maQuayGD = 1)
 {
     if (SoTietKiemDao.Add(stkDto))
     {
         GiaoDichDto giaoDichDto = new GiaoDichDto();
         int         mastk       = SoTietKiemDao.GetSTKTopOne();
         giaoDichDto.MaSTK        = mastk;
         giaoDichDto.GhiChu       = "Mở sổ tiết kiệm";
         giaoDichDto.MaKyH        = stkDto.MaKyHan;
         giaoDichDto.MaNV         = stkDto.MaNV;
         giaoDichDto.MaQuayGD     = maQuayGD;
         giaoDichDto.MaKHang      = stkDto.MaKhachHang;
         giaoDichDto.SoTienGui    = stkDto.SoTienGui;
         giaoDichDto.TongTien     = stkDto.SoTienGui;
         giaoDichDto.TongTienLai  = 0;
         giaoDichDto.TinhTrang    = true;
         giaoDichDto.LoaiGD       = 1;
         giaoDichDto.NgayGiaoDich = DateTime.Now;
         GiaoDichDao.Add(giaoDichDto);
         return(true);
     }
     return(false);
 }
示例#6
0
 /// <summary>
 /// Cập nhật thông tin của một sổ tiết kiệm
 /// </summary>
 /// <param name="soTietKiemDto"></param>
 /// <returns></returns>
 public static bool Update(SoTietKiemDto soTietKiemDto, int maQuayGD = 1)
 {
     if (SoTietKiemDao.Update(soTietKiemDto))
     {
         // Xóa giao dịch trước khi thực hiện giao dịch mới
         GiaoDichDao.Delete(soTietKiemDto.MaSTK);
         GiaoDichDto giaoDichDto = new GiaoDichDto();
         giaoDichDto.MaSTK        = soTietKiemDto.MaSTK;
         giaoDichDto.GhiChu       = "Mở sổ tiết kiệm";
         giaoDichDto.MaKyH        = soTietKiemDto.MaKyHan;
         giaoDichDto.MaNV         = soTietKiemDto.MaNV;
         giaoDichDto.MaQuayGD     = maQuayGD;
         giaoDichDto.MaKHang      = soTietKiemDto.MaKhachHang;
         giaoDichDto.SoTienGui    = soTietKiemDto.SoTienGui;
         giaoDichDto.TongTien     = soTietKiemDto.SoTienGui;
         giaoDichDto.TongTienLai  = 0;
         giaoDichDto.TinhTrang    = true;
         giaoDichDto.LoaiGD       = 0;
         giaoDichDto.NgayGiaoDich = DateTime.Now;
         GiaoDichDao.Add(giaoDichDto);
         return(true);
     }
     return(false);
 }