Пример #1
0
        /// <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);
        }
Пример #2
0
        //**************************************************************************
        ///    <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);
        }
Пример #3
0
        //**************************************************************************
        ///    <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);
        }
Пример #4
0
        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);
            }
        }
Пример #5
0
        //**************************************************************************
        ///    <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);
        }
Пример #6
0
        //**************************************************************************
        ///    <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);
        }
Пример #7
0
        /// <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));
        }
Пример #8
0
        //**************************************************************************
        ///    <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));
        }
Пример #9
0
        //**************************************************************************
        ///    <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);
        }