/// <summary> /// Thực hiện nghiệp vụ Update dữ liệu /// </summary> private void PerformUpdateAction() { //Create Again to ignore Where Clause m_Query = DmucDoituongkcb.CreateQuery(); //Gọi Business cập nhật dữ liệu int v_intObjectTypeID = Convert.ToInt32(txtID.Text); //Kiểm tra trùng tên đối tượng và cảnh báo DmucDoituongkcbCollection v_arrSameNameObject = new DmucDoituongkcbController() .FetchByQuery(m_Query.AddWhere(DmucDoituongkcb.Columns.TenDoituongKcb, Comparison.Equals, txtName.Text.Trim().ToUpper()) .AND(DmucDoituongkcb.Columns.IdDoituongKcb, Comparison.NotEquals, v_intObjectTypeID)); if (v_arrSameNameObject.Count > 0) { if (!Utility.AcceptQuestion("Đã có đối tượng có tên:" + txtName.Text.Trim() + ". Bạn có muốn tiếp tục ghi hay không?", "Cảnh báo", true)) { return; } } int actionResult = CreateObjectType(); if (actionResult > -1) { m_DataSource.Sort(DmucDoituongkcb.Columns.SttHthi, true); ProcessData1(); //Return to the InitialStatus m_enAction = action.FirstOrFinished; //Nhảy đến bản ghi vừa cập nhật trên lưới. Do txtID chưa bị reset nên dùng luôn Utility.GotoNewRowJanus(grdList, DmucDoituongkcb.Columns.IdLoaidoituongKcb, txtID.Text.Trim()); SetControlStatus(); Utility.ShowMsg("Cập nhật dữ liệu thành công."); } else { Utility.ShowMsg("Bạn gặp lỗi trong quá trình cập nhập", "Thông báo"); return; } }
/// <summary> /// Thực hiện nghiệp vụ Insert dữ liệu /// </summary> private void PerformInsertAction() { //Kiểm tra trùng tên đối tượng và cảnh báo DmucDoituongkcbCollection v_arrSameNameObject = new DmucDoituongkcbController().FetchByQuery(m_Query.AddWhere(DmucDoituongkcb.Columns.TenDoituongKcb, txtName.Text.Trim().ToUpper())); if (v_arrSameNameObject.Count > 0) { if (!Utility.AcceptQuestion("Đã có đối tượng có tên:" + txtName.Text.Trim() + ". Bạn có muốn tiếp tục ghi hay không?", "Cảnh báo", true)) { //Create Again to ignore Where Clause txtName.Focus(); m_Query = DmucDoituongkcb.CreateQuery(); return; } } //Create Again to ignore Where Clause m_Query = DmucDoituongkcb.CreateQuery(); // Lấy về MaxID vừa được thêm vào CSDL int actionResult = CreateObjectType(); if (actionResult > 0) { ProcessData(actionResult); //Return to the InitialStatus m_enAction = action.FirstOrFinished; //Nhảy đến bản ghi vừa thêm mới trên lưới. Do txtID chưa bị reset nên dùng luôn Utility.GotoNewRowJanus(grdList, DmucDoituongkcb.Columns.IdLoaidoituongKcb, actionResult.ToString()); Utility.ShowMsg("Thêm mới dữ liệu thành công!"); SetControlStatus(); this.Activate(); } else//Có lỗi xảy ra { Utility.ShowMsg("Thêm mới không thành công. Mời bạn xem lại"); } }