public bool Compare(DOBangGiaBudget OrtherMuonTra) { try { FieldInfo[] infos = typeof(DOBangGiaBudget).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; }
public DOBangGiaBudget Copy() { DOBangGiaBudget pm = new DOBangGiaBudget(); try { FieldInfo[] infos = typeof(DOBangGiaBudget).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; }
private bool? Save(bool isCopy) { if (GetValidData()) { if (DABangGiaBudget.I.Update(doBangGiaBudget)) { doBangGiaBudget.DSDetail.AcceptChanges(); this.dsDetail = doBangGiaBudget.DSDetail.Copy(); dtSource = dsDetail.Tables[0]; this.gridControlDetail.DataSource = dtSource; doRootBangGiaBudget = doBangGiaBudget.Copy(); // rpTietMuc.DataSource = HelpDB.getDBService().LoadDataSet("select * from " + DMTietMuc.TABLE_MAP).Tables[0]; InitCotTietMuc(); if (isCopy == false) { UpdateIsAdd(false); this.MaBangGia.Text = doBangGiaBudget.MA_BGBG; // this.Text = Text = "KHPS: " + (doBangGiaBudget.TEN_KE_HOACH.Trim() == "" ? doBangGiaBudget.MA_KHLPS : doBangGiaBudget.TEN_KE_HOACH.Trim()); } if (IsAdd == false) { try { foreach (Form f in System.Windows.Forms.Application.OpenForms) { if (!(f is FrmKeHoachBudget)) continue; FrmKeHoachBudget fkh = (FrmKeHoachBudget)f; if (fkh.BangGia._getSelectedID() == doBangGiaBudget.BGBG_ID) { fkh.UpdateBangGia(dtSource.Copy()); } } } catch { } } HelpMsgBox.ShowNotificationMessage("Lưu dữ liệu thành công!"); return true; } else { HelpMsgBox.ShowErrorMessage("Lưu dữ liệu thất bại!"); return false; } } return false; }
private bool InitDOData(object id) { if (id is DOBangGiaBudget) { this.doBangGiaBudget = id as DOBangGiaBudget; return true; } if (!((id is Int64) || (id is string))) return false; this.doBangGiaBudget = DABangGiaBudget.I.LoadAll(HelpNumber.ParseInt64(id)); if (id.ToString() == "-2") { } return true; }
public void UpdateControls() { if (IsAdd == false) doRootBangGiaBudget = doBangGiaBudget.Copy(); HelpPhieu.SetSoPhieu(MaBangGia, doBangGiaBudget.MA_BGBG); GhiChu.Text = doBangGiaBudget.GHI_CHU; if (doBangGiaBudget.TIME_TYPE > 0) { ThoiGianApDung.SelectedType = (SelectionTypes)doBangGiaBudget.TIME_TYPE; ThoiGianApDung.FromDate = doBangGiaBudget.TU_NGAY.Value; ThoiGianApDung.ToDate = doBangGiaBudget.DEN_NGAY.Value; } UpdateIsAdd(IsAdd); }
public void SetCopy() { this.doBangGiaBudget.BGBG_ID = -1; this.IsAdd = true; this.doRootBangGiaBudget = null; this.Title.Text = "TẠO BẢNG GIÁ BUDGET (COPY)"; btnCopy.Enabled = false; btnDelete.Enabled = false; Info.Enabled = false; btnSave.Visible = true; btnExcel.Visible = true; btnImportBG.Visible = true; MaBangGia.Text = ""; GhiChu.Text = ""; ThoiGianApDung.SelectedType = SelectionTypes.None; foreach (DataRow r in dsDetail.Tables[0].Rows) { r[BANG_GIA_BUDGET_CT.BGBG_CT_ID] = DBNull.Value; r[BANG_GIA_BUDGET_CT.BGBG_ID] = DBNull.Value; } }