示例#1
0
        public ReportHelper()
        {
            // DI ready
            IServiceLocator locator = ServiceLocator.Current;

            _host                 = locator.GetService <IApplicationHost>();
            _dbContext            = locator.GetService <IDbContext>();
            _localizer            = locator.GetService <ILocalizer>();
            _stimulsoftReportShim = locator.GetService <IStimulsoftReportShim>(sloc =>
            {
                var inst       = System.Activator.CreateInstance("A2v10.Stimulsoft", "A2v10.Stimulsoft.StimulsoftReportShim");
                var instUnwrap = inst.Unwrap();
                var ass        = Assembly.GetAssembly(instUnwrap.GetType());

                var actualBuild = ass.GetName().Version.Build;

                if (actualBuild < StimulsoftVersion.ExpectedVersion)
                {
                    throw new InvalidProgramException($"Invalid A2v10.Stimulsoft build. Expected: {StimulsoftVersion.ExpectedVersion}, Actual: {actualBuild}");
                }
                var shim = instUnwrap as IStimulsoftReportShim;
                shim.Inject(sloc);
                return(shim);
            });
        }
示例#2
0
        public ReportHelper(IApplicationHost host)
        {
            // DI ready
            _host = host;
            IServiceLocator locator = host.Locator;

            _stimulsoftReportShim = locator.GetService <IStimulsoftReportShim>(sloc =>
            {
                var inst = System.Activator.CreateInstance("A2v10.Stimulsoft", "A2v10.Stimulsoft.StimulsoftReportShim");
                if (inst == null)
                {
                    throw new ArgumentNullException("A2v10.Stimulsoft");
                }
                var instUnwrap = inst.Unwrap();
                var ass        = Assembly.GetAssembly(instUnwrap.GetType());

                var actualBuild = ass.GetName().Version.Build;

                if (actualBuild < StimulsoftVersion.ExpectedVersion)
                {
                    throw new InvalidProgramException($"Invalid A2v10.Stimulsoft build. Expected: {StimulsoftVersion.ExpectedVersion}, Actual: {actualBuild}");
                }
                var shim = instUnwrap as IStimulsoftReportShim;
                shim.Inject(sloc);
                return(shim);
            });
        }