public bool Compare(DOTNSSaleRevScr doTNSProgramGridSCR)
        {
            try
            {
                FieldInfo[] infos = typeof(DOTNSSaleRevScr).GetFields();
                foreach (FieldInfo info in infos)
                {
                    if (info.Name == "NGUOI_CAP_NHAT" || info.Name == "NGAY_CAP_NHAT") continue;

                    object a = info.GetValue(this);
                    object b = info.GetValue(doTNSProgramGridSCR);
                    if ((a == null && b != null) || a != null && b == null)
                        return false;
                    if (a == null && b == null) continue;

                    if (a.Equals(b) == false)
                        return false;

                }
                return true;
            }
            catch (Exception ex)
            {
                PLException.AddException(ex);
            }
            return false;
        }
        public DOTNSSaleRevScr Copy()
        {
            var pm = new DOTNSSaleRevScr();

            try
            {
                FieldInfo[] infos = typeof(DOTNSSaleRevScr).GetFields();
                foreach (FieldInfo info in infos)
                {
                    if (info.FieldType == typeof(DataSet))
                    {
                        continue;
                    }
                    info.SetValue(pm, info.GetValue(this));
                }
            }
            catch(Exception ex)
            {
                PLException.AddException(ex);
            }
            return pm;
        }
        private TNSSaveResult SaveData(bool isCopy)
        {
            var rs = GetValidData();
            if (rs == TNSSaveResult.VALID_DATA)
            {
                if (DATNSSaleRevScr.I.Update(_doTnsSaleRevScr))
                {

                    if (_isAdd == true)
                    {
                        UpdateGrid(true);
                    }
                    if (isCopy == false)
                    {
                        UpdateIsAdd(false);
                    }
                    _doTnsSaleRevScr.DSDetail = null;
                    _doTnsSaleRevScr.DataTables = null;
                    _doTnsSaleRevScr.DetailRowCount = 0;
                    _doRootTNSSaleRevScr = _doTnsSaleRevScr.Copy();
                    SetTarget(_doTnsSaleRevScr.TARGET, _doTnsSaleRevScr.TARGET_NAME, _doTnsSaleRevScr.TARGET_DISPLAYNAME);
                    SetThiTruong(_doTnsSaleRevScr.THI_TRUONG, _doTnsSaleRevScr.THI_TRUONG_NAME, _doTnsSaleRevScr.THI_TRUONG_DISPLAYNAME);

                    return TNSSaveResult.SAVE_SUCCESS;
                }
                return TNSSaveResult.SAVE_FAIL;

            }
            return rs;
        }
 private bool InitDOData(object id)
 {
     if (id is DOTNSSaleRevScr)
     {
         _doTnsSaleRevScr = id as DOTNSSaleRevScr;
         return true;
     }
     if (!((id is Int64) || (id is string))) return false;
     _doTnsSaleRevScr = DATNSSaleRevScr.I.Load(HelpNumber.ParseInt64(id));
     if (id.ToString() == "-2")
     {
     }
     return true;
 }
        public void UpdateControls()
        {
            if (_isAdd == false)
                _doRootTNSSaleRevScr = _doTnsSaleRevScr.Copy();

            GhiChu.Text = _doTnsSaleRevScr.GHI_CHU;
            TenFile.Text = _doTnsSaleRevScr.FILE_NAME;
            TenNguon.Text = _doTnsSaleRevScr.NAME;
            SetTarget(_doTnsSaleRevScr.TARGET, _doTnsSaleRevScr.TARGET_NAME, _doTnsSaleRevScr.TARGET_DISPLAYNAME);
            SetThiTruong(_doTnsSaleRevScr.THI_TRUONG, _doTnsSaleRevScr.THI_TRUONG_NAME, _doTnsSaleRevScr.THI_TRUONG_DISPLAYNAME);
            if (_doTnsSaleRevScr.TU_NGAY != null)
            {
                TuThang.Value = _doTnsSaleRevScr.TU_NGAY.Value.Month;
                TuNam.Value = _doTnsSaleRevScr.TU_NGAY.Value.Year;
            }
            if (_doTnsSaleRevScr.DEN_NGAY != null)
            {
                DenThang.Value = _doTnsSaleRevScr.DEN_NGAY.Value.Month;
                DenNam.Value = _doTnsSaleRevScr.DEN_NGAY.Value.Year;
            }
            UpdateIsAdd(_isAdd);
        }