public override bool IsMatch(IPrincipal principal, HttpContextBase httpContext) { try { var pos = GeoPosition.GetUsersPositionOrNull(); if (Model.UseVisitorsLocation && (pos != null)) { return(WeatherBroker.GetWeatherType(pos) == Model.Weather); } return(WeatherBroker.GetWeatherType(Model.DefaultLocation) == Model.Weather); } catch (Exception) { return(false); } }