/// <summary> /// Swap report order /// </summary> /// <param name="pobjSourceReport">Source Report</param> /// <param name="pobjDestReport">Destination Report</param> public void SwapReport(object pobjSourceReport, object pobjDestReport) { sys_ReportAndGroupDS dsReportAndGroup = new sys_ReportAndGroupDS(); dsReportAndGroup.Update(pobjSourceReport); dsReportAndGroup.Update(pobjDestReport); }
//************************************************************************** /// <Description> /// This method uses to add a report to specified group /// </Description> /// <Inputs> /// ReportID, GroupID /// </Inputs> /// <Outputs> /// N/A /// </Outputs> /// <Returns> /// New report order /// </Returns> /// <Authors> /// DungLA /// </Authors> /// <History> /// 3-Jan-2005 /// </History> /// <Notes> /// </Notes> //************************************************************************** public int AddReportToGroup(string pstrReportID, string pstrGroupID) { sys_ReportAndGroupDS dsReportAndGroup = new sys_ReportAndGroupDS(); sys_ReportAndGroupVO voReportAndGroup = new sys_ReportAndGroupVO(); voReportAndGroup.GroupID = pstrGroupID; voReportAndGroup.ReportID = pstrReportID; // increase report order by one voReportAndGroup.ReportOrder = dsReportAndGroup.GetMaxReportOrder(pstrGroupID) + 1; // insert report and group to sys_ReportAndGroup table dsReportAndGroup.Add(voReportAndGroup); return(voReportAndGroup.ReportOrder); }
//************************************************************************** /// <Description> /// This method not implements yet /// </Description> /// <Inputs> /// /// </Inputs> /// <Outputs> /// /// </Outputs> /// <Returns> /// /// </Returns> /// <Authors> /// DungLA /// </Authors> /// <History> /// Created: 28-Dec-2004 /// </History> /// <Notes> /// </Notes> //************************************************************************** public void Delete(object pObjectVO) { sys_ReportVO voReport = (sys_ReportVO)pObjectVO; sys_ReportAndGroupDS dsReportAndGroup = new sys_ReportAndGroupDS(); // delete data in sys_ReportAndGroup dsReportAndGroup.DeleteByReportID(voReport.ReportID); // delete data in sys_ReportDrillDown where master id is selected report id sys_ReportDrillDownDS dsDrillDown = new sys_ReportDrillDownDS(); dsDrillDown.Delete(voReport.ReportID); // delete data in sys_ReportFields sys_ReportFieldsDS dsReportFields = new sys_ReportFieldsDS(); dsReportFields.Delete(voReport.ReportID); // delete data in sys_ReportPara sys_ReportParaDS dsReportPara = new sys_ReportParaDS(); dsReportPara.Delete(voReport.ReportID); // retrieve history of this report sys_ReportHistoryVO voReportHistory = new sys_ReportHistoryVO(); sys_ReportHistoryDS dsReportHistory = new sys_ReportHistoryDS(); sys_ReportHistoryParaDS dsHistoryPara = new sys_ReportHistoryParaDS(); ArrayList arrHistory = new ArrayList(); arrHistory = dsReportHistory.ListByReport(voReport.ReportID); // delete all data in sys_ReportHistoryPara related to each history if (arrHistory.Count > 0) { for (int i = 0; i < arrHistory.Count - 1; i++) { voReportHistory = (sys_ReportHistoryVO)arrHistory[i]; dsHistoryPara.Delete(voReportHistory.HistoryID); } } // delete data in sys_ReportHistory dsReportHistory.DeleteByReportID(voReport.ReportID); // delete data in sys_Report sys_ReportDS dsReport = new sys_ReportDS(); dsReport.Delete(voReport.ReportID); }
public bool DeleteGroup(string pstrGroupID) { sys_ReportGroupDS dsReportGroup = new sys_ReportGroupDS(); sys_ReportAndGroupDS dsReportAndGroup = new sys_ReportAndGroupDS(); ArrayList arrObjects = dsReportAndGroup.GetObjectVOs(pstrGroupID); if (arrObjects.Count == 0) { // delete the group dsReportGroup.Delete(pstrGroupID); return(true); } else { return(false); } }
//************************************************************************** /// <Description> /// This method uses to change up order of a row in sys_ReportAndGroup /// </Description> /// <Inputs> /// Report ID /// </Inputs> /// <Outputs> /// changes /// </Outputs> /// <Returns> /// bool /// </Returns> /// <Authors> /// DungLA /// </Authors> /// <History> /// Created: 30-Dec-2004 /// </History> /// <Notes> /// </Notes> //************************************************************************** public bool MoveUpReport(string pstrReportID) { bool blnResult = false; sys_ReportAndGroupDS dsReportAndGroup = new sys_ReportAndGroupDS(); sys_ReportAndGroupVO voCurrentObject = new sys_ReportAndGroupVO(); sys_ReportAndGroupVO voPreviousObject = new sys_ReportAndGroupVO(); ArrayList arrReportAndGroup = new ArrayList(); string strGroupID = dsReportAndGroup.GetGroupIDByReportID(pstrReportID); // get all record from sys_ReportAndGroup arrReportAndGroup = dsReportAndGroup.GetObjectVOs(strGroupID); for (int i = 0; i < arrReportAndGroup.Count; i++) { sys_ReportAndGroupVO voReportAndGroup = (sys_ReportAndGroupVO)arrReportAndGroup[i]; if (voReportAndGroup.ReportID.Equals(pstrReportID)) { int intCurrentOrder = voReportAndGroup.ReportOrder; // if current order is the top then cannot move up any more if (intCurrentOrder <= 1) { // return false blnResult = false; } else { // get previous report voPreviousObject = (sys_ReportAndGroupVO)arrReportAndGroup[i - 1]; // get current report voCurrentObject = (sys_ReportAndGroupVO)arrReportAndGroup[i]; // switch order voCurrentObject.ReportOrder = voPreviousObject.ReportOrder; voPreviousObject.ReportOrder = intCurrentOrder; // update two rows in database dsReportAndGroup.Update(voPreviousObject); dsReportAndGroup.Update(voCurrentObject); // return true blnResult = true; } } } return(blnResult); }
//************************************************************************** /// <Description> /// This method uses to change down of a row in sys_ReportAndGroup /// </Description> /// <Inputs> /// ReportID /// </Inputs> /// <Outputs> /// changes /// </Outputs> /// <Returns> /// bool /// </Returns> /// <Authors> /// DungLA /// </Authors> /// <History> /// 30-Dec-2004 /// </History> /// <Notes> /// </Notes> //************************************************************************** public bool MoveDownReport(string pstrReportID) { bool blnResult = false; sys_ReportAndGroupDS dsReportAndGroup = new sys_ReportAndGroupDS(); sys_ReportAndGroupVO voNextObject = new sys_ReportAndGroupVO(); sys_ReportAndGroupVO voCurrentObject = new sys_ReportAndGroupVO(); ArrayList arrReportAndGroup = new ArrayList(); string strGroupID = dsReportAndGroup.GetGroupIDByReportID(pstrReportID); arrReportAndGroup = dsReportAndGroup.GetObjectVOs(strGroupID); for (int i = 0; i < arrReportAndGroup.Count; i++) { sys_ReportAndGroupVO voReportAndGroup = (sys_ReportAndGroupVO)arrReportAndGroup[i]; if (voReportAndGroup.ReportID.Equals(pstrReportID)) { int intCurrentOrder = voReportAndGroup.ReportOrder; // if current order reach the bottom then return false if (intCurrentOrder >= arrReportAndGroup.Count) { blnResult = false; } else { // destination report voNextObject = (sys_ReportAndGroupVO)arrReportAndGroup[i + 1]; // current report voCurrentObject = (sys_ReportAndGroupVO)arrReportAndGroup[i]; // switch order voCurrentObject.ReportOrder = voNextObject.ReportOrder; voNextObject.ReportOrder = intCurrentOrder; //update two rows into database dsReportAndGroup.Update(voNextObject); dsReportAndGroup.Update(voCurrentObject); blnResult = true; } } } return(blnResult); }
/// <summary> /// Get sys_ReportAndGroupVO object /// </summary> /// <param name="pstrReportID">ReportID</param> /// <param name="pstrGroupID">GroupID</param> /// <returns>sys_ReportAndGroupVO</returns> public object GetReportAndGroupObject(string pstrReportID, string pstrGroupID) { sys_ReportAndGroupDS dsRnG = new sys_ReportAndGroupDS(); return(dsRnG.GetObjectVO(pstrReportID, pstrGroupID)); }
//************************************************************************** /// <Description> /// This method uses to get max report order of specified group). /// </Description> /// <Inputs> /// GroupID /// </Inputs> /// <Outputs> /// Max order /// </Outputs> /// <Returns> /// int /// </Returns> /// <Authors> /// DungLA /// </Authors> /// <History> /// 03-Jan-2005 /// </History> /// <Notes> /// </Notes> //************************************************************************** public int GetMaxReportOrder(string pstrGroupID) { sys_ReportAndGroupDS dsReportAndGroup = new sys_ReportAndGroupDS(); return(dsReportAndGroup.GetMaxReportOrder(pstrGroupID)); }
//************************************************************************** /// <Description> /// This method uses to make a copy of specified report to another group, /// also copy all data relative to report (sys_ReportAndGroup, sys_ReportDrillDown, /// sys_ReportFields, sys_ReportPara). /// </Description> /// <Inputs> /// Source ReportID, Destination GroupID /// </Inputs> /// <Outputs> /// New report id /// </Outputs> /// <Returns> /// new report id /// </Returns> /// <Authors> /// DungLA /// </Authors> /// <History> /// 03-Jan-2005 /// 11-Jan-2005 /// </History> /// <Notes> /// Return newly report id /// </Notes> //************************************************************************** public object CopyReport(string pstrReportID, string pstrGroupID, out int ointReportOrder) { const string METHOD_NAME = THIS + ".CopyReport()"; const int REPORT_ID_MAX_LENGTH = 20; const string CODE_DATE_FORMAT = "yyyyMMddHHmmssfff"; UtilsBO boUtils = new UtilsBO(); sys_ReportDS dsReport = new sys_ReportDS(); sys_ReportVO voReport; // use to add new report to selected group sys_ReportAndGroupVO voReportAndGroup = new sys_ReportAndGroupVO(); sys_ReportAndGroupDS dsReportAndGroup = new sys_ReportAndGroupDS(); // use to copy report para sys_ReportParaDS dsReportPara = new sys_ReportParaDS(); // use to copy report fields sys_ReportFieldsDS dsReportFields = new sys_ReportFieldsDS(); // use to copy drill down report sys_ReportDrillDownDS dsReportDrillDown = new sys_ReportDrillDownDS(); // get the data of selected object voReport = (sys_ReportVO)(dsReport.GetObjectVO(pstrReportID)); #region Copy report // make a copy report sys_ReportVO voCopiedReport = new sys_ReportVO(); voCopiedReport = voReport; // get database server date time DateTime dtmDB = boUtils.GetDBDate(); // report ID = yyyyMMddHHmmssfff voCopiedReport.ReportID = dtmDB.ToString(CODE_DATE_FORMAT); if (voCopiedReport.ReportID.Length > REPORT_ID_MAX_LENGTH) { throw new PCSBOException(ErrorCode.MESSAGE_VALUE_TOO_LONG, METHOD_NAME, new Exception()); } voCopiedReport.ReportName = Constants.COPY_OF + voCopiedReport.ReportName; // save new report to database dsReport.Add(voCopiedReport); #endregion #region Add new report to group voReportAndGroup.GroupID = pstrGroupID; voReportAndGroup.ReportID = voCopiedReport.ReportID; // increase report order by one in group. voReportAndGroup.ReportOrder = dsReportAndGroup.GetMaxReportOrder(pstrGroupID) + 1; // save data dsReportAndGroup.Add(voReportAndGroup); ointReportOrder = voReportAndGroup.ReportOrder; #endregion #region Copy all data relative from old report to new report #region ReportPara // get all parameter(s) sys_ReportParaVO voReportPara; ArrayList arrParas = dsReportPara.GetObjectVOs(pstrReportID); // make a copy of each parameter if (arrParas.Count > 0) { for (int i = 0; i < arrParas.Count; i++) { voReportPara = (sys_ReportParaVO)(arrParas[i]); // assign new report id voReportPara.ReportID = voCopiedReport.ReportID; // save new para dsReportPara.Add(voReportPara); } } #endregion #region ReportFields // get all report fields sys_ReportFieldsVO voReportFields; ArrayList arrFields = dsReportFields.GetObjectVOs(pstrReportID); // make a copy of each field if (arrFields.Count > 0) { for (int i = 0; i < arrFields.Count; i++) { voReportFields = (sys_ReportFieldsVO)arrFields[i]; // assign new report id voReportFields.ReportID = voCopiedReport.ReportID; // save new field dsReportFields.Add(voReportFields); } } #endregion #region ReportDrillDown // get all drill down report sys_ReportDrillDownVO voReportDrillDown; ArrayList arrDrillDown = dsReportDrillDown.GetObjectVOs(pstrReportID); // make a copy each drill down report if (arrDrillDown.Count > 0) { for (int i = 0; i < arrDrillDown.Count; i++) { voReportDrillDown = (sys_ReportDrillDownVO)arrDrillDown[i]; // assign new report id voReportDrillDown.MasterReportID = voCopiedReport.ReportID; // save new drill down dsReportDrillDown.Add(voReportDrillDown); } } #endregion #endregion return(voCopiedReport); }