public RepositoryMapping()
 {
     Config cfg = new Config();
     FileSystemHelper fs = new FileSystemHelper(cfg);
     ResourceStrings r = new ResourceStrings(cfg);
     PathHelper = new AppUrlHelper(fs, r);
 }
示例#2
0
        public void OnException(ExceptionContext filterContext)
        {
            Config          config    = new Config();
            ResourceStrings resources = new ResourceStrings(config);

            if (filterContext == null)
            {
                throw new ArgumentNullException("filterContext");
            }

            if (filterContext.IsChildAction)
            {
                return;
            }

            if (filterContext != null && filterContext.Exception != null)
            {
                ErrorSignal.FromCurrentContext().Raise(filterContext.Exception);
            }

            if (filterContext.ExceptionHandled || !filterContext.HttpContext.IsCustomErrorEnabled)
            {
                return;
            }

            CustomErrorViewModelBase errorViewModel;

            HttpException httpException = filterContext.Exception as HttpException;

            if (httpException != null)
            {
                this.Status = httpException.GetHttpCode();
            }

            if (this.Status == 404)
            {
                errorViewModel = new Error404ViewModel(resources);
            }
            else if (config.IsLocalInstall && CheckForSqlException(filterContext.Exception, resources))
            {
                errorViewModel = new SqlErrorViewModel(resources);
            }
            else
            {
                errorViewModel = new Error500ViewModel(resources);
            }

            filterContext.Result = new ViewResult
            {
                ViewName = View,
                ViewData = new ViewDataDictionary <CustomErrorViewModelBase>(errorViewModel)
            };

            filterContext.ExceptionHandled = true;
            filterContext.HttpContext.Response.Clear();
            filterContext.HttpContext.Response.StatusCode = this.Status;

            filterContext.HttpContext.Response.TrySkipIisCustomErrors = true;
        }
        public void OnException(ExceptionContext filterContext)
        {
            Config config = new Config();
            ResourceStrings resources = new ResourceStrings(config);

            if (filterContext == null)
            {
                throw new ArgumentNullException("filterContext");
            }

            if (filterContext.IsChildAction)
            {
                return;
            }

            if (filterContext != null && filterContext.Exception != null)
                ErrorSignal.FromCurrentContext().Raise(filterContext.Exception);

            if (filterContext.ExceptionHandled || !filterContext.HttpContext.IsCustomErrorEnabled)
            {
                return;
            }

            CustomErrorViewModelBase errorViewModel;

            HttpException httpException = filterContext.Exception as HttpException;

            if (httpException != null)
            {
                this.Status = httpException.GetHttpCode();
            }

            if (this.Status == 404)
            {
                errorViewModel = new Error404ViewModel(resources);
            }
            else if (config.IsLocalInstall && CheckForSqlException(filterContext.Exception, resources))
            {
                errorViewModel = new SqlErrorViewModel(resources);
            }
            else
            {
                errorViewModel = new Error500ViewModel(resources);
            }

            filterContext.Result = new ViewResult
            {
                ViewName = View,
                ViewData = new ViewDataDictionary<CustomErrorViewModelBase>(errorViewModel)
            };

            filterContext.ExceptionHandled = true;
            filterContext.HttpContext.Response.Clear();
            filterContext.HttpContext.Response.StatusCode = this.Status;

            filterContext.HttpContext.Response.TrySkipIisCustomErrors = true;
        }
示例#4
0
 public HomeController()
 {
     this.Config = new Config();
     this.Resources = new ResourceStrings(Config);
     this.FileSystem = new FileSystemHelper(Config);
     this.PathHelper = new AppUrlHelper(FileSystem, Resources);
     this.InitializeTableOfContentsRepository();
     this.ApplicationSamplesRepository = new ApplicationSampleRepository(Resources.Culture, this.FileSystem);
     this.SampleRepository = new SampleRepository(Resources.Culture, this.FileSystem);
     this.ControlRepository = new ControlRepository(Resources.Culture, this.FileSystem);
     this.SampleSourceCodeRepository = new SampleSourceCodeRepository(this.PathHelper);
     this.InitializeHelpContentRepository();
     this.LocalizedSampleStringRepository = new LocalizedSampleStringRepository(this.Resources.Culture);
 }
示例#5
0
 // For testing purposes
 public HomeController(ResourceStrings resources, Config config, FileSystemHelper fileSystem, AppUrlHelper urlHelper,
     TableOfContentsRepository tocRepository, ApplicationSampleRepository appSampleRepository, SampleRepository sampleRepository,
     ControlRepository controlRepository, HelpContentRepository helpContentRepository, SampleSourceCodeRepository sampleSourceRepository)
 {
     this.Resources = resources;
     this.Config = config;
     this.FileSystem = fileSystem;
     this.PathHelper = urlHelper;
     this.TableOfContentsRepository = tocRepository;
     this.ApplicationSamplesRepository = appSampleRepository;
     this.SampleRepository = sampleRepository;
     this.ControlRepository = controlRepository;
     this.HelpContentRepository = helpContentRepository;
     this.SampleSourceCodeRepository = sampleSourceRepository;
 }