Ejemplo n.º 1
0
        override protected internal void _LoadState(short StateCode)
        {
            FI.DataAccess.OlapReports dacObj = DataAccessFactory.Instance.GetOlapReportsDA();
            string reportXml = dacObj.LoadState(this.ID, StateCode, ref this._undoStateCount, ref this._redoStateCount);

            LoadFromXml(reportXml);
        }
Ejemplo n.º 2
0
        public FI.Common.Data.FIDataTable GetUsersWithChildReports(Report ParentReport)
        {
            FI.Common.Data.FIDataTable table = null;


            if (ParentReport.GetType() == typeof(OlapReport))
            {
                FI.DataAccess.OlapReports dacObj = DataAccessFactory.Instance.GetOlapReportsDA();
                table = dacObj.ReadUsersWithChildReports(ParentReport.ID, this.GetReportTypeCode(ParentReport.GetType()));
            }
            else if (ParentReport.GetType() == typeof(StorecheckReport))
            {
                FI.DataAccess.StorecheckReports dacObj = DataAccessFactory.Instance.GetStorecheckReportsDA();
                table = dacObj.ReadUsersWithChildReports(ParentReport.ID, this.GetReportTypeCode(ParentReport.GetType()));
            }
            else if (ParentReport.GetType() == typeof(CustomSqlReport))
            {
                FI.DataAccess.CustomSqlReports dacObj = DataAccessFactory.Instance.GetCustomSqlReportsDA();
                table = dacObj.ReadUsersWithChildReports(ParentReport.ID, this.GetReportTypeCode(ParentReport.GetType()));
            }
            else if (ParentReport.GetType() == typeof(CustomMdxReport))
            {
                FI.DataAccess.CustomMdxReports dacObj = DataAccessFactory.Instance.GetCustomMdxReportsDA();
                table = dacObj.ReadUsersWithChildReports(ParentReport.ID, this.GetReportTypeCode(ParentReport.GetType()));
            }
            else
            {
                throw new NotSupportedException();
            }

            return(table);
        }
Ejemplo n.º 3
0
        public FI.Common.Data.FIDataTable GetReportHeaders(System.Type ReportType)
        {
            FI.Common.Data.FIDataTable table = null;


            if (ReportType == typeof(OlapReport))
            {
                FI.DataAccess.OlapReports dacObj = DataAccessFactory.Instance.GetOlapReportsDA();
                table = dacObj.ReadReportHeaders(_owner.ID);
            }
            else if (ReportType == typeof(StorecheckReport))
            {
                FI.DataAccess.StorecheckReports dacObj = DataAccessFactory.Instance.GetStorecheckReportsDA();
                table = dacObj.ReadReportHeaders(_owner.ID);
            }
            else if (ReportType == typeof(CustomSqlReport))
            {
                FI.DataAccess.CustomSqlReports dacObj = DataAccessFactory.Instance.GetCustomSqlReportsDA();
                table = dacObj.ReadReportHeaders(_owner.ID);
            }
            else if (ReportType == typeof(CustomMdxReport))
            {
                FI.DataAccess.CustomMdxReports dacObj = DataAccessFactory.Instance.GetCustomMdxReportsDA();
                table = dacObj.ReadReportHeaders(_owner.ID);
            }
            else
            {
                throw new NotSupportedException();
            }

            return(table);
        }
Ejemplo n.º 4
0
        override protected internal Report _Clone(string Name, string Description)
        {
            FI.DataAccess.OlapReports dacObj = DataAccessFactory.Instance.GetOlapReportsDA();
            string ReportXml    = this.SaveToXml();
            string OpenNodesXml = this.SaveOpenNodesToXml();

            decimal newId = dacObj.InsertReport(_owner.ID, 0, 0, Name, Description, false, (byte)this.GraphType, (int)this.GraphOptions, ReportXml, OpenNodesXml);

            return(_owner.ReportSystem.GetReport(newId, typeof(OlapReport), false));
        }
