//sự kiện cbPhongTro_SelectedIndexChanged
        private void cbPhongTro_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                int maPhong = Int32.Parse(cbPhongTro.Text);                            //lấy mã phòng
                txtTenPhong.Text = context.PhongTroes
                                   .Where(s => s.MaPhong == maPhong).First().TenPhong; //hiện tên phòng

                var dsmaHD = context.ChiTietHopDongs
                             .Where(s => s.MaPhong == maPhong).Select(s => s.MaHD);//danh sách mã hợp đồng

                //PhieuThanhToan
                List <PhieuThanhToan> dsPhieuThu = new List <PhieuThanhToan>(); //tạo
                foreach (var maHD in dsmaHD)                                    //đi từng hợp đồng
                {
                    //tìm Phiếu thanh toán
                    var phieuThu = (from s in context.PhieuThanhToans
                                    where s.MaHD == maHD
                                    select new
                    {
                        s.MaPhieu,
                        s.NgayThanhToan,
                        s.ThangSuDung,
                        s.ThanhTien,
                        s.MaHD
                    }).Distinct().ToList();
                    foreach (var temp  in phieuThu)                           //đi từng phiếu
                    {
                        PhieuThanhToan phieuThanhToan = new PhieuThanhToan(); //tạo
                        //gán giá trị
                        phieuThanhToan.MaPhieu       = temp.MaPhieu;
                        phieuThanhToan.NgayThanhToan = temp.NgayThanhToan;
                        phieuThanhToan.ThangSuDung   = temp.ThangSuDung;
                        phieuThanhToan.ThanhTien     = temp.ThanhTien;
                        phieuThanhToan.MaHD          = temp.MaHD;
                        dsPhieuThu.Add(phieuThanhToan);//thêm vào list
                    }
                }
                dvgPhieuThu.DataSource = dsPhieuThu;//đổ dữ liệu lên dvgPhieuThu


                //Dịch Vụ
                var dsMaChiTietHD = context.ChiTietHopDongs
                                    .Where(s => s.MaPhong == maPhong).Select(s => s.MaChiTietHD)
                                    .Distinct().ToList(); //danh sách mã Chi Tiết hợp đồng

                var dsDV = new List <DichVu>();           //tạo
                foreach (var temp in dsMaChiTietHD)       //đi từng chi tiết hợp đồng
                {
                    var temp1 = context.ChiTietDichVus
                                .Where(s => s.MaChiTietHD == temp).Select(s => s.MaDV)
                                .Distinct().ToList();                //danh sách mã chi tiết dịch vụ
                    foreach (var temp2 in temp1)                     //đi từng mã chi tiết dịch vụ
                    {
                        if (dsDV.Any(s => s.MaDV == temp2) == false) //đã có dịch vụ đó
                        {
                            DichVu dv = context.DichVus
                                        .Where(s => s.MaDV == temp2).First(); //tìm dịch vụ
                            DichVu temp3 = new DichVu();                      //tạo
                            //gán giá trị
                            temp3.GiaDV = dv.GiaDV;
                            temp3.MaDV  = dv.MaDV;
                            temp3.TenDV = dv.TenDV;
                            dsDV.Add(temp3);//thêm vào list
                        }
                    }
                }
                dvgDV.DataSource = dsDV;//đổ dữ liệu lên dvgDV

                //Khách Hàng
                List <KhachHang> dsKH = new List <KhachHang>(); //tạo
                foreach (var maHD in dsmaHD)                    //đi từng mã hợp đồng
                {
                    var kh = context.HopDongThues
                             .Where(s => s.MaHD == maHD).Select(s => s.KhachHang)
                             .Distinct().ToList();         //danh sách khách hàng
                    foreach (var temp in kh)               //đi từng khách hàng
                    {
                        KhachHang temp1 = new KhachHang(); //tạo
                        //gán giá trị
                        temp1.MaKhach     = temp.MaKhach;
                        temp1.TenKhach    = temp.TenKhach;
                        temp1.CMND        = temp.CMND;
                        temp1.GioiTinh    = temp.GioiTinh;
                        temp1.DiaChiKhach = temp.DiaChiKhach;
                        temp1.NgheNghiep  = temp.NgheNghiep;
                        temp1.SdtKhach    = temp.SdtKhach;
                        temp1.HinhAnhKH   = temp.HinhAnhKH;
                        dsKH.Add(temp1);//thêm vào list
                    }//
                }//
                dvgKH.DataSource = dsKH; //đỏ dữ liệu lên dvgKH
            }//end try
            catch (Exception)            //lỗi
            {
                MessageBox.Show("Loi load du lieu!", "Loi",
                                MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Esempio n. 2
0
        //sự kiện Click cho nút Update
        private void btnUpdate_Click(object sender, EventArgs e)
        {
            try
            {
                dvg.Enabled       = true;
                txtMa.Enabled     = false;
                btnDelete.Enabled = true;

                //lấy dữ liệu
                int     maDV  = Int32.Parse(txtMa.Text.ToString());
                string  tenDV = txtTen.Text.ToString();
                decimal gia   = Decimal.Parse(txtGia.Text.ToString());

                //nếu giá nhỏ hơn 0 thì báo lỗi và loaddata
                if (gia < 0)
                {
                    MessageBox.Show("Loi! Vui long kiem tra lai thong tin", "Loi",
                                    MessageBoxButtons.OK, MessageBoxIcon.Error);
                    LoadData();
                    return;
                }

                if (insert == 0)//update
                {
                    try
                    {
                        var dv = context.DichVus
                                 .Where(s => s.MaDV == maDV).First();//tìm dịch vụ tương ứng
                        //gán lại giá trị
                        dv.MaDV  = maDV;
                        dv.TenDV = tenDV;
                        dv.GiaDV = gia;
                    }//end try
                    catch (Exception)//lỗi
                    {
                        MessageBox.Show("Loi! Vui long kiem tra lai thong tin", "Loi",
                                        MessageBoxButtons.OK, MessageBoxIcon.Error);
                        LoadData();
                        return;
                    } //end cathch
                }     //end if
                else  //insert
                {
                    try
                    {
                        DichVu dv = new DichVu(); //tạo
                        //gán giá trị
                        dv.GiaDV = gia;
                        dv.TenDV = tenDV;
                        dv.MaDV  = maDV;
                        context.DichVus.Add(dv); //thêm dịch vụ
                    }//end try
                    catch (Exception)            //lỗi
                    {
                        MessageBox.Show("Loi! Vui long kiem tra lai thong tin", "Loi",
                                        MessageBoxButtons.OK, MessageBoxIcon.Error);
                        LoadData();
                        return;
                    }
                    insert = 0;//tắt cờ insert
                }

                context.SaveChanges();//lưu

                MessageBox.Show("Thanh cong!", "Thong bao",
                                MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            catch (Exception)//lỗi
            {
                MessageBox.Show("Loi! Vui long kiem tra lai thong tin", "Loi",
                                MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            LoadData();
        }