Exemple #1
0
 private void attach_tblChiTietPhieus(tblChiTietPhieu entity)
 {
     this.SendPropertyChanging();
     entity.tblDichVu = this;
 }
Exemple #2
0
 private void detach_tblChiTietPhieus(tblChiTietPhieu entity)
 {
     this.SendPropertyChanging();
     entity.tblDoDung = null;
 }
Exemple #3
0
 partial void DeletetblChiTietPhieu(tblChiTietPhieu instance);
Exemple #4
0
 partial void UpdatetblChiTietPhieu(tblChiTietPhieu instance);
Exemple #5
0
 partial void InserttblChiTietPhieu(tblChiTietPhieu instance);
        private void btnLuu2_Click(object sender, EventArgs e)
        {
            KhachHangDAO    dao_kh  = new KhachHangDAO();
            ChiTietPhieuDAO dao_ctp = new ChiTietPhieuDAO();
            PhieuThueDAO    dao_pt  = new PhieuThueDAO();

            if (luu == choice_them)
            {
                DataGridViewRow dr = dgvDoDung.SelectedRows[0];
                int             id = int.Parse(dr.Cells["IDPhong"].Value.ToString());
                // lay duoc idphong, lay soluong va sua vao phong
                DataGridViewRow dr2 = dgvKhachHang.SelectedRows[0];
                int             id2 = int.Parse(dr2.Cells["IDKhach"].Value.ToString());

                /*********************(that bai)
                 * // tim ra duoc chitietphieu ung voi phong co ID, sua so luong
                 * var y = (from a in db.tblKhaches
                 *        join b in db.tblPhieuThues on a.IDKhach equals b.IDKhach
                 *        join c in db.tblChiTietPhieux on b.IDPhieuThue equals c.IDPhieuThue
                 *        where c.IDPhong == id && a.IDKhach == id2
                 *        select new
                 *        {
                 *            IDPhieuThue = c.IDPhieuThue,
                 *            IDPhong = c.IDPhong,
                 *            IDDichVu = c.IDDichVu,
                 *            IDDoDung = c.IDDoDung,
                 *            SoLuong = c.SoLuong,
                 *            ThanhTien = c.ThanhTien,
                 *            IDChiTietPhieu = c.IDChiTietPhieu
                 *        }).AsEnumerable().Select(x => new tblChiTietPhieu
                 *        {
                 *            IDPhieuThue = x.IDPhieuThue,
                 *            IDPhong = x.IDPhong,
                 *            IDDichVu = x.IDDichVu,
                 *            IDDoDung = x.IDDoDung,
                 *            SoLuong = x.SoLuong,
                 *            ThanhTien = x.ThanhTien,
                 *            IDChiTietPhieu = x.IDChiTietPhieu
                 *        });
                 *
                 * // x.toList() co the gan vao datasource
                 * // sua so luong
                 *
                 * foreach ( tblChiTietPhieu ctp in y)
                 * {
                 *   ctp.SoLuong = int.Parse(txtSoLuongDoDung.Text);
                 *   //co ten do dung, bh lay id do dung
                 *   var dodung = from a in db.tblDoDungs where a.TenDoDung == cbDoDung.Text select a;
                 *
                 *   foreach ( var i in dodung)
                 *   {
                 *       ctp.IDDoDung = i.IDDoDung;
                 *   }
                 *
                 *   dao_ctp.Edit(ctp, id);
                 * }
                 * //db.SaveChanges();
                 * //them mot ban ghi chitietphieuthue moi;
                 **************************************/

                // sinh ra chitietphieu, giu nguyen idphieu,
                var phieu = from u in db.tblPhieuThues
                            join u1 in db.tblKhaches on u.IDKhach equals u1.IDKhach
                            where u1.IDKhach == id2
                            select new
                {
                    u.IDPhieuThue
                };
                foreach (var y in phieu)
                {
                    tblChiTietPhieu ctp = new tblChiTietPhieu();
                    if (db.tblChiTietPhieux.Count() == db.tblChiTietPhieux.Max(x => x.IDChiTietPhieu))
                    {
                        var temp = db.tblChiTietPhieux.Max(x => x.IDChiTietPhieu) + 1;
                        ctp.IDChiTietPhieu = temp;
                    }
                    if (db.tblChiTietPhieux.Count() != db.tblChiTietPhieux.Max(x => x.IDChiTietPhieu))
                    {
                        while (true)
                        {
                            if (db.tblChiTietPhieux.Min(x => x.IDChiTietPhieu) > 1)
                            {
                                var temp1 = db.tblChiTietPhieux.Min(x => x.IDChiTietPhieu) - 1;
                                ctp.IDChiTietPhieu = temp1;
                                break;
                            }
                            for (int i = db.tblChiTietPhieux.Min(x => x.IDChiTietPhieu); i <= db.tblChiTietPhieux.Max(x => x.IDChiTietPhieu); i++)
                            {
                                if (db.tblChiTietPhieux.SingleOrDefault(x => x.IDChiTietPhieu == i) != null)
                                {
                                    continue;
                                }
                                if (db.tblChiTietPhieux.SingleOrDefault(x => x.IDChiTietPhieu == i) == null)
                                {
                                    ctp.IDChiTietPhieu = i;
                                    break;
                                }
                            }
                        }
                        break;
                    }
                    ctp.IDPhieuThue = y.IDPhieuThue;
                    ctp.SoLuong     = int.Parse(txtSoLuongDoDung.Text);
                    var dodung = from a in db.tblDoDungs where a.TenDoDung == cbDoDung.Text select a;

                    foreach (var i in dodung)
                    {
                        ctp.IDDoDung = i.IDDoDung;
                    }
                    var dichvu = from a in db.tblDichVus where a.TenDichVu == cbDichVu.Text select a;

                    foreach (var i in dichvu)
                    {
                        ctp.IDDichVu = i.IDDichVu;
                    }

                    ctp.IDPhong   = id;
                    ctp.ThanhTien = ctp.SoLuong * int.Parse(txtGiaDoDung.Text) + int.Parse(txtGiaDichVu.Text);
                    dao_ctp.Insert(ctp);
                    luu = 0;
                    LoadBangDichVu();
                    LoadBangDoDung();
                }
            }
            if (luu == choice_sua)
            {
            }
            if (luu == choice_xoa)
            {
                if (DialogResult.Yes == MessageBox.Show("Bạn chắc không?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question))
                {
                    DataGridViewRow dr = dgvDoDung.SelectedRows[0];
                    int             id = int.Parse(dr.Cells["IDChiTietPhieu"].Value.ToString());
                    var             k  = db.tblChiTietPhieux.Where(x => x.IDChiTietPhieu == id).First();
                    // so luong bao nhieu thanh tien tru di bay nhieu
                    db.tblChiTietPhieux.Remove(k);
                    //  k.ThanhTien -= k.SoLuong * int.Parse(dr.Cells["DonGia"].Value.ToString());
                    // k.IDDoDung = 0;
                    //k.SoLuong = 0;
                    db.SaveChanges();
                }
                luu = 0;
                LoadBangDichVu();
                LoadBangDoDung();
                MoKhoaAll();
            }
        }
        /*
         * private void lvPhong_MouseClick(object sender, MouseEventArgs e)
         * {
         *  foreach (ListViewItem item in lvPhong.Items)
         *  {
         *      if(item.Checked== true)
         *      {
         *          int a = int.Parse(item.SubItems[1].Text);
         *          txtTen.Text = a.ToString();
         *      }
         *  }
         * }
         */
        private void btnLuu_Click(object sender, EventArgs e)
        {
            /*foreach (ListViewItem item in lvPhong.Items)
             * {
             *  if(item.Checked== true)
             *  {
             *      int a = int.Parse(item.SubItems[1].Text);
             *      txtTen.Text = a.ToString();
             *  }
             * }*/
            KhachHangDAO    dao_kh  = new KhachHangDAO();
            ChiTietPhieuDAO dao_ctp = new ChiTietPhieuDAO();
            PhieuThueDAO    dao_pt  = new PhieuThueDAO();

            if (luu == choice_them)
            {
                // them khach hang
                tblKhach k = new tblKhach();
                k.TenKhach = txtTen.Text;
                k.SDT      = txtSDT.Text;
                k.DiaChi   = txtDiaChi.Text;
                k.SoNguoi  = int.Parse(txtSoLuongNguoi.Text);
                if (db.tblKhaches.Count() == db.tblKhaches.Max(x => x.IDKhach))
                {
                    var temp = db.tblKhaches.Max(x => x.IDKhach) + 1;
                    k.IDKhach = temp;
                }
                if (db.tblKhaches.Count() != db.tblKhaches.Max(x => x.IDKhach))
                {
                    while (true)
                    {
                        if (db.tblKhaches.Min(x => x.IDKhach) > 1)
                        {
                            var temp1 = db.tblKhaches.Min(x => x.IDKhach) - 1;
                            k.IDKhach = temp1;
                            break;
                        }
                        for (int i = db.tblKhaches.Min(x => x.IDKhach); i <= db.tblKhaches.Max(x => x.IDKhach); i++)
                        {
                            if (db.tblKhaches.SingleOrDefault(x => x.IDKhach == i) != null)
                            {
                                continue;
                            }
                            if (db.tblKhaches.SingleOrDefault(x => x.IDKhach == i) == null)
                            {
                                k.IDKhach = i;
                                break;
                            }
                        }
                        break;
                    }
                }

                dao_kh.Insert(k);

                // them vao trong phieuthue
                tblPhieuThue pt = new tblPhieuThue();
                pt.IDKhach      = k.IDKhach;
                pt.ThoiGianThue = DateTime.Now;
                pt.ThoiGianTra  = DateTime.Now;
                pt.TongTien     = 0;

                /*for( int i=1; i<db.tblPhieuThues.Max(x=>x.IDPhieuThue);i++)
                 * {
                 *  if( db.tblPhieuThues.SingleOrDefault(x=>x.IDPhieuThue==i)==null)
                 *  {
                 *      pt.IDPhieuThue = i;
                 *  }
                 * }*/
                if (db.tblPhieuThues.Count() == db.tblPhieuThues.Max(x => x.IDPhieuThue))
                {
                    var temp = db.tblPhieuThues.Max(x => x.IDPhieuThue) + 1;
                    pt.IDPhieuThue = temp;
                }
                if (db.tblPhieuThues.Count() != db.tblPhieuThues.Max(x => x.IDPhieuThue))
                {
                    while (true)
                    {
                        if (db.tblPhieuThues.Min(x => x.IDPhieuThue) > 1)
                        {
                            var temp1 = db.tblPhieuThues.Min(x => x.IDPhieuThue) - 1;
                            pt.IDPhieuThue = temp1;
                            break;
                        }
                        for (int i = db.tblPhieuThues.Min(x => x.IDPhieuThue); i <= db.tblPhieuThues.Max(x => x.IDPhieuThue); i++)
                        {
                            if (db.tblPhieuThues.SingleOrDefault(x => x.IDPhieuThue == i) != null)
                            {
                                continue;
                            }
                            if (db.tblPhieuThues.SingleOrDefault(x => x.IDPhieuThue == i) == null)
                            {
                                pt.IDPhieuThue = i;
                                break;
                            }
                        }
                        break;
                    }
                }
                //

                dao_pt.Insert(pt);


                // them phong voi id khach da cho va them vao o tong tien
                // them vao chitietphieuthue
                foreach (ListViewItem item in lvPhong.Items)
                {
                    if (item.Checked == true)
                    {
                        int i_room = int.Parse(item.SubItems[1].Text);

                        tblChiTietPhieu ctp = new tblChiTietPhieu();
                        ctp.IDPhong     = i_room;
                        ctp.IDDichVu    = 0;
                        ctp.IDDoDung    = 0;
                        ctp.SoLuong     = 0;
                        ctp.ThanhTien   = 0;
                        ctp.IDPhieuThue = pt.IDPhieuThue;

                        if (db.tblChiTietPhieux.Count() == db.tblChiTietPhieux.Max(x => x.IDChiTietPhieu))
                        {
                            var temp = db.tblChiTietPhieux.Max(x => x.IDChiTietPhieu) + 1;
                            ctp.IDChiTietPhieu = temp;
                        }
                        if (db.tblChiTietPhieux.Count() != db.tblChiTietPhieux.Max(x => x.IDChiTietPhieu))
                        {
                            while (true)
                            {
                                if (db.tblChiTietPhieux.Min(x => x.IDChiTietPhieu) > 1)
                                {
                                    var temp1 = db.tblChiTietPhieux.Min(x => x.IDChiTietPhieu) - 1;
                                    ctp.IDChiTietPhieu = temp1;
                                    break;
                                }
                                for (int i = db.tblChiTietPhieux.Min(x => x.IDChiTietPhieu); i <= db.tblChiTietPhieux.Max(x => x.IDChiTietPhieu); i++)
                                {
                                    if (db.tblChiTietPhieux.SingleOrDefault(x => x.IDChiTietPhieu == i) != null)
                                    {
                                        continue;
                                    }
                                    if (db.tblChiTietPhieux.SingleOrDefault(x => x.IDChiTietPhieu == i) == null)
                                    {
                                        ctp.IDChiTietPhieu = i;
                                        break;
                                    }
                                }
                            }
                            break;
                        }
                        dao_ctp.Insert(ctp);
                    }
                }
                //luu xong
                luu = 0;
                MoKhoaAll();
                KhoiTaoDataGridView();
                ResetAll();
            }

            if (luu == choice_sua)
            {
                // sua trong bang khachhang
                // sua trong bang co idphong, tuc la bang chitietphieuthue( ma muon co bang chi tiet phieu thue de sua thi lai
                // phai lay duoc idphieuthue co ma khach hang
                DataGridViewRow dr = dgvKhachHang.SelectedRows[0];
                int             id = int.Parse(dr.Cells["IDKhach"].Value.ToString());
                tblKhach        k  = new tblKhach();
                k.IDKhach  = id;
                k.SDT      = txtSDT.Text;
                k.SoNguoi  = int.Parse(txtSoLuongNguoi.Text);
                k.TenKhach = txtTen.Text;
                k.DiaChi   = txtDiaChi.Text;
                dao_kh.Edit(k);
                MessageBox.Show("Bạn sửa thành công!");

                /*
                 * // lay idphieu thue co makhach hang
                 * var phieu = from u in db.tblPhieuThues
                 *          join u1 in db.tblKhaches on u.IDKhach equals u1.IDKhach
                 *          where u1.IDKhach == id
                 *          select new
                 *          {
                 *              u.IDPhieuThue
                 *          };
                 * foreach( var u in phieu)
                 * {
                 *  int a = u.IDPhieuThue;
                 *  // sua trong bang chitietphieuthue co IDPhieuThue, IDPhong=
                 * }
                 */
                luu = 0;
                MoKhoaAll();
                KhoiTaoDataGridView();
                ResetAll();
            }

            if (luu == choice_xoa)
            {
                // xoa thi phai xoa o trong khach, phieu, chitietphieu
                DataGridViewRow dr = dgvKhachHang.SelectedRows[0];
                int             id = int.Parse(dr.Cells["IDKhach"].Value.ToString());
                if (DialogResult.Yes == MessageBox.Show("Bạn chắc không?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question))
                {
                    //xoa kh
                    dao_kh.Delete(id);
                    //xoa  phieu
                    var phieu = from u in db.tblPhieuThues
                                join u1 in db.tblKhaches on u.IDKhach equals u1.IDKhach
                                where u1.IDKhach == id
                                select new
                    {
                        u.IDPhieuThue
                    };
                    foreach (var u in phieu)
                    {
                        int a = u.IDPhieuThue;
                        // sua trong bang chitietphieuthue co IDPhieuThue, IDPhong=
                        dao_pt.Delete(a);
                        // xoa trong chi tiet phieu
                        dao_ctp.Delete(a);
                    }
                }
                luu = 0;
                MoKhoaAll();
                KhoiTaoDataGridView();
                ResetAll();
            }
        }