Ejemplo n.º 5
0
        public decimal CreateAsSharedFrom(Report parentReport, Report.SharingEnum subscriberSharing)
        {
            if (this.Owner == parentReport.Owner)
            {
                throw new Exception("Cannot share to same user");
            }

            parentReport.LoadHeader();

            if (subscriberSharing == Report.SharingEnum.None)
            {
                throw new Exception("Wrong sharing option");
            }

            if (parentReport.SharingStatus != Report.SharingEnum.None)
            {
                throw new Exception("Shared report cannot be source of other shared report");
            }


            decimal newReportId = 0;

            System.Type reportType = parentReport.GetType();
            // ----------------------------------------
            if (reportType == typeof(OlapReport))
            {
                FI.DataAccess.OlapReports dacObj = DataAccessFactory.Instance.GetOlapReportsDA();
                newReportId = dacObj.CreateSharedReport(parentReport.ID, this.Owner.ID, (int)subscriberSharing);
            }
            else if (reportType == typeof(StorecheckReport))
            {
                FI.DataAccess.StorecheckReports dacObj = DataAccessFactory.Instance.GetStorecheckReportsDA();
                newReportId = dacObj.CreateSharedReport(parentReport.ID, this.Owner.ID, (int)subscriberSharing);
            }
            else if (reportType == typeof(CustomSqlReport))
            {
                FI.DataAccess.CustomSqlReports dacObj = DataAccessFactory.Instance.GetCustomSqlReportsDA();
                newReportId = dacObj.CreateSharedReport(parentReport.ID, this.Owner.ID, (int)subscriberSharing);
            }
            else if (reportType == typeof(CustomMdxReport))
            {
                FI.DataAccess.CustomMdxReports dacObj = DataAccessFactory.Instance.GetCustomMdxReportsDA();
                newReportId = dacObj.CreateSharedReport(parentReport.ID, this.Owner.ID, (int)subscriberSharing);
            }
            // ----------------------------------------


            // update max
            if (((int)parentReport._maxSubscriberSharing) < ((int)subscriberSharing))
            {
                parentReport._maxSubscriberSharing = subscriberSharing;
            }

            return(newReportId);
        }
Ejemplo n.º 6
0
        override protected internal void _Close(bool SaveFromState)
        {
            FI.DataAccess.OlapReports dacObj = DataAccessFactory.Instance.GetOlapReportsDA();

            //dacObj.UpdateReportHeader(_owner.ID , this._id , _parentReportId, (byte)this._sharing , _name , _description , _isSelected , (byte)_graphType , _graphOptions.ToString() );

            if (SaveFromState)
            {
                dacObj.SaveReport(_owner.ID, this._id, SaveToXml(), this.SaveOpenNodesToXml());
            }

//			// always save on close, cause open nodes could've been changed
//			dacObj.SaveReport(_owner.ID , this._id  , SaveToXml(), this.SaveOpenNodesToXml() );
        }
Ejemplo n.º 7
0
        override public void LoadHeader()
        {
            FI.DataAccess.OlapReports  dacObj    = DataAccessFactory.Instance.GetOlapReportsDA();
            FI.Common.Data.FIDataTable dataTable = dacObj.ReadReportHeader(this.Owner.ID, this.ID);

            this._parentReportId       = (decimal)dataTable.Rows[0]["parent_report_id"];
            this._name                 = (string)dataTable.Rows[0]["name"];
            this._description          = (string)dataTable.Rows[0]["description"];
            this._isSelected           = (bool)dataTable.Rows[0]["is_selected"];
            this._sharing              = (Report.SharingEnum)((byte)dataTable.Rows[0]["sharing_status"]);
            this._maxSubscriberSharing = (Report.SharingEnum)((byte)dataTable.Rows[0]["max_subscriber_sharing_status"]);

            string openNodesXml = (string)dataTable.Rows[0]["open_nodes"];
        }
Ejemplo n.º 8
0
        public void DeleteSharedReport(Report parentReport, Report childReport)
        {
            System.Type reportType = childReport.GetType();

            if (parentReport.GetType() != reportType)
            {
                throw new Exception("Parent and child report type mismatch");
            }

            short maxSurscriberSharing = 0;

            // delete child report states
            childReport._DeleteStates();


            // ----------------------------------------
            if (reportType == typeof(OlapReport))
            {
                FI.DataAccess.OlapReports dacObj = DataAccessFactory.Instance.GetOlapReportsDA();
                dacObj.DeleteSharedReport(parentReport.ID, childReport.ID, ref maxSurscriberSharing);
            }
            else if (reportType == typeof(StorecheckReport))
            {
                FI.DataAccess.StorecheckReports dacObj = DataAccessFactory.Instance.GetStorecheckReportsDA();
                dacObj.DeleteSharedReport(parentReport.ID, childReport.ID, ref maxSurscriberSharing);
            }
            else if (reportType == typeof(CustomSqlReport))
            {
                FI.DataAccess.CustomSqlReports dacObj = DataAccessFactory.Instance.GetCustomSqlReportsDA();
                dacObj.DeleteSharedReport(parentReport.ID, childReport.ID, ref maxSurscriberSharing);
            }
            else if (reportType == typeof(CustomMdxReport))
            {
                FI.DataAccess.CustomMdxReports dacObj = DataAccessFactory.Instance.GetCustomMdxReportsDA();
                dacObj.DeleteSharedReport(parentReport.ID, childReport.ID, ref maxSurscriberSharing);
            }
            else
            {
                throw new NotSupportedException();
            }
            // ----------------------------------------

            childReport._sharing = Report.SharingEnum.None;
            parentReport._maxSubscriberSharing = (Report.SharingEnum)maxSurscriberSharing;
        }
