private void _updateMemoData(QL_HOIVIEN_KTEntities _context, QL_HOATDONG_VAYVON item)
        {
            QL_HOATDONG_VAYVON_DOITUONG_KHAC item_chitiet;

            foreach (var person in listDoiTuongKhongKhuyetTat)
            {
                if (person.PARENT_ID == null) //add
                {
                    person.QL_HOATDONG_VAYVON = item;
                    _context.QL_HOATDONG_VAYVON_DOITUONG_KHAC.Add(person);
                }
                else if (person.PARENT_ID == clsParameter.statusDeleted) //delete
                {
                    item_chitiet = (from p in _context.QL_HOATDONG_VAYVON_DOITUONG_KHAC
                                    where p.DTK_ID == person.DTK_ID
                                    select p).FirstOrDefault();
                    if (item_chitiet != null)
                    {
                        _context.QL_HOATDONG_VAYVON_DOITUONG_KHAC.Remove(item_chitiet);
                    }
                }
                else //modify
                {
                    var chitiet = _context.QL_HOATDONG_VAYVON_DOITUONG_KHAC.Where(p => p.DTK_ID == person.DTK_ID).FirstOrDefault();
                    if (chitiet != null)
                    {
                        _context.Entry(chitiet).CurrentValues.SetValues(person);
                    }
                }
            }
        }
        private void _setMemoText(QL_HOATDONG_VAYVON item)
        {
            var query = item.QL_HOATDONG_VAYVON_DOITUONG_KHAC.ToList();

            listDoiTuongKhongKhuyetTat = new BindingList <QL_HOATDONG_VAYVON_DOITUONG_KHAC>(query);
            memoDoiTuongKhac.Text      = _getMemoText(listDoiTuongKhongKhuyetTat);
        }
        private void _bindingData()
        {
            _clearData();
            QL_HOATDONG_VAYVON item = gvGrid.GetFocusedRow() as QL_HOATDONG_VAYVON;

            if (item != null)
            {
                _idRowSelected = item.VV_ID;

                deTuNgay.EditValue     = item.VV_THOIGIAN_BATDAU;
                deDenNgay.EditValue    = item.VV_THOIGIAN_KETTHUC;
                seTongSoNgay.EditValue = item.VV_TONGSO_NGAY;

                txtTenChuongTrinh.EditValue = item.VV_TEN;
                txtDiaDiem.EditValue        = item.VV_DIADIEM;
                txtNguonVay.EditValue       = item.VV_NGUON_VAY;

                seSoLuongNguoiThamGia.EditValue = item.VV_SOLUONG;
                seSoLuongNu.EditValue           = item.VV_SOLUONG_NU;
                seSoTienVay.EditValue           = item.VV_TIEN_VAY;

                deNgayTra.EditValue        = item.VV_THOIGIAN_TRA;
                txtPhuongThucTra.EditValue = item.VV_PHUONGTHUC_TRA;

                memoDoiTuong.EditValue   = item.VV_DOITUONG_TEN;
                memoDoiTuongId.EditValue = item.VV_DOITUONG_ID;
                _setMemoText(item);

                txtNoiDung.EditValue = item.VV_NOIDUNG;
            }
        }
        protected override bool SaveData()
        {
            if (_validateControl())
            {
                using (var _context = new QL_HOIVIEN_KTEntities())
                {
                    QL_HOATDONG_VAYVON item = new QL_HOATDONG_VAYVON();
                    switch (_formStatus)
                    {
                    case EnumFormStatus.ADD:

                        item = new QL_HOATDONG_VAYVON();
                        _setObjectEntities(ref item);
                        _updateMemoData(_context, item);
                        _context.QL_HOATDONG_VAYVON.Add(item);

                        break;

                    case EnumFormStatus.MODIFY:
                        Int64 id = Convert.ToInt64(gvGrid.GetFocusedRowCellValue(colID));
                        item = (from p in _context.QL_HOATDONG_VAYVON where p.VV_ID == id select p).FirstOrDefault <QL_HOATDONG_VAYVON>();
                        if (item != null)
                        {
                            _setObjectEntities(ref item);
                        }
                        var entity = _context.QL_HOATDONG_VAYVON.Find(id);
                        if (entity != null)
                        {
                            _context.Entry(entity).CurrentValues.SetValues(item);
                        }

                        _updateMemoData(_context, item);

                        break;

                    default:
                        break;
                    }
                    _context.SaveChanges();

                    _idRowSelected = item.VV_ID;
                }
                FormStatus = EnumFormStatus.VIEW;
            }

            return(base.SaveData());
        }
        private void _setObjectEntities(ref QL_HOATDONG_VAYVON item)
        {
            item.VV_THOIGIAN_BATDAU  = deTuNgay.Ex_EditValueToDateTime();
            item.VV_THOIGIAN_KETTHUC = deDenNgay.Ex_EditValueToDateTime();
            item.VV_TONGSO_NGAY      = seTongSoNgay.Ex_EditValueToInt();

            item.VV_TEN       = txtTenChuongTrinh.Text;
            item.VV_DIADIEM   = txtDiaDiem.Text;
            item.VV_NGUON_VAY = txtNguonVay.Text;

            item.VV_SOLUONG    = seSoLuongNguoiThamGia.Ex_EditValueToInt();
            item.VV_SOLUONG_NU = seSoLuongNu.Ex_EditValueToInt();
            item.VV_TIEN_VAY   = seSoTienVay.Ex_EditValueToInt();

            item.VV_THOIGIAN_TRA   = deNgayTra.Ex_EditValueToDateTime();
            item.VV_PHUONGTHUC_TRA = txtPhuongThucTra.Text;

            item.VV_DOITUONG_TEN  = memoDoiTuong.Text;
            item.VV_DOITUONG_ID   = memoDoiTuongId.Text;
            item.VV_DOITUONG_KHAC = memoDoiTuongKhac.Text;

            item.VV_NOIDUNG = txtNoiDung.Text;
        }
        private void _deleteRow()
        {
            QL_HOATDONG_VAYVON item = gvGrid.GetFocusedRow() as QL_HOATDONG_VAYVON;

            if (item != null)
            {
                if (clsMessage.MessageYesNo(string.Format("Bạn có chắc muốn xóa: {0}", item.VV_TEN)) == DialogResult.Yes)
                {
                    Int64 id          = Convert.ToInt64(gvGrid.GetFocusedRowCellValue(colID));
                    var   listChiTiet = (from p in context.QL_HOATDONG_VAYVON_DOITUONG_KHAC where p.PARENT_ID == id select p);
                    foreach (var item_delete in listChiTiet)
                    {
                        context.QL_HOATDONG_VAYVON_DOITUONG_KHAC.Remove(item_delete);
                    }

                    QL_HOATDONG_VAYVON entities = (from p in context.QL_HOATDONG_VAYVON where p.VV_ID == id select p).FirstOrDefault();
                    context.QL_HOATDONG_VAYVON.Remove(entities);

                    context.SaveChanges();
                    FormStatus = EnumFormStatus.VIEW;
                }
            }
        }