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