private void _updateMemoData(QL_HOIVIEN_KTEntities _context, QL_HOATDONG_VIECLAM item)
        {
            QL_HOATDONG_VIECLAM_DOITUONG_KHAC item_chitiet;

            foreach (var person in listDoiTuongKhongKhuyetTat)
            {
                if (person.PARENT_ID == null) //add
                {
                    person.QL_HOATDONG_VIECLAM = item;
                    _context.QL_HOATDONG_VIECLAM_DOITUONG_KHAC.Add(person);
                }
                else if (person.PARENT_ID == clsParameter.statusDeleted) //delete
                {
                    item_chitiet = (from p in _context.QL_HOATDONG_VIECLAM_DOITUONG_KHAC
                                    where p.DTK_ID == person.DTK_ID
                                    select p).FirstOrDefault();
                    if (item_chitiet != null)
                    {
                        _context.QL_HOATDONG_VIECLAM_DOITUONG_KHAC.Remove(item_chitiet);
                    }
                }
                else //modify
                {
                    var chitiet = _context.QL_HOATDONG_VIECLAM_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_VIECLAM item)
        {
            var query = item.QL_HOATDONG_VIECLAM_DOITUONG_KHAC.ToList();

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

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

                deTuNgay.EditValue          = item.VL_THOIGIAN_BATDAU;
                deDenNgay.EditValue         = item.VL_THOIGIAN_KETTHUC;
                seTongSoNgay.EditValue      = item.VL_TONGSO_NGAY;
                txtTenChuongTrinh.EditValue = item.VL_TEN;
                txtDiaDiem.EditValue        = item.VL_DIADIEM;
                txtDonViThucHien.EditValue  = item.VL_DONVI_GIOITHIEU;

                seSoLuongNguoiThamGia.EditValue = item.VL_SOLUONG;
                seSoLuongNu.EditValue           = item.VL_SOLUONG_NU;
                seThuNhapThang.EditValue        = item.VL_THUNHAP_THANG;

                memoDoiTuong.EditValue     = item.VL_DOITUONG_TEN;
                memoDoiTuongId.EditValue   = item.VL_DOITUONG_ID;
                memoDoiTuongKhac.EditValue = item.VL_DOITUONG_KHAC;

                _setMemoText(item);

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

                        #region Add

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

                        #endregion

                        break;

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

                    default:
                        break;
                    }
                    _context.SaveChanges();

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

            return(base.SaveData());
        }
        private void _setObjectEntities(ref QL_HOATDONG_VIECLAM item)
        {
            item.VL_LOAI_ID          = _id_loai;
            item.VL_THOIGIAN_BATDAU  = deTuNgay.Ex_EditValueToDateTime();
            item.VL_THOIGIAN_KETTHUC = deDenNgay.Ex_EditValueToDateTime();
            item.VL_TONGSO_NGAY      = seTongSoNgay.Ex_EditValueToInt();
            item.VL_THUNHAP_THANG    = seThuNhapThang.Ex_EditValueToInt();

            item.VL_TEN             = txtTenChuongTrinh.Text;
            item.VL_DIADIEM         = txtDiaDiem.Text;
            item.VL_DONVI_GIOITHIEU = txtDonViThucHien.Text;

            item.VL_SOLUONG    = seSoLuongNguoiThamGia.Ex_EditValueToInt();
            item.VL_SOLUONG_NU = seSoLuongNu.Ex_EditValueToInt();

            item.VL_DOITUONG_TEN  = memoDoiTuong.Text;
            item.VL_DOITUONG_ID   = memoDoiTuongId.Text;
            item.VL_DOITUONG_KHAC = memoDoiTuongKhac.Text;

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

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

                    QL_HOATDONG_VIECLAM entities = (from p in context.QL_HOATDONG_VIECLAM where p.VL_ID == id select p).FirstOrDefault();
                    context.QL_HOATDONG_VIECLAM.Remove(entities);
                    context.SaveChanges();
                    FormStatus = EnumFormStatus.VIEW;
                }
            }
        }