public DOLichPhatSongNew Copy() { DOLichPhatSongNew pm = new DOLichPhatSongNew(); try { FieldInfo[] infos = typeof(DOLichPhatSongNew).GetFields(); foreach (FieldInfo info in infos) { if (info.FieldType == typeof(DataSet)) { object ds = info.GetValue(this); if (ds == null) continue; info.SetValue(pm, ((DataSet)ds).Copy()); } else { info.SetValue(pm, info.GetValue(this)); } } } catch(Exception ex) { PLException.AddException(ex); } return pm; }
public bool Compare(DOLichPhatSongNew OrtherMuonTra) { try { FieldInfo[] infos = typeof(DOLichPhatSongNew).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(OrtherMuonTra); if ((a == null && b != null) || a != null && b == null) return false; else if (a == null && b == null) continue; if (info.FieldType == typeof(DataSet)) { DataSet dsA = a as DataSet; DataSet 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; DataTable 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; DataView viewA = dtA.DefaultView; DataView 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 (a.Equals(b) == false) return false; } } return true; } catch (Exception ex) { PLException.AddException(ex); } return false; }
void barButtonItemDelete_ItemClick(object sender, ItemClickEventArgs e) { DataRow row = gridViewMaster.GetFocusedDataRow(); if (row == null) return; if (row[QL_LICH_PHAT_SONG.INSERT_LPS_ID].ToString() != "") { HelpMsgBox.ShowNotificationMessage("Đây là lịch phát sóng được chèn trước đó, bạn không thể chèn lịch khác vào thời gian này!\n Bạn phải xóa lịch để chèn lịch khác vào thời gian này."); return; } var lps = new DOLichPhatSongNew(); var dtNgayPhat = (DateTime)row["NGAY_PHAT_SONG"]; string lpsctids = row["LPS_CT_IDS"].ToString(); lps.LPS_ID = HelpNumber.ParseInt64(row[IDField]); lps.NGAY_BAT_DAU = dtNgayPhat; lps.NGAY_PHAT_CUOI = dtNgayPhat; lps.SO_NGAY_PHAT = 1; lps.KENH_PHAT = HelpNumber.ParseInt64(row["KENH_PHAT"]); lps.SO_TAP_NGAY = lpsctids.Split(',').Length; lps.TONG_TAP = lps.SO_TAP_NGAY; lps.GIO_PHAT_SONG = (DateTime)row["GIO_PHAT_SONG_CHUNG"]; lps.THU_TRONG_TUAN = row["THU_TRONG_TUAN"].ToString(); lps.THOI_LUONG = row["THOI_LUONG_CHUNG"].ToString(); lps.THOI_LUONG_NUM = HelpNumber.ParseDecimal(row["THOI_LUONG_CHUNG_NUM"]); var frm = new FrmLichPhatSonNew(lps, null, null, ReplaceType.INSERT); HelpProtocolForm.ShowModalDialog(this, frm); }