public DOChuongTrinh Copy() { var bm = new DOChuongTrinh(); try { FieldInfo[] infos = typeof(DOChuongTrinh).GetFields(); foreach (FieldInfo info in infos) { if (info.FieldType == typeof(DataSet)) { object ds = info.GetValue(this); if (ds == null) continue; info.SetValue(bm, ((DataSet)ds).Copy()); } else { info.SetValue(bm, info.GetValue(this)); } } } catch (Exception ex) { PLException.AddException(ex); } return bm; }
public bool Compare(DOChuongTrinh otherChuongTrinh) { try { var infos = typeof(DOChuongTrinh).GetFields(); foreach (FieldInfo info in infos) { if (info.Name == "NGUOI_CAP_NHAT" || info.Name == "NGAY_CAP_NHAT") continue; var a = info.GetValue(this); var b = info.GetValue(otherChuongTrinh); if ((a == null && b != null) || a != null && b == null) return false; if (a == null && b == null) continue; if (info.FieldType == typeof(DataSet)) { var dsA = a as DataSet; var dsB = b as DataSet; if (dsA.Tables.Count != dsB.Tables.Count) return false; foreach (DataTable dtA in dsA.Tables) { if (dsB.Tables.Contains(dtA.TableName) == false) return false; var dtB = dsB.Tables[dtA.TableName]; if (dtA.Columns.Count == 0 && dtB.Columns.Count == 0) continue; if (dtA.Columns.Count != dtB.Columns.Count) return false; if (dtA.Rows.Count == 0 && dtB.Rows.Count == 0) continue; if (dtA.Rows.Count != dtB.Rows.Count) return false; foreach (DataColumn colA in dtA.Columns) { if (dtB.Columns.Contains(colA.ColumnName) == false) return false; var viewA = dtA.DefaultView; var viewB = dtB.DefaultView; viewA.Sort = colA.ColumnName; viewB.Sort = colA.ColumnName; for (int i = 0; i < viewA.Count; i++) { if (viewA[i][colA.ColumnName].Equals(viewB[i][colA.ColumnName]) == false) return false; } } } } else if (info.FieldType == typeof(List<DOPostMaster>)) { var la = (List<DOPostMaster>)a; var lb = (List<DOPostMaster>)b; foreach (var pa in la) { var exist = false; foreach (var pb in lb) { if (pa.CTPM_ID == pb.CTPM_ID) { if (pa.Compare(pb) == false) return false; exist = true; } } if (exist == false) return false; } } else { if (a.Equals(b) == false) return false; } } return true; } catch (Exception ex) { PLException.AddException(ex); } return false; }
void popupContainerEditCTr_EditValueChanged(object sender, EventArgs e) { long id = MaChuongTrinh._getSelectedID(); ChuongTrinh = DAChuongTrinh.I.Load(id); HelpDate.SetDateEdit(NgayAWB, ChuongTrinh.NGAY_AWB); NoiDung.Text = ChuongTrinh.NOI_DUNG; TenGoc.Text = ChuongTrinh.TEN_GOC; ThanhLyChuongTrinh.Checked = ChuongTrinh.IS_THANH_LY == "Y"; TietMuc._setSelectedID(ChuongTrinh.TIET_MUC); AppCtrl.SetMuitiValues(QuocGia, ChuongTrinh.NUOC_SAN_XUAT); AppCtrl.SetDecimal(NamSanXuat, ChuongTrinh.NAM_SAN_XUAT); AppCtrl.SetInfoBox(plInfoBoxEtxChuongTrinh, ChuongTrinh.NGUOI_NHAP, ChuongTrinh.NGAY_NHAP, ChuongTrinh.PHONG_BAN, ChuongTrinh.NGUOI_CAP_NHAT, ChuongTrinh.NGAY_CAP_NHAT); CodeCT.Text = ChuongTrinh.CODE_CT; PostMaster._refresh(DAPostMaster.I.GetTablePostMaster(id)); PostMaster._setSelectedID(-1); }