예제 #1
0
        public static Boolean ThemChiTietPhieuThue(ChiTietPhieuThueDTO ctpt)
        {
            try
            {
                // Making connection with Npgsql provider
                NpgsqlConnection conn = new NpgsqlConnection(SqlDataAccessHelper.ConnectionString());
                conn.Open();
                // quite complex sql statement

                string sqlPara = "INSERT INTO chitietphieuthue( maphieuthue, maphong, ngaynhanphong, ngaytraphong, thanhtienphong, ghichu) " +
                                 "VALUES('" + ctpt.MaPhieuThue + "', '" + ctpt.MaPhong + "', '" + ctpt.NgayThue + "', '" + ctpt.NgayTra + "', '" + ctpt.TongTien + "', '" + ctpt.GhiChu + "'); ";

                //string sql = "Insert into hocsinh values('MH004', 'Hoang Trung Ba', 'Lao'," +
                //   "array[('Cương độ', '099987723')," +
                //   "('Lam Phiệt', '099989999')]::phuHuynh[]); ";

                NpgsqlCommand cmd = new NpgsqlCommand(sqlPara, conn);
                cmd.ExecuteNonQuery();

                // data adapter making request from our connection
                //  NpgsqlDataAdapter da = new NpgsqlDataAdapter(sql, conn);

                conn.Close();
                //MessageBox.Show("okie");
                return(true);
            }
            catch (Exception)
            {
                // something went wrong, and you wanna know why
                //MessageBox.Show(msg.ToString());
                return(false);

                throw;
            }
        }
예제 #2
0
        public static bool ThemPhieuThuePhong(ChiTietPhieuThueDTO ct, PhieuThuePhongDTO p)
        {
            int i = DateTime.Compare(p.NgayThue, p.NgayTraPhong.Value);

            if (i <= 0)
            {
                return(RentalDAO.ThemPhieuThuePhong(ct, p));
            }
            return(false);
        }
예제 #3
0
        public static bool ThemCTPhieuThuePhong(ChiTietPhieuThueDTO ct, CustomerDTO kh)
        {
            SqlParameter mactpt = new SqlParameter("@MaCTPT", ct.MaCTPT);
            SqlParameter makh   = new SqlParameter("@MaKH", kh.MaKH);
            SqlParameter mapt   = new SqlParameter("@MaPT", ct.MaPT);

            try
            {
                context.Database.ExecuteSqlCommand("spThemCTPhieuThue @MaCTPT, @MaKH, @MaPT", mactpt, makh, mapt);
                return(true);
            }
            catch
            {
                return(false);
            }
        }
예제 #4
0
        public static bool ThemPhieuThuePhong(ChiTietPhieuThueDTO ct, PhieuThuePhongDTO p)
        {
            SqlParameter mapt         = new SqlParameter("@MaPT", ct.MaPT);
            SqlParameter ngaythue     = new SqlParameter("@NgayThue", p.NgayThue);
            SqlParameter maphong      = new SqlParameter("@MaPhong", p.MaPhong);
            SqlParameter ngaytraphong = new SqlParameter("@NgayTraPhong", p.NgayTraPhong);

            try
            {
                context.Database.ExecuteSqlCommand("spThemPhieuThue @MaPT , @NgayThue , @MaPhong , @NgayTraPhong", mapt, ngaythue, maphong, ngaytraphong);
                return(true);
            }
            catch
            {
                return(false);
            }
        }
예제 #5
0
        private ChiTietPhieuThueDTO LayMaKeTiep()
        {
            ChiTietPhieuThueDTO      ct  = new ChiTietPhieuThueDTO();
            List <PhieuThuePhongDTO> lst = new List <PhieuThuePhongDTO>();

            try
            {
                lst                   = PhieuThueBUS.LayMaPTKeTiep();
                ct.MaPhieuThue        = lst[0].MaPhieuThue + 1;
                lst                   = PhieuThueBUS.LayMaCTPTKeTiep();
                ct.MaChiTietPhieuThue = lst[0].MaChiTietPhieuThue + 1;
            }
            catch
            {
                ct.MaPhieuThue        = 1;
                ct.MaChiTietPhieuThue = 1;
            }
            return(ct);
        }
