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); }); }
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); }); }