Exemple #1
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);
        }
Exemple #2
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);
        }
Exemple #3
0
        protected internal override Report _Clone(string Name, string Description)
        {
            FI.DataAccess.CustomMdxReports dacObj = DataAccessFactory.Instance.GetCustomMdxReportsDA();

            decimal newId = dacObj.InsertReport(_owner.ID, 0, 0, Name, Description, false, this.Mdx, this.Xsl);

            return(_owner.ReportSystem.GetReport(newId, typeof(CustomMdxReport), false));
        }
Exemple #4
0
        override protected internal void _Close(bool SaveFromState)
        {
            FI.DataAccess.CustomMdxReports dacObj = DataAccessFactory.Instance.GetCustomMdxReportsDA();

            if (SaveFromState)
            {
                dacObj.SaveReport(_owner.ID, this._id, this.Mdx, this.Xsl);
            }
        }
Exemple #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);
        }
Exemple #6
0
        public override void LoadHeader()
        {
            FI.DataAccess.CustomMdxReports dacObj    = DataAccessFactory.Instance.GetCustomMdxReportsDA();
            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"]);
        }
Exemple #7
0
        internal CustomMdxReport(decimal ID, User Owner) : base(ID, Owner)
        {
            if (ID == 0)          //if new
            {
                _xsl = DefaultXsl();

                FI.DataAccess.CustomMdxReports dacObj = DataAccessFactory.Instance.GetCustomMdxReportsDA();
                _id = dacObj.InsertReport(_owner.ID, 0, 0, "New Report", "", this.IsSelected, this.Mdx, this.Xsl);

                _isProxy = false;
                _isDirty = false;
            }
        }
Exemple #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;
        }
Exemple #9
0
        override protected internal void _Open()
        {
            short sharing = 0;
            short maxSubscriberSharing = 0;

            FI.DataAccess.CustomMdxReports dacObj = DataAccessFactory.Instance.GetCustomMdxReportsDA();
            dacObj.ReadReport(_owner.ID, this.ID,
                              ref this._parentReportId,
                              ref this._name,
                              ref this._description,
                              ref sharing,
                              ref maxSubscriberSharing,
                              ref this._isSelected,
                              ref this._mdx,
                              ref this._xsl,
                              ref this._server,
                              ref this._database,
                              ref _undoStateCount,
                              ref _redoStateCount);

            this._sharing = (Report.SharingEnum)sharing;
            this._maxSubscriberSharing = (Report.SharingEnum)maxSubscriberSharing;
        }
Exemple #10
0
 protected internal override void _SaveHeader()
 {
     FI.DataAccess.CustomMdxReports dacObj = DataAccessFactory.Instance.GetCustomMdxReportsDA();
     dacObj.UpdateReportHeader(this.Owner.ID, this.ID, this._parentReportId, (byte)this.SharingStatus, this.Name, this.Description, this.IsSelected);
 }
Exemple #11
0
 override protected internal void _Delete(bool DenyShared)
 {
     FI.DataAccess.CustomMdxReports dacObj = DataAccessFactory.Instance.GetCustomMdxReportsDA();
     dacObj.DeleteReport(_owner.ID, this.ID, DenyShared);
 }
Exemple #12
0
 override protected internal void _DeleteStates()
 {
     FI.DataAccess.CustomMdxReports dacObj = DataAccessFactory.Instance.GetCustomMdxReportsDA();
     dacObj.DeleteReportStates(this.ID);
 }
Exemple #13
0
 override protected internal void _SaveState()
 {
     FI.DataAccess.CustomMdxReports dacObj = DataAccessFactory.Instance.GetCustomMdxReportsDA();
     dacObj.SaveState(this.ID, this.MaxStateCount, this.Mdx, this.Xsl, ref this._undoStateCount);
 }
Exemple #14
0
 override protected internal void _LoadState(short StateCode)
 {
     FI.DataAccess.CustomMdxReports dacObj = DataAccessFactory.Instance.GetCustomMdxReportsDA();
     dacObj.LoadState(this.ID, StateCode, ref this._mdx, ref this._xsl, ref this._undoStateCount, ref this._redoStateCount);
 }