예제 #6
0
        private void btnLuuPhieuThue_Click(object sender, EventArgs e)
        {
            PhieuThuePhongDTO   p  = LayThongTinPhong();
            ChiTietPhieuThueDTO ct = LayMaKeTiep();

            if (PhieuThueBUS.ThemPhieuThuePhong(ct, p))
            {
                for (int i = 0; i < dgvDanhSachPhieuThue.Rows.Count; i++)
                {
                    KhachHangDTO kh = LayThongTinKhachHang(i);
                    if (KhachHangBUS.ThemKhachHang(kh))
                    {
                        if (!PhieuThueBUS.ThemCTPhieuThuePhong(ct, kh))
                        {
                            MessageBox.Show("Không thêm được chi tiết phiếu thuê", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                        }
                    }
                    else
                    {
                        MessageBox.Show("Không thêm được thông tin khách hàng" + kh.TenKhachHang + "", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                    }
                }
                if (PhongBUS.CapNhatTinhTrangPhong(p))
                {
                    MessageBox.Show("Lập phiếu thuê thành công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    ((Form)this.TopLevelControl).Close();
                }
                else
                {
                    MessageBox.Show("Không cập nhật được tình trạng phòng", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                }
            }
            else
            {
                MessageBox.Show("Không thêm được phiếu thuê", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Stop);
            }
        }
예제 #7
0
 public static bool ThemCTPhieuThuePhong(ChiTietPhieuThueDTO ct, CustomerDTO kh)
 {
     return(RentalDAO.ThemCTPhieuThuePhong(ct, kh));
 }
예제 #8
0
 public static bool ThemCTPhieuThuePhong(ChiTietPhieuThueDTO ct, KhachHangDTO kh)
 {
     return(PhieuThueDAO.ThemCTPhieuThuePhong(ct, kh));
 }
 private void HienThiChiTietPhieuThue(ChiTietPhieuThueDTO ctpt)
 {
     //dt.Rows.Add("PT0002", "Phòng GOLD", "LP003", 500000);
     dt.Rows.Add(ctpt.MaPhong, ctpt.TenPhong, ctpt.MaLoaiPhong, ctpt.DonGia,
                 ctpt.NgayThue, ctpt.NgayTra, ctpt.TongTien, ctpt.GhiChu);
 }
        private void btnThemPhong_Click(object sender, RoutedEventArgs e)
        {
            if (phongDuocChon == null ||
                txtboxMaKhachHangPhieuThue.Text.ToString() == "" ||
                TxtTenPhong.Text.ToString() == "" ||
                dpkNgayThue.Text.ToString() == "" ||
                dpkNgayTra.Text.ToString() == "")
            {
                // dialog
                // thông báo ko cho để trống
                // note error not empty
                MessageBox.Show("Nhập Đủ Thông Tin Phiếu Thuê");
                return;
            }

            if (phongDuocChon.LoaiTinhTrang)
            {
                // dialog
                // phòng đã được thuê
                // phong not empty
                MessageBox.Show("Phòng Không Trống");
                return;
            }

            // add to main list
            ChiTietPhieuThueDTO ctpt = new ChiTietPhieuThueDTO();

            ctpt.MaPhieuThue = txtboxMaPhieuThue.Text.ToString();
            ctpt.MaPhong     = txtMaPhong.Text.ToString();
            ctpt.TenPhong    = TxtTenPhong.Text.ToString();
            ctpt.MaLoaiPhong = phongDuocChon.MaLoaiPhong;
            ctpt.DonGia      = phongDuocChon.DonGia;
            ctpt.NgayThue    = DateTime.ParseExact(Convert.ToDateTime(dpkNgayThue.Text).ToString("dd/MM/yyyy"), "dd/MM/yyyy",
                                                   CultureInfo.InvariantCulture);
            ctpt.NgayTra = DateTime.ParseExact(Convert.ToDateTime(dpkNgayTra.Text).ToString("dd/MM/yyyy"), "dd/MM/yyyy",
                                               CultureInfo.InvariantCulture);

            int numDaysDiff = Math.Abs(ctpt.NgayTra.Subtract(ctpt.NgayThue).Days);

            ctpt.TongTien = numDaysDiff * ctpt.DonGia;
            ctpt.GhiChu   = txtGhiChu.Text.ToString();


            // check validate MaPhong, TenPhong
            PhongDTO ktphong = BUS.LapPhieuThueBUS.LayPhongTheoMaPhong(ctpt.MaPhong);

            if (ktphong == null)
            {
                // dialog
                MessageBox.Show("Mã Phòng Không Tồn Tại");
                // mã phòng không có trong hệ thống
                // throw dialog error MaPhong be incorrect
            }

            ktphong = BUS.LapPhieuThueBUS.LayPhongTheoTenPhong(ctpt.TenPhong);
            if (ktphong == null)
            {
                // dialog
                MessageBox.Show("Tên Phòng Không Tồn Tại");
                // tên phòng không có trong hệ thống
                // throw dialog error TenPhong be incorrect
            }

            // check validate NgayDen, NgayTra
            if (ctpt.NgayTra.Subtract(ctpt.NgayThue).Days < 0)
            {
                // dialog
                // ngày thuê > ngày trả
                MessageBox.Show("Ngày Trả Phải Lớn Hơn Ngày Thuê");
                //
            }

            // kiểm tra xem phòng đã được thêm vào danh sách hay chưa, nếu rồi thì không được thêm
            if (dschitietphieuthue.Exists(x => x.MaPhong == phongDuocChon.MaPhong))
            {
                // dialog
                // Phòng đã thêm vào danh sách
                MessageBox.Show("Phòng đã thêm vào danh sách");
                return;
            }

            // add list original
            dschitietphieuthue.Add(ctpt);

            // display datagrid
            HienThiChiTietPhieuThue(ctpt);

            txtGhiChu.Text         = "";
            txtMaPhong.Text        = "";
            TxtTenPhong.Text       = "";
            txtTinhTrangPhong.Text = "";
        }