Ejemplo n.º 9
0
        internal OlapReport(decimal ID, User Owner) : base(ID, Owner)
        {
            _schema = new Schema();
            _axes   = new Olap.Axes(this.Schema);

            this.Axes.BeforeChangeItem += new EventHandler(OnBeforeChangeAxesItem);

            if (ID == 0)          //if new
            {
                FI.DataAccess.OlapReports dacObj = DataAccessFactory.Instance.GetOlapReportsDA();
                string ReportXml    = "<R></R>";
                string OpenNodesXml = "<NODES></NODES>";
                _id = dacObj.InsertReport(_owner.ID, 0, 0, "New Report", "", this.IsSelected, (byte)this.GraphType, (int)this.GraphOptions, ReportXml, OpenNodesXml);

                _isProxy = false;
                _isDirty = false;
            }
        }
Ejemplo n.º 10
0
        override protected internal void _Open()
        {
            short  sharing = 0;
            short  maxSubscriberSharing = 0;
            string reportXml            = "";
            string openNodesXml         = "";
            string schemaXml            = "";
            byte   graphType            = 0;
            int    graphOptions         = 0;

            //bool fakeIsSelected=false;

            FI.DataAccess.OlapReports dacObj = DataAccessFactory.Instance.GetOlapReportsDA();
            dacObj.ReadReport(_owner.ID, this.ID,
                              ref this._parentReportId,
                              ref this._name,
                              ref this._description,
                              ref sharing,
                              ref maxSubscriberSharing,
                              ref this._isSelected,   //ref fakeIsSelected,
                              ref graphType,
                              ref graphOptions,
                              ref Schema.Server,
                              ref Schema.Database,
                              ref Schema.Cube,
                              ref reportXml,
                              ref schemaXml,
                              ref openNodesXml,
                              ref _undoStateCount,
                              ref _redoStateCount);

            this._sharing = (Report.SharingEnum)sharing;
            this._maxSubscriberSharing = (Report.SharingEnum)maxSubscriberSharing;
            this._graphType            = (GraphTypeEnum)graphType;
            this._graphOptions         = (GraphOptionsEnum)graphOptions;

            //dacObj.UpdateReportHeader(_owner.ID , this.ID, this._parentReportId , (byte)this.SharingStatus , this.Name , this.Description , this.IsSelected , 0, "");

            LoadOpenNodesFromXml(openNodesXml);             // before other loads, cause then other loads will fetch members depending on open nodes
            LoadFromXmlSchema(schemaXml);
            LoadFromXml(reportXml);
        }
Ejemplo n.º 11
0
 override protected internal void _Delete(bool DenyShared)
 {
     FI.DataAccess.OlapReports dacObj = DataAccessFactory.Instance.GetOlapReportsDA();
     dacObj.DeleteReport(_owner.ID, this.ID, DenyShared);
 }
Ejemplo n.º 12
0
 override protected internal void _DeleteStates()
 {
     FI.DataAccess.OlapReports dacObj = DataAccessFactory.Instance.GetOlapReportsDA();
     dacObj.DeleteReportStates(this.ID);
 }
Ejemplo n.º 13
0
 override protected internal void _SaveState()
 {
     FI.DataAccess.OlapReports dacObj = DataAccessFactory.Instance.GetOlapReportsDA();
     dacObj.SaveState(this.ID, this.MaxStateCount, SaveToXml(), ref this._undoStateCount);
 }
Ejemplo n.º 14
0
 override protected internal void _SaveHeader()
 {
     FI.DataAccess.OlapReports dacObj = DataAccessFactory.Instance.GetOlapReportsDA();
     dacObj.UpdateReportHeader(this.Owner.ID, this.ID, this._parentReportId, (byte)this.SharingStatus, this.Name, this.Description, this.IsSelected, this.SaveOpenNodesToXml(), (byte)this.GraphType, (int)this.GraphOptions);
 }