finished migration to .NET 4.5 / MVC 4
|
@ -1,154 +0,0 @@
|
|||
<error errorId="d667ac5c-30ca-4bc8-93d3-956b85f4b18f" application="/" host="PDMLABC3" type="System.Web.HttpException" message="The controller for path '/favicon.ico' was not found or does not implement IController." source="System.Web.Mvc" detail="System.Web.HttpException (0x80004005): The controller for path '/favicon.ico' was not found or does not implement IController.
 at System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType)
 at System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName)
 at System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController& controller, IControllerFactory& factory)
 at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state)
 at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state)
 at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)
 at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
 at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)" time="2012-03-04T19:41:24.0470333Z" statusCode="404">
|
||||
<serverVariables>
|
||||
<item name="ALL_HTTP">
|
||||
<value string="HTTP_CONNECTION:keep-alive
HTTP_ACCEPT:*/*
HTTP_ACCEPT_CHARSET:ISO-8859-1,utf-8;q=0.7,*;q=0.3
HTTP_ACCEPT_ENCODING:gzip,deflate,sdch
HTTP_ACCEPT_LANGUAGE:en-US,en;q=0.8
HTTP_HOST:localhost:1398
HTTP_USER_AGENT:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11
" />
|
||||
</item>
|
||||
<item name="ALL_RAW">
|
||||
<value string="Connection: keep-alive
Accept: */*
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Host: localhost:1398
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11
" />
|
||||
</item>
|
||||
<item name="APPL_MD_PATH">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="APPL_PHYSICAL_PATH">
|
||||
<value string="C:\Code\private\SharpDevelop-Servers\UsageDataCollector\Project\Analysis\UsageDataAnalysisWebClient\" />
|
||||
</item>
|
||||
<item name="AUTH_TYPE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="AUTH_USER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="AUTH_PASSWORD">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="LOGON_USER">
|
||||
<value string="PDMLabC3\AZeitler" />
|
||||
</item>
|
||||
<item name="REMOTE_USER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_COOKIE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_FLAGS">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_ISSUER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_KEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SECRETKEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SERIALNUMBER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SERVER_ISSUER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SERVER_SUBJECT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SUBJECT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CONTENT_LENGTH">
|
||||
<value string="0" />
|
||||
</item>
|
||||
<item name="CONTENT_TYPE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="GATEWAY_INTERFACE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_KEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_SECRETKEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_SERVER_ISSUER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_SERVER_SUBJECT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="INSTANCE_ID">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="INSTANCE_META_PATH">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="LOCAL_ADDR">
|
||||
<value string="::1" />
|
||||
</item>
|
||||
<item name="PATH_INFO">
|
||||
<value string="/favicon.ico" />
|
||||
</item>
|
||||
<item name="PATH_TRANSLATED">
|
||||
<value string="C:\Code\private\SharpDevelop-Servers\UsageDataCollector\Project\Analysis\UsageDataAnalysisWebClient\favicon.ico" />
|
||||
</item>
|
||||
<item name="QUERY_STRING">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="REMOTE_ADDR">
|
||||
<value string="::1" />
|
||||
</item>
|
||||
<item name="REMOTE_HOST">
|
||||
<value string="::1" />
|
||||
</item>
|
||||
<item name="REMOTE_PORT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="REQUEST_METHOD">
|
||||
<value string="GET" />
|
||||
</item>
|
||||
<item name="SCRIPT_NAME">
|
||||
<value string="/favicon.ico" />
|
||||
</item>
|
||||
<item name="SERVER_NAME">
|
||||
<value string="localhost" />
|
||||
</item>
|
||||
<item name="SERVER_PORT">
|
||||
<value string="1398" />
|
||||
</item>
|
||||
<item name="SERVER_PORT_SECURE">
|
||||
<value string="0" />
|
||||
</item>
|
||||
<item name="SERVER_PROTOCOL">
|
||||
<value string="HTTP/1.1" />
|
||||
</item>
|
||||
<item name="SERVER_SOFTWARE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="URL">
|
||||
<value string="/favicon.ico" />
|
||||
</item>
|
||||
<item name="HTTP_CONNECTION">
|
||||
<value string="keep-alive" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT">
|
||||
<value string="*/*" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT_CHARSET">
|
||||
<value string="ISO-8859-1,utf-8;q=0.7,*;q=0.3" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT_ENCODING">
|
||||
<value string="gzip,deflate,sdch" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT_LANGUAGE">
|
||||
<value string="en-US,en;q=0.8" />
|
||||
</item>
|
||||
<item name="HTTP_HOST">
|
||||
<value string="localhost:1398" />
|
||||
</item>
|
||||
<item name="HTTP_USER_AGENT">
|
||||
<value string="Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11" />
|
||||
</item>
|
||||
</serverVariables>
|
||||
</error>
|
|
@ -1,154 +0,0 @@
|
|||
<error errorId="1fb8f0a5-852d-4ba5-8b61-9323e368027c" application="/" host="PDMLABC3" type="System.Web.HttpException" message="The controller for path '/favicon.ico' was not found or does not implement IController." source="System.Web.Mvc" detail="System.Web.HttpException (0x80004005): The controller for path '/favicon.ico' was not found or does not implement IController.
 at System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType)
 at System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName)
 at System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController& controller, IControllerFactory& factory)
 at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state)
 at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state)
 at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)
 at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
 at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)" time="2012-03-04T19:41:26.4216368Z" statusCode="404">
|
||||
<serverVariables>
|
||||
<item name="ALL_HTTP">
|
||||
<value string="HTTP_CONNECTION:keep-alive
HTTP_ACCEPT:*/*
HTTP_ACCEPT_CHARSET:ISO-8859-1,utf-8;q=0.7,*;q=0.3
HTTP_ACCEPT_ENCODING:gzip,deflate,sdch
HTTP_ACCEPT_LANGUAGE:en-US,en;q=0.8
HTTP_HOST:localhost:1398
HTTP_USER_AGENT:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11
" />
|
||||
</item>
|
||||
<item name="ALL_RAW">
|
||||
<value string="Connection: keep-alive
Accept: */*
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Host: localhost:1398
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11
" />
|
||||
</item>
|
||||
<item name="APPL_MD_PATH">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="APPL_PHYSICAL_PATH">
|
||||
<value string="C:\Code\private\SharpDevelop-Servers\UsageDataCollector\Project\Analysis\UsageDataAnalysisWebClient\" />
|
||||
</item>
|
||||
<item name="AUTH_TYPE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="AUTH_USER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="AUTH_PASSWORD">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="LOGON_USER">
|
||||
<value string="PDMLabC3\AZeitler" />
|
||||
</item>
|
||||
<item name="REMOTE_USER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_COOKIE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_FLAGS">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_ISSUER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_KEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SECRETKEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SERIALNUMBER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SERVER_ISSUER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SERVER_SUBJECT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SUBJECT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CONTENT_LENGTH">
|
||||
<value string="0" />
|
||||
</item>
|
||||
<item name="CONTENT_TYPE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="GATEWAY_INTERFACE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_KEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_SECRETKEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_SERVER_ISSUER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_SERVER_SUBJECT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="INSTANCE_ID">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="INSTANCE_META_PATH">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="LOCAL_ADDR">
|
||||
<value string="::1" />
|
||||
</item>
|
||||
<item name="PATH_INFO">
|
||||
<value string="/favicon.ico" />
|
||||
</item>
|
||||
<item name="PATH_TRANSLATED">
|
||||
<value string="C:\Code\private\SharpDevelop-Servers\UsageDataCollector\Project\Analysis\UsageDataAnalysisWebClient\favicon.ico" />
|
||||
</item>
|
||||
<item name="QUERY_STRING">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="REMOTE_ADDR">
|
||||
<value string="::1" />
|
||||
</item>
|
||||
<item name="REMOTE_HOST">
|
||||
<value string="::1" />
|
||||
</item>
|
||||
<item name="REMOTE_PORT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="REQUEST_METHOD">
|
||||
<value string="GET" />
|
||||
</item>
|
||||
<item name="SCRIPT_NAME">
|
||||
<value string="/favicon.ico" />
|
||||
</item>
|
||||
<item name="SERVER_NAME">
|
||||
<value string="localhost" />
|
||||
</item>
|
||||
<item name="SERVER_PORT">
|
||||
<value string="1398" />
|
||||
</item>
|
||||
<item name="SERVER_PORT_SECURE">
|
||||
<value string="0" />
|
||||
</item>
|
||||
<item name="SERVER_PROTOCOL">
|
||||
<value string="HTTP/1.1" />
|
||||
</item>
|
||||
<item name="SERVER_SOFTWARE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="URL">
|
||||
<value string="/favicon.ico" />
|
||||
</item>
|
||||
<item name="HTTP_CONNECTION">
|
||||
<value string="keep-alive" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT">
|
||||
<value string="*/*" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT_CHARSET">
|
||||
<value string="ISO-8859-1,utf-8;q=0.7,*;q=0.3" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT_ENCODING">
|
||||
<value string="gzip,deflate,sdch" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT_LANGUAGE">
|
||||
<value string="en-US,en;q=0.8" />
|
||||
</item>
|
||||
<item name="HTTP_HOST">
|
||||
<value string="localhost:1398" />
|
||||
</item>
|
||||
<item name="HTTP_USER_AGENT">
|
||||
<value string="Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11" />
|
||||
</item>
|
||||
</serverVariables>
|
||||
</error>
|
|
@ -1,154 +0,0 @@
|
|||
<error errorId="51d99572-6f19-4176-aa68-1a1f588c2431" application="/" host="PDMLABC3" type="System.Web.HttpException" message="The controller for path '/favicon.ico' was not found or does not implement IController." source="System.Web.Mvc" detail="System.Web.HttpException (0x80004005): The controller for path '/favicon.ico' was not found or does not implement IController.
 at System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType)
 at System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName)
 at System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController& controller, IControllerFactory& factory)
 at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state)
 at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state)
 at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)
 at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
 at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)" time="2012-03-04T19:42:04.7852926Z" statusCode="404">
|
||||
<serverVariables>
|
||||
<item name="ALL_HTTP">
|
||||
<value string="HTTP_CONNECTION:keep-alive
HTTP_ACCEPT:*/*
HTTP_ACCEPT_CHARSET:ISO-8859-1,utf-8;q=0.7,*;q=0.3
HTTP_ACCEPT_ENCODING:gzip,deflate,sdch
HTTP_ACCEPT_LANGUAGE:en-US,en;q=0.8
HTTP_HOST:localhost:1398
HTTP_USER_AGENT:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11
" />
|
||||
</item>
|
||||
<item name="ALL_RAW">
|
||||
<value string="Connection: keep-alive
Accept: */*
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Host: localhost:1398
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11
" />
|
||||
</item>
|
||||
<item name="APPL_MD_PATH">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="APPL_PHYSICAL_PATH">
|
||||
<value string="C:\Code\private\SharpDevelop-Servers\UsageDataCollector\Project\Analysis\UsageDataAnalysisWebClient\" />
|
||||
</item>
|
||||
<item name="AUTH_TYPE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="AUTH_USER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="AUTH_PASSWORD">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="LOGON_USER">
|
||||
<value string="PDMLabC3\AZeitler" />
|
||||
</item>
|
||||
<item name="REMOTE_USER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_COOKIE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_FLAGS">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_ISSUER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_KEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SECRETKEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SERIALNUMBER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SERVER_ISSUER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SERVER_SUBJECT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SUBJECT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CONTENT_LENGTH">
|
||||
<value string="0" />
|
||||
</item>
|
||||
<item name="CONTENT_TYPE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="GATEWAY_INTERFACE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_KEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_SECRETKEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_SERVER_ISSUER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_SERVER_SUBJECT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="INSTANCE_ID">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="INSTANCE_META_PATH">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="LOCAL_ADDR">
|
||||
<value string="::1" />
|
||||
</item>
|
||||
<item name="PATH_INFO">
|
||||
<value string="/favicon.ico" />
|
||||
</item>
|
||||
<item name="PATH_TRANSLATED">
|
||||
<value string="C:\Code\private\SharpDevelop-Servers\UsageDataCollector\Project\Analysis\UsageDataAnalysisWebClient\favicon.ico" />
|
||||
</item>
|
||||
<item name="QUERY_STRING">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="REMOTE_ADDR">
|
||||
<value string="::1" />
|
||||
</item>
|
||||
<item name="REMOTE_HOST">
|
||||
<value string="::1" />
|
||||
</item>
|
||||
<item name="REMOTE_PORT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="REQUEST_METHOD">
|
||||
<value string="GET" />
|
||||
</item>
|
||||
<item name="SCRIPT_NAME">
|
||||
<value string="/favicon.ico" />
|
||||
</item>
|
||||
<item name="SERVER_NAME">
|
||||
<value string="localhost" />
|
||||
</item>
|
||||
<item name="SERVER_PORT">
|
||||
<value string="1398" />
|
||||
</item>
|
||||
<item name="SERVER_PORT_SECURE">
|
||||
<value string="0" />
|
||||
</item>
|
||||
<item name="SERVER_PROTOCOL">
|
||||
<value string="HTTP/1.1" />
|
||||
</item>
|
||||
<item name="SERVER_SOFTWARE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="URL">
|
||||
<value string="/favicon.ico" />
|
||||
</item>
|
||||
<item name="HTTP_CONNECTION">
|
||||
<value string="keep-alive" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT">
|
||||
<value string="*/*" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT_CHARSET">
|
||||
<value string="ISO-8859-1,utf-8;q=0.7,*;q=0.3" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT_ENCODING">
|
||||
<value string="gzip,deflate,sdch" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT_LANGUAGE">
|
||||
<value string="en-US,en;q=0.8" />
|
||||
</item>
|
||||
<item name="HTTP_HOST">
|
||||
<value string="localhost:1398" />
|
||||
</item>
|
||||
<item name="HTTP_USER_AGENT">
|
||||
<value string="Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11" />
|
||||
</item>
|
||||
</serverVariables>
|
||||
</error>
|
|
@ -1,154 +0,0 @@
|
|||
<error errorId="3ed8ee12-1c8e-4a03-943c-cf9b5143b6e0" application="/" host="PDMLABC3" type="System.Web.HttpException" message="The controller for path '/favicon.ico' was not found or does not implement IController." source="System.Web.Mvc" detail="System.Web.HttpException (0x80004005): The controller for path '/favicon.ico' was not found or does not implement IController.
 at System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType)
 at System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName)
 at System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController& controller, IControllerFactory& factory)
 at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state)
 at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state)
 at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)
 at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
 at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)" time="2012-03-04T19:42:11.6163022Z" statusCode="404">
|
||||
<serverVariables>
|
||||
<item name="ALL_HTTP">
|
||||
<value string="HTTP_CONNECTION:keep-alive
HTTP_ACCEPT:*/*
HTTP_ACCEPT_CHARSET:ISO-8859-1,utf-8;q=0.7,*;q=0.3
HTTP_ACCEPT_ENCODING:gzip,deflate,sdch
HTTP_ACCEPT_LANGUAGE:en-US,en;q=0.8
HTTP_HOST:localhost:1398
HTTP_USER_AGENT:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11
" />
|
||||
</item>
|
||||
<item name="ALL_RAW">
|
||||
<value string="Connection: keep-alive
Accept: */*
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Host: localhost:1398
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11
" />
|
||||
</item>
|
||||
<item name="APPL_MD_PATH">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="APPL_PHYSICAL_PATH">
|
||||
<value string="C:\Code\private\SharpDevelop-Servers\UsageDataCollector\Project\Analysis\UsageDataAnalysisWebClient\" />
|
||||
</item>
|
||||
<item name="AUTH_TYPE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="AUTH_USER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="AUTH_PASSWORD">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="LOGON_USER">
|
||||
<value string="PDMLabC3\AZeitler" />
|
||||
</item>
|
||||
<item name="REMOTE_USER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_COOKIE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_FLAGS">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_ISSUER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_KEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SECRETKEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SERIALNUMBER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SERVER_ISSUER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SERVER_SUBJECT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SUBJECT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CONTENT_LENGTH">
|
||||
<value string="0" />
|
||||
</item>
|
||||
<item name="CONTENT_TYPE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="GATEWAY_INTERFACE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_KEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_SECRETKEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_SERVER_ISSUER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_SERVER_SUBJECT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="INSTANCE_ID">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="INSTANCE_META_PATH">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="LOCAL_ADDR">
|
||||
<value string="::1" />
|
||||
</item>
|
||||
<item name="PATH_INFO">
|
||||
<value string="/favicon.ico" />
|
||||
</item>
|
||||
<item name="PATH_TRANSLATED">
|
||||
<value string="C:\Code\private\SharpDevelop-Servers\UsageDataCollector\Project\Analysis\UsageDataAnalysisWebClient\favicon.ico" />
|
||||
</item>
|
||||
<item name="QUERY_STRING">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="REMOTE_ADDR">
|
||||
<value string="::1" />
|
||||
</item>
|
||||
<item name="REMOTE_HOST">
|
||||
<value string="::1" />
|
||||
</item>
|
||||
<item name="REMOTE_PORT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="REQUEST_METHOD">
|
||||
<value string="GET" />
|
||||
</item>
|
||||
<item name="SCRIPT_NAME">
|
||||
<value string="/favicon.ico" />
|
||||
</item>
|
||||
<item name="SERVER_NAME">
|
||||
<value string="localhost" />
|
||||
</item>
|
||||
<item name="SERVER_PORT">
|
||||
<value string="1398" />
|
||||
</item>
|
||||
<item name="SERVER_PORT_SECURE">
|
||||
<value string="0" />
|
||||
</item>
|
||||
<item name="SERVER_PROTOCOL">
|
||||
<value string="HTTP/1.1" />
|
||||
</item>
|
||||
<item name="SERVER_SOFTWARE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="URL">
|
||||
<value string="/favicon.ico" />
|
||||
</item>
|
||||
<item name="HTTP_CONNECTION">
|
||||
<value string="keep-alive" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT">
|
||||
<value string="*/*" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT_CHARSET">
|
||||
<value string="ISO-8859-1,utf-8;q=0.7,*;q=0.3" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT_ENCODING">
|
||||
<value string="gzip,deflate,sdch" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT_LANGUAGE">
|
||||
<value string="en-US,en;q=0.8" />
|
||||
</item>
|
||||
<item name="HTTP_HOST">
|
||||
<value string="localhost:1398" />
|
||||
</item>
|
||||
<item name="HTTP_USER_AGENT">
|
||||
<value string="Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11" />
|
||||
</item>
|
||||
</serverVariables>
|
||||
</error>
|
|
@ -1,154 +0,0 @@
|
|||
<error errorId="12665c83-a26c-4e99-83c2-2c9291fe119c" application="/" host="PDMLABC3" type="System.Web.HttpException" message="The controller for path '/favicon.ico' was not found or does not implement IController." source="System.Web.Mvc" detail="System.Web.HttpException (0x80004005): The controller for path '/favicon.ico' was not found or does not implement IController.
 at System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType)
 at System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName)
 at System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController& controller, IControllerFactory& factory)
 at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state)
 at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state)
 at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)
 at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
 at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)" time="2012-03-04T19:42:12.8873040Z" statusCode="404">
|
||||
<serverVariables>
|
||||
<item name="ALL_HTTP">
|
||||
<value string="HTTP_CONNECTION:keep-alive
HTTP_ACCEPT:*/*
HTTP_ACCEPT_CHARSET:ISO-8859-1,utf-8;q=0.7,*;q=0.3
HTTP_ACCEPT_ENCODING:gzip,deflate,sdch
HTTP_ACCEPT_LANGUAGE:en-US,en;q=0.8
HTTP_HOST:localhost:1398
HTTP_USER_AGENT:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11
" />
|
||||
</item>
|
||||
<item name="ALL_RAW">
|
||||
<value string="Connection: keep-alive
Accept: */*
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Host: localhost:1398
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11
" />
|
||||
</item>
|
||||
<item name="APPL_MD_PATH">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="APPL_PHYSICAL_PATH">
|
||||
<value string="C:\Code\private\SharpDevelop-Servers\UsageDataCollector\Project\Analysis\UsageDataAnalysisWebClient\" />
|
||||
</item>
|
||||
<item name="AUTH_TYPE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="AUTH_USER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="AUTH_PASSWORD">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="LOGON_USER">
|
||||
<value string="PDMLabC3\AZeitler" />
|
||||
</item>
|
||||
<item name="REMOTE_USER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_COOKIE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_FLAGS">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_ISSUER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_KEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SECRETKEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SERIALNUMBER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SERVER_ISSUER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SERVER_SUBJECT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SUBJECT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CONTENT_LENGTH">
|
||||
<value string="0" />
|
||||
</item>
|
||||
<item name="CONTENT_TYPE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="GATEWAY_INTERFACE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_KEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_SECRETKEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_SERVER_ISSUER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_SERVER_SUBJECT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="INSTANCE_ID">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="INSTANCE_META_PATH">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="LOCAL_ADDR">
|
||||
<value string="::1" />
|
||||
</item>
|
||||
<item name="PATH_INFO">
|
||||
<value string="/favicon.ico" />
|
||||
</item>
|
||||
<item name="PATH_TRANSLATED">
|
||||
<value string="C:\Code\private\SharpDevelop-Servers\UsageDataCollector\Project\Analysis\UsageDataAnalysisWebClient\favicon.ico" />
|
||||
</item>
|
||||
<item name="QUERY_STRING">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="REMOTE_ADDR">
|
||||
<value string="::1" />
|
||||
</item>
|
||||
<item name="REMOTE_HOST">
|
||||
<value string="::1" />
|
||||
</item>
|
||||
<item name="REMOTE_PORT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="REQUEST_METHOD">
|
||||
<value string="GET" />
|
||||
</item>
|
||||
<item name="SCRIPT_NAME">
|
||||
<value string="/favicon.ico" />
|
||||
</item>
|
||||
<item name="SERVER_NAME">
|
||||
<value string="localhost" />
|
||||
</item>
|
||||
<item name="SERVER_PORT">
|
||||
<value string="1398" />
|
||||
</item>
|
||||
<item name="SERVER_PORT_SECURE">
|
||||
<value string="0" />
|
||||
</item>
|
||||
<item name="SERVER_PROTOCOL">
|
||||
<value string="HTTP/1.1" />
|
||||
</item>
|
||||
<item name="SERVER_SOFTWARE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="URL">
|
||||
<value string="/favicon.ico" />
|
||||
</item>
|
||||
<item name="HTTP_CONNECTION">
|
||||
<value string="keep-alive" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT">
|
||||
<value string="*/*" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT_CHARSET">
|
||||
<value string="ISO-8859-1,utf-8;q=0.7,*;q=0.3" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT_ENCODING">
|
||||
<value string="gzip,deflate,sdch" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT_LANGUAGE">
|
||||
<value string="en-US,en;q=0.8" />
|
||||
</item>
|
||||
<item name="HTTP_HOST">
|
||||
<value string="localhost:1398" />
|
||||
</item>
|
||||
<item name="HTTP_USER_AGENT">
|
||||
<value string="Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11" />
|
||||
</item>
|
||||
</serverVariables>
|
||||
</error>
|
|
@ -1,154 +0,0 @@
|
|||
<error errorId="a02bc255-cc5b-4674-984e-f32b6d53bf52" application="/" host="PDMLABC3" type="System.Web.HttpException" message="The controller for path '/favicon.ico' was not found or does not implement IController." source="System.Web.Mvc" detail="System.Web.HttpException (0x80004005): The controller for path '/favicon.ico' was not found or does not implement IController.
 at System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType)
 at System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName)
 at System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController& controller, IControllerFactory& factory)
 at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state)
 at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state)
 at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)
 at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
 at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)" time="2012-03-04T19:42:12.4473034Z" statusCode="404">
|
||||
<serverVariables>
|
||||
<item name="ALL_HTTP">
|
||||
<value string="HTTP_CONNECTION:keep-alive
HTTP_ACCEPT:*/*
HTTP_ACCEPT_CHARSET:ISO-8859-1,utf-8;q=0.7,*;q=0.3
HTTP_ACCEPT_ENCODING:gzip,deflate,sdch
HTTP_ACCEPT_LANGUAGE:en-US,en;q=0.8
HTTP_HOST:localhost:1398
HTTP_USER_AGENT:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11
" />
|
||||
</item>
|
||||
<item name="ALL_RAW">
|
||||
<value string="Connection: keep-alive
Accept: */*
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Host: localhost:1398
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11
" />
|
||||
</item>
|
||||
<item name="APPL_MD_PATH">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="APPL_PHYSICAL_PATH">
|
||||
<value string="C:\Code\private\SharpDevelop-Servers\UsageDataCollector\Project\Analysis\UsageDataAnalysisWebClient\" />
|
||||
</item>
|
||||
<item name="AUTH_TYPE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="AUTH_USER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="AUTH_PASSWORD">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="LOGON_USER">
|
||||
<value string="PDMLabC3\AZeitler" />
|
||||
</item>
|
||||
<item name="REMOTE_USER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_COOKIE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_FLAGS">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_ISSUER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_KEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SECRETKEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SERIALNUMBER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SERVER_ISSUER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SERVER_SUBJECT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SUBJECT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CONTENT_LENGTH">
|
||||
<value string="0" />
|
||||
</item>
|
||||
<item name="CONTENT_TYPE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="GATEWAY_INTERFACE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_KEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_SECRETKEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_SERVER_ISSUER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_SERVER_SUBJECT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="INSTANCE_ID">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="INSTANCE_META_PATH">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="LOCAL_ADDR">
|
||||
<value string="::1" />
|
||||
</item>
|
||||
<item name="PATH_INFO">
|
||||
<value string="/favicon.ico" />
|
||||
</item>
|
||||
<item name="PATH_TRANSLATED">
|
||||
<value string="C:\Code\private\SharpDevelop-Servers\UsageDataCollector\Project\Analysis\UsageDataAnalysisWebClient\favicon.ico" />
|
||||
</item>
|
||||
<item name="QUERY_STRING">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="REMOTE_ADDR">
|
||||
<value string="::1" />
|
||||
</item>
|
||||
<item name="REMOTE_HOST">
|
||||
<value string="::1" />
|
||||
</item>
|
||||
<item name="REMOTE_PORT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="REQUEST_METHOD">
|
||||
<value string="GET" />
|
||||
</item>
|
||||
<item name="SCRIPT_NAME">
|
||||
<value string="/favicon.ico" />
|
||||
</item>
|
||||
<item name="SERVER_NAME">
|
||||
<value string="localhost" />
|
||||
</item>
|
||||
<item name="SERVER_PORT">
|
||||
<value string="1398" />
|
||||
</item>
|
||||
<item name="SERVER_PORT_SECURE">
|
||||
<value string="0" />
|
||||
</item>
|
||||
<item name="SERVER_PROTOCOL">
|
||||
<value string="HTTP/1.1" />
|
||||
</item>
|
||||
<item name="SERVER_SOFTWARE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="URL">
|
||||
<value string="/favicon.ico" />
|
||||
</item>
|
||||
<item name="HTTP_CONNECTION">
|
||||
<value string="keep-alive" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT">
|
||||
<value string="*/*" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT_CHARSET">
|
||||
<value string="ISO-8859-1,utf-8;q=0.7,*;q=0.3" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT_ENCODING">
|
||||
<value string="gzip,deflate,sdch" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT_LANGUAGE">
|
||||
<value string="en-US,en;q=0.8" />
|
||||
</item>
|
||||
<item name="HTTP_HOST">
|
||||
<value string="localhost:1398" />
|
||||
</item>
|
||||
<item name="HTTP_USER_AGENT">
|
||||
<value string="Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11" />
|
||||
</item>
|
||||
</serverVariables>
|
||||
</error>
|
|
@ -1,154 +0,0 @@
|
|||
<error errorId="da7a0c23-05c5-4488-bbfb-3b714b4212be" application="/" host="PDMLABC3" type="System.Web.HttpException" message="The controller for path '/favicon.ico' was not found or does not implement IController." source="System.Web.Mvc" detail="System.Web.HttpException (0x80004005): The controller for path '/favicon.ico' was not found or does not implement IController.
 at System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType)
 at System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName)
 at System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController& controller, IControllerFactory& factory)
 at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state)
 at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state)
 at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)
 at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
 at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)" time="2012-03-04T19:42:12.6673037Z" statusCode="404">
|
||||
<serverVariables>
|
||||
<item name="ALL_HTTP">
|
||||
<value string="HTTP_CONNECTION:keep-alive
HTTP_ACCEPT:*/*
HTTP_ACCEPT_CHARSET:ISO-8859-1,utf-8;q=0.7,*;q=0.3
HTTP_ACCEPT_ENCODING:gzip,deflate,sdch
HTTP_ACCEPT_LANGUAGE:en-US,en;q=0.8
HTTP_HOST:localhost:1398
HTTP_USER_AGENT:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11
" />
|
||||
</item>
|
||||
<item name="ALL_RAW">
|
||||
<value string="Connection: keep-alive
Accept: */*
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Host: localhost:1398
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11
" />
|
||||
</item>
|
||||
<item name="APPL_MD_PATH">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="APPL_PHYSICAL_PATH">
|
||||
<value string="C:\Code\private\SharpDevelop-Servers\UsageDataCollector\Project\Analysis\UsageDataAnalysisWebClient\" />
|
||||
</item>
|
||||
<item name="AUTH_TYPE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="AUTH_USER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="AUTH_PASSWORD">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="LOGON_USER">
|
||||
<value string="PDMLabC3\AZeitler" />
|
||||
</item>
|
||||
<item name="REMOTE_USER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_COOKIE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_FLAGS">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_ISSUER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_KEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SECRETKEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SERIALNUMBER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SERVER_ISSUER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SERVER_SUBJECT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SUBJECT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CONTENT_LENGTH">
|
||||
<value string="0" />
|
||||
</item>
|
||||
<item name="CONTENT_TYPE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="GATEWAY_INTERFACE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_KEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_SECRETKEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_SERVER_ISSUER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_SERVER_SUBJECT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="INSTANCE_ID">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="INSTANCE_META_PATH">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="LOCAL_ADDR">
|
||||
<value string="::1" />
|
||||
</item>
|
||||
<item name="PATH_INFO">
|
||||
<value string="/favicon.ico" />
|
||||
</item>
|
||||
<item name="PATH_TRANSLATED">
|
||||
<value string="C:\Code\private\SharpDevelop-Servers\UsageDataCollector\Project\Analysis\UsageDataAnalysisWebClient\favicon.ico" />
|
||||
</item>
|
||||
<item name="QUERY_STRING">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="REMOTE_ADDR">
|
||||
<value string="::1" />
|
||||
</item>
|
||||
<item name="REMOTE_HOST">
|
||||
<value string="::1" />
|
||||
</item>
|
||||
<item name="REMOTE_PORT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="REQUEST_METHOD">
|
||||
<value string="GET" />
|
||||
</item>
|
||||
<item name="SCRIPT_NAME">
|
||||
<value string="/favicon.ico" />
|
||||
</item>
|
||||
<item name="SERVER_NAME">
|
||||
<value string="localhost" />
|
||||
</item>
|
||||
<item name="SERVER_PORT">
|
||||
<value string="1398" />
|
||||
</item>
|
||||
<item name="SERVER_PORT_SECURE">
|
||||
<value string="0" />
|
||||
</item>
|
||||
<item name="SERVER_PROTOCOL">
|
||||
<value string="HTTP/1.1" />
|
||||
</item>
|
||||
<item name="SERVER_SOFTWARE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="URL">
|
||||
<value string="/favicon.ico" />
|
||||
</item>
|
||||
<item name="HTTP_CONNECTION">
|
||||
<value string="keep-alive" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT">
|
||||
<value string="*/*" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT_CHARSET">
|
||||
<value string="ISO-8859-1,utf-8;q=0.7,*;q=0.3" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT_ENCODING">
|
||||
<value string="gzip,deflate,sdch" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT_LANGUAGE">
|
||||
<value string="en-US,en;q=0.8" />
|
||||
</item>
|
||||
<item name="HTTP_HOST">
|
||||
<value string="localhost:1398" />
|
||||
</item>
|
||||
<item name="HTTP_USER_AGENT">
|
||||
<value string="Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11" />
|
||||
</item>
|
||||
</serverVariables>
|
||||
</error>
|
|
@ -1,154 +0,0 @@
|
|||
<error errorId="34706358-e6d4-4db7-b8cd-32eea73f9f0b" application="/" host="PDMLABC3" type="System.Web.HttpException" message="The controller for path '/favicon.ico' was not found or does not implement IController." source="System.Web.Mvc" detail="System.Web.HttpException (0x80004005): The controller for path '/favicon.ico' was not found or does not implement IController.
 at System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType)
 at System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName)
 at System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController& controller, IControllerFactory& factory)
 at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state)
 at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state)
 at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)
 at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
 at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)" time="2012-03-04T19:42:13.7773053Z" statusCode="404">
|
||||
<serverVariables>
|
||||
<item name="ALL_HTTP">
|
||||
<value string="HTTP_CONNECTION:keep-alive
HTTP_ACCEPT:*/*
HTTP_ACCEPT_CHARSET:ISO-8859-1,utf-8;q=0.7,*;q=0.3
HTTP_ACCEPT_ENCODING:gzip,deflate,sdch
HTTP_ACCEPT_LANGUAGE:en-US,en;q=0.8
HTTP_HOST:localhost:1398
HTTP_USER_AGENT:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11
" />
|
||||
</item>
|
||||
<item name="ALL_RAW">
|
||||
<value string="Connection: keep-alive
Accept: */*
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Host: localhost:1398
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11
" />
|
||||
</item>
|
||||
<item name="APPL_MD_PATH">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="APPL_PHYSICAL_PATH">
|
||||
<value string="C:\Code\private\SharpDevelop-Servers\UsageDataCollector\Project\Analysis\UsageDataAnalysisWebClient\" />
|
||||
</item>
|
||||
<item name="AUTH_TYPE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="AUTH_USER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="AUTH_PASSWORD">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="LOGON_USER">
|
||||
<value string="PDMLabC3\AZeitler" />
|
||||
</item>
|
||||
<item name="REMOTE_USER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_COOKIE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_FLAGS">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_ISSUER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_KEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SECRETKEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SERIALNUMBER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SERVER_ISSUER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SERVER_SUBJECT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SUBJECT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CONTENT_LENGTH">
|
||||
<value string="0" />
|
||||
</item>
|
||||
<item name="CONTENT_TYPE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="GATEWAY_INTERFACE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_KEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_SECRETKEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_SERVER_ISSUER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_SERVER_SUBJECT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="INSTANCE_ID">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="INSTANCE_META_PATH">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="LOCAL_ADDR">
|
||||
<value string="::1" />
|
||||
</item>
|
||||
<item name="PATH_INFO">
|
||||
<value string="/favicon.ico" />
|
||||
</item>
|
||||
<item name="PATH_TRANSLATED">
|
||||
<value string="C:\Code\private\SharpDevelop-Servers\UsageDataCollector\Project\Analysis\UsageDataAnalysisWebClient\favicon.ico" />
|
||||
</item>
|
||||
<item name="QUERY_STRING">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="REMOTE_ADDR">
|
||||
<value string="::1" />
|
||||
</item>
|
||||
<item name="REMOTE_HOST">
|
||||
<value string="::1" />
|
||||
</item>
|
||||
<item name="REMOTE_PORT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="REQUEST_METHOD">
|
||||
<value string="GET" />
|
||||
</item>
|
||||
<item name="SCRIPT_NAME">
|
||||
<value string="/favicon.ico" />
|
||||
</item>
|
||||
<item name="SERVER_NAME">
|
||||
<value string="localhost" />
|
||||
</item>
|
||||
<item name="SERVER_PORT">
|
||||
<value string="1398" />
|
||||
</item>
|
||||
<item name="SERVER_PORT_SECURE">
|
||||
<value string="0" />
|
||||
</item>
|
||||
<item name="SERVER_PROTOCOL">
|
||||
<value string="HTTP/1.1" />
|
||||
</item>
|
||||
<item name="SERVER_SOFTWARE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="URL">
|
||||
<value string="/favicon.ico" />
|
||||
</item>
|
||||
<item name="HTTP_CONNECTION">
|
||||
<value string="keep-alive" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT">
|
||||
<value string="*/*" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT_CHARSET">
|
||||
<value string="ISO-8859-1,utf-8;q=0.7,*;q=0.3" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT_ENCODING">
|
||||
<value string="gzip,deflate,sdch" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT_LANGUAGE">
|
||||
<value string="en-US,en;q=0.8" />
|
||||
</item>
|
||||
<item name="HTTP_HOST">
|
||||
<value string="localhost:1398" />
|
||||
</item>
|
||||
<item name="HTTP_USER_AGENT">
|
||||
<value string="Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11" />
|
||||
</item>
|
||||
</serverVariables>
|
||||
</error>
|
|
@ -1,154 +0,0 @@
|
|||
<error errorId="5c73065e-45ce-45c8-884c-25953b6de8a5" application="/" host="PDMLABC3" type="System.Web.HttpException" message="The controller for path '/favicon.ico' was not found or does not implement IController." source="System.Web.Mvc" detail="System.Web.HttpException (0x80004005): The controller for path '/favicon.ico' was not found or does not implement IController.
 at System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType)
 at System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName)
 at System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController& controller, IControllerFactory& factory)
 at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state)
 at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state)
 at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)
 at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
 at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)" time="2012-03-04T19:42:13.0773043Z" statusCode="404">
|
||||
<serverVariables>
|
||||
<item name="ALL_HTTP">
|
||||
<value string="HTTP_CONNECTION:keep-alive
HTTP_ACCEPT:*/*
HTTP_ACCEPT_CHARSET:ISO-8859-1,utf-8;q=0.7,*;q=0.3
HTTP_ACCEPT_ENCODING:gzip,deflate,sdch
HTTP_ACCEPT_LANGUAGE:en-US,en;q=0.8
HTTP_HOST:localhost:1398
HTTP_USER_AGENT:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11
" />
|
||||
</item>
|
||||
<item name="ALL_RAW">
|
||||
<value string="Connection: keep-alive
Accept: */*
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Host: localhost:1398
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11
" />
|
||||
</item>
|
||||
<item name="APPL_MD_PATH">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="APPL_PHYSICAL_PATH">
|
||||
<value string="C:\Code\private\SharpDevelop-Servers\UsageDataCollector\Project\Analysis\UsageDataAnalysisWebClient\" />
|
||||
</item>
|
||||
<item name="AUTH_TYPE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="AUTH_USER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="AUTH_PASSWORD">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="LOGON_USER">
|
||||
<value string="PDMLabC3\AZeitler" />
|
||||
</item>
|
||||
<item name="REMOTE_USER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_COOKIE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_FLAGS">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_ISSUER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_KEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SECRETKEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SERIALNUMBER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SERVER_ISSUER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SERVER_SUBJECT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SUBJECT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CONTENT_LENGTH">
|
||||
<value string="0" />
|
||||
</item>
|
||||
<item name="CONTENT_TYPE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="GATEWAY_INTERFACE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_KEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_SECRETKEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_SERVER_ISSUER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_SERVER_SUBJECT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="INSTANCE_ID">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="INSTANCE_META_PATH">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="LOCAL_ADDR">
|
||||
<value string="::1" />
|
||||
</item>
|
||||
<item name="PATH_INFO">
|
||||
<value string="/favicon.ico" />
|
||||
</item>
|
||||
<item name="PATH_TRANSLATED">
|
||||
<value string="C:\Code\private\SharpDevelop-Servers\UsageDataCollector\Project\Analysis\UsageDataAnalysisWebClient\favicon.ico" />
|
||||
</item>
|
||||
<item name="QUERY_STRING">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="REMOTE_ADDR">
|
||||
<value string="::1" />
|
||||
</item>
|
||||
<item name="REMOTE_HOST">
|
||||
<value string="::1" />
|
||||
</item>
|
||||
<item name="REMOTE_PORT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="REQUEST_METHOD">
|
||||
<value string="GET" />
|
||||
</item>
|
||||
<item name="SCRIPT_NAME">
|
||||
<value string="/favicon.ico" />
|
||||
</item>
|
||||
<item name="SERVER_NAME">
|
||||
<value string="localhost" />
|
||||
</item>
|
||||
<item name="SERVER_PORT">
|
||||
<value string="1398" />
|
||||
</item>
|
||||
<item name="SERVER_PORT_SECURE">
|
||||
<value string="0" />
|
||||
</item>
|
||||
<item name="SERVER_PROTOCOL">
|
||||
<value string="HTTP/1.1" />
|
||||
</item>
|
||||
<item name="SERVER_SOFTWARE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="URL">
|
||||
<value string="/favicon.ico" />
|
||||
</item>
|
||||
<item name="HTTP_CONNECTION">
|
||||
<value string="keep-alive" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT">
|
||||
<value string="*/*" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT_CHARSET">
|
||||
<value string="ISO-8859-1,utf-8;q=0.7,*;q=0.3" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT_ENCODING">
|
||||
<value string="gzip,deflate,sdch" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT_LANGUAGE">
|
||||
<value string="en-US,en;q=0.8" />
|
||||
</item>
|
||||
<item name="HTTP_HOST">
|
||||
<value string="localhost:1398" />
|
||||
</item>
|
||||
<item name="HTTP_USER_AGENT">
|
||||
<value string="Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11" />
|
||||
</item>
|
||||
</serverVariables>
|
||||
</error>
|
|
@ -1,154 +0,0 @@
|
|||
<error errorId="a2fe0de6-02fa-4372-a94d-1f347da35144" application="/" host="PDMLABC3" type="System.Web.HttpException" message="The controller for path '/favicon.ico' was not found or does not implement IController." source="System.Web.Mvc" detail="System.Web.HttpException (0x80004005): The controller for path '/favicon.ico' was not found or does not implement IController.
 at System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType)
 at System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName)
 at System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController& controller, IControllerFactory& factory)
 at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state)
 at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state)
 at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)
 at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
 at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)" time="2012-03-04T19:42:13.2973046Z" statusCode="404">
|
||||
<serverVariables>
|
||||
<item name="ALL_HTTP">
|
||||
<value string="HTTP_CONNECTION:keep-alive
HTTP_ACCEPT:*/*
HTTP_ACCEPT_CHARSET:ISO-8859-1,utf-8;q=0.7,*;q=0.3
HTTP_ACCEPT_ENCODING:gzip,deflate,sdch
HTTP_ACCEPT_LANGUAGE:en-US,en;q=0.8
HTTP_HOST:localhost:1398
HTTP_USER_AGENT:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11
" />
|
||||
</item>
|
||||
<item name="ALL_RAW">
|
||||
<value string="Connection: keep-alive
Accept: */*
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Host: localhost:1398
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11
" />
|
||||
</item>
|
||||
<item name="APPL_MD_PATH">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="APPL_PHYSICAL_PATH">
|
||||
<value string="C:\Code\private\SharpDevelop-Servers\UsageDataCollector\Project\Analysis\UsageDataAnalysisWebClient\" />
|
||||
</item>
|
||||
<item name="AUTH_TYPE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="AUTH_USER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="AUTH_PASSWORD">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="LOGON_USER">
|
||||
<value string="PDMLabC3\AZeitler" />
|
||||
</item>
|
||||
<item name="REMOTE_USER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_COOKIE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_FLAGS">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_ISSUER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_KEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SECRETKEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SERIALNUMBER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SERVER_ISSUER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SERVER_SUBJECT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SUBJECT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CONTENT_LENGTH">
|
||||
<value string="0" />
|
||||
</item>
|
||||
<item name="CONTENT_TYPE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="GATEWAY_INTERFACE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_KEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_SECRETKEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_SERVER_ISSUER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_SERVER_SUBJECT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="INSTANCE_ID">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="INSTANCE_META_PATH">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="LOCAL_ADDR">
|
||||
<value string="::1" />
|
||||
</item>
|
||||
<item name="PATH_INFO">
|
||||
<value string="/favicon.ico" />
|
||||
</item>
|
||||
<item name="PATH_TRANSLATED">
|
||||
<value string="C:\Code\private\SharpDevelop-Servers\UsageDataCollector\Project\Analysis\UsageDataAnalysisWebClient\favicon.ico" />
|
||||
</item>
|
||||
<item name="QUERY_STRING">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="REMOTE_ADDR">
|
||||
<value string="::1" />
|
||||
</item>
|
||||
<item name="REMOTE_HOST">
|
||||
<value string="::1" />
|
||||
</item>
|
||||
<item name="REMOTE_PORT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="REQUEST_METHOD">
|
||||
<value string="GET" />
|
||||
</item>
|
||||
<item name="SCRIPT_NAME">
|
||||
<value string="/favicon.ico" />
|
||||
</item>
|
||||
<item name="SERVER_NAME">
|
||||
<value string="localhost" />
|
||||
</item>
|
||||
<item name="SERVER_PORT">
|
||||
<value string="1398" />
|
||||
</item>
|
||||
<item name="SERVER_PORT_SECURE">
|
||||
<value string="0" />
|
||||
</item>
|
||||
<item name="SERVER_PROTOCOL">
|
||||
<value string="HTTP/1.1" />
|
||||
</item>
|
||||
<item name="SERVER_SOFTWARE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="URL">
|
||||
<value string="/favicon.ico" />
|
||||
</item>
|
||||
<item name="HTTP_CONNECTION">
|
||||
<value string="keep-alive" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT">
|
||||
<value string="*/*" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT_CHARSET">
|
||||
<value string="ISO-8859-1,utf-8;q=0.7,*;q=0.3" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT_ENCODING">
|
||||
<value string="gzip,deflate,sdch" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT_LANGUAGE">
|
||||
<value string="en-US,en;q=0.8" />
|
||||
</item>
|
||||
<item name="HTTP_HOST">
|
||||
<value string="localhost:1398" />
|
||||
</item>
|
||||
<item name="HTTP_USER_AGENT">
|
||||
<value string="Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11" />
|
||||
</item>
|
||||
</serverVariables>
|
||||
</error>
|
|
@ -1,154 +0,0 @@
|
|||
<error errorId="e9605f90-ffc7-41bb-b2db-66ac1417e1a8" application="/" host="PDMLABC3" type="System.Web.HttpException" message="The controller for path '/favicon.ico' was not found or does not implement IController." source="System.Web.Mvc" detail="System.Web.HttpException (0x80004005): The controller for path '/favicon.ico' was not found or does not implement IController.
 at System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType)
 at System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName)
 at System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController& controller, IControllerFactory& factory)
 at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state)
 at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state)
 at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)
 at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
 at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)" time="2012-03-04T19:42:13.6073051Z" statusCode="404">
|
||||
<serverVariables>
|
||||
<item name="ALL_HTTP">
|
||||
<value string="HTTP_CONNECTION:keep-alive
HTTP_ACCEPT:*/*
HTTP_ACCEPT_CHARSET:ISO-8859-1,utf-8;q=0.7,*;q=0.3
HTTP_ACCEPT_ENCODING:gzip,deflate,sdch
HTTP_ACCEPT_LANGUAGE:en-US,en;q=0.8
HTTP_HOST:localhost:1398
HTTP_USER_AGENT:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11
" />
|
||||
</item>
|
||||
<item name="ALL_RAW">
|
||||
<value string="Connection: keep-alive
Accept: */*
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Host: localhost:1398
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11
" />
|
||||
</item>
|
||||
<item name="APPL_MD_PATH">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="APPL_PHYSICAL_PATH">
|
||||
<value string="C:\Code\private\SharpDevelop-Servers\UsageDataCollector\Project\Analysis\UsageDataAnalysisWebClient\" />
|
||||
</item>
|
||||
<item name="AUTH_TYPE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="AUTH_USER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="AUTH_PASSWORD">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="LOGON_USER">
|
||||
<value string="PDMLabC3\AZeitler" />
|
||||
</item>
|
||||
<item name="REMOTE_USER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_COOKIE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_FLAGS">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_ISSUER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_KEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SECRETKEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SERIALNUMBER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SERVER_ISSUER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SERVER_SUBJECT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SUBJECT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CONTENT_LENGTH">
|
||||
<value string="0" />
|
||||
</item>
|
||||
<item name="CONTENT_TYPE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="GATEWAY_INTERFACE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_KEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_SECRETKEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_SERVER_ISSUER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_SERVER_SUBJECT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="INSTANCE_ID">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="INSTANCE_META_PATH">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="LOCAL_ADDR">
|
||||
<value string="::1" />
|
||||
</item>
|
||||
<item name="PATH_INFO">
|
||||
<value string="/favicon.ico" />
|
||||
</item>
|
||||
<item name="PATH_TRANSLATED">
|
||||
<value string="C:\Code\private\SharpDevelop-Servers\UsageDataCollector\Project\Analysis\UsageDataAnalysisWebClient\favicon.ico" />
|
||||
</item>
|
||||
<item name="QUERY_STRING">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="REMOTE_ADDR">
|
||||
<value string="::1" />
|
||||
</item>
|
||||
<item name="REMOTE_HOST">
|
||||
<value string="::1" />
|
||||
</item>
|
||||
<item name="REMOTE_PORT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="REQUEST_METHOD">
|
||||
<value string="GET" />
|
||||
</item>
|
||||
<item name="SCRIPT_NAME">
|
||||
<value string="/favicon.ico" />
|
||||
</item>
|
||||
<item name="SERVER_NAME">
|
||||
<value string="localhost" />
|
||||
</item>
|
||||
<item name="SERVER_PORT">
|
||||
<value string="1398" />
|
||||
</item>
|
||||
<item name="SERVER_PORT_SECURE">
|
||||
<value string="0" />
|
||||
</item>
|
||||
<item name="SERVER_PROTOCOL">
|
||||
<value string="HTTP/1.1" />
|
||||
</item>
|
||||
<item name="SERVER_SOFTWARE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="URL">
|
||||
<value string="/favicon.ico" />
|
||||
</item>
|
||||
<item name="HTTP_CONNECTION">
|
||||
<value string="keep-alive" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT">
|
||||
<value string="*/*" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT_CHARSET">
|
||||
<value string="ISO-8859-1,utf-8;q=0.7,*;q=0.3" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT_ENCODING">
|
||||
<value string="gzip,deflate,sdch" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT_LANGUAGE">
|
||||
<value string="en-US,en;q=0.8" />
|
||||
</item>
|
||||
<item name="HTTP_HOST">
|
||||
<value string="localhost:1398" />
|
||||
</item>
|
||||
<item name="HTTP_USER_AGENT">
|
||||
<value string="Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11" />
|
||||
</item>
|
||||
</serverVariables>
|
||||
</error>
|
|
@ -1,154 +0,0 @@
|
|||
<error errorId="b4de11a5-3179-45aa-9cca-c3c33f650a11" application="/" host="PDMLABC3" type="System.Web.HttpException" message="The controller for path '/favicon.ico' was not found or does not implement IController." source="System.Web.Mvc" detail="System.Web.HttpException (0x80004005): The controller for path '/favicon.ico' was not found or does not implement IController.
 at System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType)
 at System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName)
 at System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController& controller, IControllerFactory& factory)
 at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state)
 at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state)
 at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)
 at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
 at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)" time="2012-03-04T19:43:14.0365909Z" statusCode="404">
|
||||
<serverVariables>
|
||||
<item name="ALL_HTTP">
|
||||
<value string="HTTP_CONNECTION:keep-alive
HTTP_ACCEPT:*/*
HTTP_ACCEPT_CHARSET:ISO-8859-1,utf-8;q=0.7,*;q=0.3
HTTP_ACCEPT_ENCODING:gzip,deflate,sdch
HTTP_ACCEPT_LANGUAGE:en-US,en;q=0.8
HTTP_HOST:localhost:1398
HTTP_USER_AGENT:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11
" />
|
||||
</item>
|
||||
<item name="ALL_RAW">
|
||||
<value string="Connection: keep-alive
Accept: */*
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Host: localhost:1398
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11
" />
|
||||
</item>
|
||||
<item name="APPL_MD_PATH">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="APPL_PHYSICAL_PATH">
|
||||
<value string="C:\Code\private\SharpDevelop-Servers\UsageDataCollector\Project\Analysis\UsageDataAnalysisWebClient\" />
|
||||
</item>
|
||||
<item name="AUTH_TYPE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="AUTH_USER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="AUTH_PASSWORD">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="LOGON_USER">
|
||||
<value string="PDMLabC3\AZeitler" />
|
||||
</item>
|
||||
<item name="REMOTE_USER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_COOKIE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_FLAGS">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_ISSUER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_KEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SECRETKEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SERIALNUMBER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SERVER_ISSUER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SERVER_SUBJECT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SUBJECT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CONTENT_LENGTH">
|
||||
<value string="0" />
|
||||
</item>
|
||||
<item name="CONTENT_TYPE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="GATEWAY_INTERFACE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_KEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_SECRETKEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_SERVER_ISSUER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_SERVER_SUBJECT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="INSTANCE_ID">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="INSTANCE_META_PATH">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="LOCAL_ADDR">
|
||||
<value string="::1" />
|
||||
</item>
|
||||
<item name="PATH_INFO">
|
||||
<value string="/favicon.ico" />
|
||||
</item>
|
||||
<item name="PATH_TRANSLATED">
|
||||
<value string="C:\Code\private\SharpDevelop-Servers\UsageDataCollector\Project\Analysis\UsageDataAnalysisWebClient\favicon.ico" />
|
||||
</item>
|
||||
<item name="QUERY_STRING">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="REMOTE_ADDR">
|
||||
<value string="::1" />
|
||||
</item>
|
||||
<item name="REMOTE_HOST">
|
||||
<value string="::1" />
|
||||
</item>
|
||||
<item name="REMOTE_PORT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="REQUEST_METHOD">
|
||||
<value string="GET" />
|
||||
</item>
|
||||
<item name="SCRIPT_NAME">
|
||||
<value string="/favicon.ico" />
|
||||
</item>
|
||||
<item name="SERVER_NAME">
|
||||
<value string="localhost" />
|
||||
</item>
|
||||
<item name="SERVER_PORT">
|
||||
<value string="1398" />
|
||||
</item>
|
||||
<item name="SERVER_PORT_SECURE">
|
||||
<value string="0" />
|
||||
</item>
|
||||
<item name="SERVER_PROTOCOL">
|
||||
<value string="HTTP/1.1" />
|
||||
</item>
|
||||
<item name="SERVER_SOFTWARE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="URL">
|
||||
<value string="/favicon.ico" />
|
||||
</item>
|
||||
<item name="HTTP_CONNECTION">
|
||||
<value string="keep-alive" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT">
|
||||
<value string="*/*" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT_CHARSET">
|
||||
<value string="ISO-8859-1,utf-8;q=0.7,*;q=0.3" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT_ENCODING">
|
||||
<value string="gzip,deflate,sdch" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT_LANGUAGE">
|
||||
<value string="en-US,en;q=0.8" />
|
||||
</item>
|
||||
<item name="HTTP_HOST">
|
||||
<value string="localhost:1398" />
|
||||
</item>
|
||||
<item name="HTTP_USER_AGENT">
|
||||
<value string="Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11" />
|
||||
</item>
|
||||
</serverVariables>
|
||||
</error>
|
|
@ -1,154 +0,0 @@
|
|||
<error errorId="5f571d75-79d5-4ef1-b1f3-2edc8ad1ad0b" application="/" host="PDMLABC3" type="System.Web.HttpException" message="The controller for path '/favicon.ico' was not found or does not implement IController." source="System.Web.Mvc" detail="System.Web.HttpException (0x80004005): The controller for path '/favicon.ico' was not found or does not implement IController.
 at System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType)
 at System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName)
 at System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController& controller, IControllerFactory& factory)
 at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state)
 at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state)
 at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)
 at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
 at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)" time="2012-03-04T19:44:14.1534764Z" statusCode="404">
|
||||
<serverVariables>
|
||||
<item name="ALL_HTTP">
|
||||
<value string="HTTP_CONNECTION:keep-alive
HTTP_ACCEPT:*/*
HTTP_ACCEPT_CHARSET:ISO-8859-1,utf-8;q=0.7,*;q=0.3
HTTP_ACCEPT_ENCODING:gzip,deflate,sdch
HTTP_ACCEPT_LANGUAGE:en-US,en;q=0.8
HTTP_HOST:localhost:1398
HTTP_USER_AGENT:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11
" />
|
||||
</item>
|
||||
<item name="ALL_RAW">
|
||||
<value string="Connection: keep-alive
Accept: */*
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Host: localhost:1398
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11
" />
|
||||
</item>
|
||||
<item name="APPL_MD_PATH">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="APPL_PHYSICAL_PATH">
|
||||
<value string="C:\Code\private\SharpDevelop-Servers\UsageDataCollector\Project\Analysis\UsageDataAnalysisWebClient\" />
|
||||
</item>
|
||||
<item name="AUTH_TYPE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="AUTH_USER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="AUTH_PASSWORD">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="LOGON_USER">
|
||||
<value string="PDMLabC3\AZeitler" />
|
||||
</item>
|
||||
<item name="REMOTE_USER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_COOKIE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_FLAGS">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_ISSUER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_KEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SECRETKEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SERIALNUMBER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SERVER_ISSUER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SERVER_SUBJECT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SUBJECT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CONTENT_LENGTH">
|
||||
<value string="0" />
|
||||
</item>
|
||||
<item name="CONTENT_TYPE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="GATEWAY_INTERFACE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_KEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_SECRETKEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_SERVER_ISSUER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_SERVER_SUBJECT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="INSTANCE_ID">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="INSTANCE_META_PATH">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="LOCAL_ADDR">
|
||||
<value string="::1" />
|
||||
</item>
|
||||
<item name="PATH_INFO">
|
||||
<value string="/favicon.ico" />
|
||||
</item>
|
||||
<item name="PATH_TRANSLATED">
|
||||
<value string="C:\Code\private\SharpDevelop-Servers\UsageDataCollector\Project\Analysis\UsageDataAnalysisWebClient\favicon.ico" />
|
||||
</item>
|
||||
<item name="QUERY_STRING">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="REMOTE_ADDR">
|
||||
<value string="::1" />
|
||||
</item>
|
||||
<item name="REMOTE_HOST">
|
||||
<value string="::1" />
|
||||
</item>
|
||||
<item name="REMOTE_PORT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="REQUEST_METHOD">
|
||||
<value string="GET" />
|
||||
</item>
|
||||
<item name="SCRIPT_NAME">
|
||||
<value string="/favicon.ico" />
|
||||
</item>
|
||||
<item name="SERVER_NAME">
|
||||
<value string="localhost" />
|
||||
</item>
|
||||
<item name="SERVER_PORT">
|
||||
<value string="1398" />
|
||||
</item>
|
||||
<item name="SERVER_PORT_SECURE">
|
||||
<value string="0" />
|
||||
</item>
|
||||
<item name="SERVER_PROTOCOL">
|
||||
<value string="HTTP/1.1" />
|
||||
</item>
|
||||
<item name="SERVER_SOFTWARE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="URL">
|
||||
<value string="/favicon.ico" />
|
||||
</item>
|
||||
<item name="HTTP_CONNECTION">
|
||||
<value string="keep-alive" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT">
|
||||
<value string="*/*" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT_CHARSET">
|
||||
<value string="ISO-8859-1,utf-8;q=0.7,*;q=0.3" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT_ENCODING">
|
||||
<value string="gzip,deflate,sdch" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT_LANGUAGE">
|
||||
<value string="en-US,en;q=0.8" />
|
||||
</item>
|
||||
<item name="HTTP_HOST">
|
||||
<value string="localhost:1398" />
|
||||
</item>
|
||||
<item name="HTTP_USER_AGENT">
|
||||
<value string="Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11" />
|
||||
</item>
|
||||
</serverVariables>
|
||||
</error>
|
|
@ -1,154 +0,0 @@
|
|||
<error errorId="63e931c0-92cb-432e-a7ff-0ef51f431369" application="/" host="PDMLABC3" type="System.Web.HttpException" message="The controller for path '/favicon.ico' was not found or does not implement IController." source="System.Web.Mvc" detail="System.Web.HttpException (0x80004005): The controller for path '/favicon.ico' was not found or does not implement IController.
 at System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType)
 at System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName)
 at System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController& controller, IControllerFactory& factory)
 at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state)
 at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state)
 at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)
 at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
 at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)" time="2012-03-04T19:45:14.3235616Z" statusCode="404">
|
||||
<serverVariables>
|
||||
<item name="ALL_HTTP">
|
||||
<value string="HTTP_CONNECTION:keep-alive
HTTP_ACCEPT:*/*
HTTP_ACCEPT_CHARSET:ISO-8859-1,utf-8;q=0.7,*;q=0.3
HTTP_ACCEPT_ENCODING:gzip,deflate,sdch
HTTP_ACCEPT_LANGUAGE:en-US,en;q=0.8
HTTP_HOST:localhost:1398
HTTP_USER_AGENT:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11
" />
|
||||
</item>
|
||||
<item name="ALL_RAW">
|
||||
<value string="Connection: keep-alive
Accept: */*
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Host: localhost:1398
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11
" />
|
||||
</item>
|
||||
<item name="APPL_MD_PATH">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="APPL_PHYSICAL_PATH">
|
||||
<value string="C:\Code\private\SharpDevelop-Servers\UsageDataCollector\Project\Analysis\UsageDataAnalysisWebClient\" />
|
||||
</item>
|
||||
<item name="AUTH_TYPE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="AUTH_USER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="AUTH_PASSWORD">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="LOGON_USER">
|
||||
<value string="PDMLabC3\AZeitler" />
|
||||
</item>
|
||||
<item name="REMOTE_USER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_COOKIE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_FLAGS">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_ISSUER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_KEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SECRETKEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SERIALNUMBER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SERVER_ISSUER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SERVER_SUBJECT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CERT_SUBJECT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="CONTENT_LENGTH">
|
||||
<value string="0" />
|
||||
</item>
|
||||
<item name="CONTENT_TYPE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="GATEWAY_INTERFACE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_KEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_SECRETKEYSIZE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_SERVER_ISSUER">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="HTTPS_SERVER_SUBJECT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="INSTANCE_ID">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="INSTANCE_META_PATH">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="LOCAL_ADDR">
|
||||
<value string="::1" />
|
||||
</item>
|
||||
<item name="PATH_INFO">
|
||||
<value string="/favicon.ico" />
|
||||
</item>
|
||||
<item name="PATH_TRANSLATED">
|
||||
<value string="C:\Code\private\SharpDevelop-Servers\UsageDataCollector\Project\Analysis\UsageDataAnalysisWebClient\favicon.ico" />
|
||||
</item>
|
||||
<item name="QUERY_STRING">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="REMOTE_ADDR">
|
||||
<value string="::1" />
|
||||
</item>
|
||||
<item name="REMOTE_HOST">
|
||||
<value string="::1" />
|
||||
</item>
|
||||
<item name="REMOTE_PORT">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="REQUEST_METHOD">
|
||||
<value string="GET" />
|
||||
</item>
|
||||
<item name="SCRIPT_NAME">
|
||||
<value string="/favicon.ico" />
|
||||
</item>
|
||||
<item name="SERVER_NAME">
|
||||
<value string="localhost" />
|
||||
</item>
|
||||
<item name="SERVER_PORT">
|
||||
<value string="1398" />
|
||||
</item>
|
||||
<item name="SERVER_PORT_SECURE">
|
||||
<value string="0" />
|
||||
</item>
|
||||
<item name="SERVER_PROTOCOL">
|
||||
<value string="HTTP/1.1" />
|
||||
</item>
|
||||
<item name="SERVER_SOFTWARE">
|
||||
<value string="" />
|
||||
</item>
|
||||
<item name="URL">
|
||||
<value string="/favicon.ico" />
|
||||
</item>
|
||||
<item name="HTTP_CONNECTION">
|
||||
<value string="keep-alive" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT">
|
||||
<value string="*/*" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT_CHARSET">
|
||||
<value string="ISO-8859-1,utf-8;q=0.7,*;q=0.3" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT_ENCODING">
|
||||
<value string="gzip,deflate,sdch" />
|
||||
</item>
|
||||
<item name="HTTP_ACCEPT_LANGUAGE">
|
||||
<value string="en-US,en;q=0.8" />
|
||||
</item>
|
||||
<item name="HTTP_HOST">
|
||||
<value string="localhost:1398" />
|
||||
</item>
|
||||
<item name="HTTP_USER_AGENT">
|
||||
<value string="Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11" />
|
||||
</item>
|
||||
</serverVariables>
|
||||
</error>
|
|
@ -1,23 +0,0 @@
|
|||
using System.Web.Mvc;
|
||||
|
||||
namespace UsageDataAnalysisWebClient.Areas.Admin
|
||||
{
|
||||
public class AdminAreaRegistration : AreaRegistration
|
||||
{
|
||||
public override string AreaName
|
||||
{
|
||||
get
|
||||
{
|
||||
return "Admin";
|
||||
}
|
||||
}
|
||||
|
||||
public override void RegisterArea(AreaRegistrationContext context)
|
||||
{
|
||||
context.MapRoute(
|
||||
"Admin_default",
|
||||
"Admin/{controller}/{action}/{id}",
|
||||
new { action = "Index", id = UrlParameter.Optional } );
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,108 +0,0 @@
|
|||
using System;
|
||||
using System.Web;
|
||||
using System.Web.Mvc;
|
||||
using Elmah;
|
||||
|
||||
namespace UsageDataAnalysisWebClient.Areas.Admin.Controllers
|
||||
{
|
||||
//[Authorize(Roles = "Admin")]
|
||||
public class ElmahController : Controller
|
||||
{
|
||||
public ActionResult Index()
|
||||
{
|
||||
return new ElmahResult();
|
||||
}
|
||||
|
||||
public ActionResult Stylesheet()
|
||||
{
|
||||
return new ElmahResult("stylesheet");
|
||||
}
|
||||
|
||||
public ActionResult Rss()
|
||||
{
|
||||
return new ElmahResult("rss");
|
||||
}
|
||||
|
||||
public ActionResult DigestRss()
|
||||
{
|
||||
return new ElmahResult("digestrss");
|
||||
}
|
||||
|
||||
public ActionResult About()
|
||||
{
|
||||
return new ElmahResult("about");
|
||||
}
|
||||
|
||||
public ActionResult Detail()
|
||||
{
|
||||
return new ElmahResult("detail");
|
||||
}
|
||||
|
||||
public ActionResult Download()
|
||||
{
|
||||
return new ElmahResult("download");
|
||||
}
|
||||
|
||||
public ActionResult Json()
|
||||
{
|
||||
return new ElmahResult("json");
|
||||
}
|
||||
|
||||
public ActionResult Xml()
|
||||
{
|
||||
return new ElmahResult("xml");
|
||||
}
|
||||
}
|
||||
|
||||
internal class ElmahResult : ActionResult
|
||||
{
|
||||
private readonly string _resouceType;
|
||||
|
||||
public ElmahResult()
|
||||
: this(null)
|
||||
{
|
||||
}
|
||||
|
||||
public ElmahResult(string resouceType)
|
||||
{
|
||||
_resouceType = resouceType;
|
||||
}
|
||||
|
||||
public override void ExecuteResult(ControllerContext context)
|
||||
{
|
||||
var factory = new ErrorLogPageFactory();
|
||||
|
||||
if (!string.IsNullOrEmpty(_resouceType))
|
||||
{
|
||||
string pathInfo = "/" + _resouceType;
|
||||
context.HttpContext.RewritePath(FilePath(context), pathInfo,
|
||||
context.HttpContext.Request.QueryString.ToString());
|
||||
}
|
||||
|
||||
var currentContext = GetCurrentContextAsHttpContext(context);
|
||||
|
||||
var httpHandler = factory.GetHandler(currentContext, null, null, null);
|
||||
var httpAsyncHandler = httpHandler as IHttpAsyncHandler;
|
||||
|
||||
if (httpAsyncHandler != null)
|
||||
{
|
||||
httpAsyncHandler.BeginProcessRequest(currentContext, r => { }, null);
|
||||
return;
|
||||
}
|
||||
|
||||
httpHandler.ProcessRequest(currentContext);
|
||||
}
|
||||
|
||||
private static HttpContext GetCurrentContextAsHttpContext(ControllerContext context)
|
||||
{
|
||||
return context.HttpContext.ApplicationInstance.Context;
|
||||
}
|
||||
|
||||
private string FilePath(ControllerContext context)
|
||||
{
|
||||
return _resouceType != "stylesheet"
|
||||
? context.HttpContext.Request.Path.Replace(String.Format("/{0}", _resouceType), string.Empty)
|
||||
: context.HttpContext.Request.Path;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,131 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using System.Linq;
|
||||
using System.Security.Principal;
|
||||
using System.Web;
|
||||
using System.Web.Mvc;
|
||||
using System.Web.Routing;
|
||||
using System.Web.Security;
|
||||
using UsageDataAnalysisWebClient.Models;
|
||||
|
||||
namespace UsageDataAnalysisWebClient.Controllers {
|
||||
|
||||
[HandleError]
|
||||
public class AccountController : Controller {
|
||||
|
||||
public IFormsAuthenticationService FormsService { get; set; }
|
||||
public IMembershipService MembershipService { get; set; }
|
||||
|
||||
protected override void Initialize(RequestContext requestContext) {
|
||||
if (FormsService == null) { FormsService = new FormsAuthenticationService(); }
|
||||
if (MembershipService == null) { MembershipService = new AccountMembershipService(); }
|
||||
|
||||
base.Initialize(requestContext);
|
||||
}
|
||||
|
||||
// **************************************
|
||||
// URL: /Account/LogOn
|
||||
// **************************************
|
||||
|
||||
public ActionResult LogOn() {
|
||||
return View();
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public ActionResult LogOn(LogOnModel model, string returnUrl) {
|
||||
if (ModelState.IsValid) {
|
||||
if (MembershipService.ValidateUser(model.UserName, model.Password)) {
|
||||
FormsService.SignIn(model.UserName, model.RememberMe);
|
||||
if (!String.IsNullOrEmpty(returnUrl)) {
|
||||
return Redirect(returnUrl);
|
||||
}
|
||||
else {
|
||||
return RedirectToAction("Index", "Home");
|
||||
}
|
||||
}
|
||||
else {
|
||||
ModelState.AddModelError("", "The user name or password provided is incorrect.");
|
||||
}
|
||||
}
|
||||
|
||||
// If we got this far, something failed, redisplay form
|
||||
return View(model);
|
||||
}
|
||||
|
||||
// **************************************
|
||||
// URL: /Account/LogOff
|
||||
// **************************************
|
||||
|
||||
public ActionResult LogOff() {
|
||||
FormsService.SignOut();
|
||||
|
||||
return RedirectToAction("Index", "Home");
|
||||
}
|
||||
|
||||
// **************************************
|
||||
// URL: /Account/Register
|
||||
// **************************************
|
||||
|
||||
public ActionResult Register() {
|
||||
ViewData["PasswordLength"] = MembershipService.MinPasswordLength;
|
||||
return View();
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public ActionResult Register(RegisterModel model) {
|
||||
if (ModelState.IsValid) {
|
||||
// Attempt to register the user
|
||||
MembershipCreateStatus createStatus = MembershipService.CreateUser(model.UserName, model.Password, model.Email);
|
||||
|
||||
if (createStatus == MembershipCreateStatus.Success) {
|
||||
FormsService.SignIn(model.UserName, false /* createPersistentCookie */);
|
||||
return RedirectToAction("Index", "Home");
|
||||
}
|
||||
else {
|
||||
ModelState.AddModelError("", AccountValidation.ErrorCodeToString(createStatus));
|
||||
}
|
||||
}
|
||||
|
||||
// If we got this far, something failed, redisplay form
|
||||
ViewData["PasswordLength"] = MembershipService.MinPasswordLength;
|
||||
return View(model);
|
||||
}
|
||||
|
||||
// **************************************
|
||||
// URL: /Account/ChangePassword
|
||||
// **************************************
|
||||
|
||||
[Authorize]
|
||||
public ActionResult ChangePassword() {
|
||||
ViewData["PasswordLength"] = MembershipService.MinPasswordLength;
|
||||
return View();
|
||||
}
|
||||
|
||||
[Authorize]
|
||||
[HttpPost]
|
||||
public ActionResult ChangePassword(ChangePasswordModel model) {
|
||||
if (ModelState.IsValid) {
|
||||
if (MembershipService.ChangePassword(User.Identity.Name, model.OldPassword, model.NewPassword)) {
|
||||
return RedirectToAction("ChangePasswordSuccess");
|
||||
}
|
||||
else {
|
||||
ModelState.AddModelError("", "The current password is incorrect or the new password is invalid.");
|
||||
}
|
||||
}
|
||||
|
||||
// If we got this far, something failed, redisplay form
|
||||
ViewData["PasswordLength"] = MembershipService.MinPasswordLength;
|
||||
return View(model);
|
||||
}
|
||||
|
||||
// **************************************
|
||||
// URL: /Account/ChangePasswordSuccess
|
||||
// **************************************
|
||||
|
||||
public ActionResult ChangePasswordSuccess() {
|
||||
return View();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -1,104 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.Mvc;
|
||||
using UsageDataAnalysisWebClient.Models;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Data.SqlClient;
|
||||
using System.Web.UI.DataVisualization.Charting;
|
||||
using UsageDataAnalysisWebClient.Repositories;
|
||||
using System.IO;
|
||||
|
||||
namespace UsageDataAnalysisWebClient.Controllers
|
||||
{
|
||||
public class EnvironmentController : Controller
|
||||
{
|
||||
//
|
||||
// GET: /Environment/
|
||||
|
||||
class DiagramSeries : Dictionary<DateTime, int>
|
||||
{
|
||||
public string Name;
|
||||
}
|
||||
|
||||
public ActionResult Index(EnvironmentViewModel model)
|
||||
{
|
||||
udcEntities db = new udcEntities();
|
||||
model.Charts = db.EnvironmentDataNames.Select(n => new EnvironmentViewChart { Id = n.EnvironmentDataNameId, Title = n.EnvironmentDataName1 }).ToList();
|
||||
model.Charts.RemoveAll(c => c.Title == "platform" || c.Title == "appVersion" || c.Title == "commit");
|
||||
ViewData.Model = model;
|
||||
return View();
|
||||
}
|
||||
|
||||
public const int ChartWidth = 800;
|
||||
public const int ChartHeight = 300;
|
||||
|
||||
public ActionResult Chart(DateTime startDate, DateTime endDate, string title, int id)
|
||||
{
|
||||
using (var c = new SqlConnection(ConfigurationManager.ConnectionStrings["udcADO"].ConnectionString)) {
|
||||
c.Open();
|
||||
var dicts = new List<DiagramSeries>();
|
||||
using (var command = c.CreateCommand()) {
|
||||
command.CommandText = "EnvironmentByWeek";
|
||||
command.CommandType = CommandType.StoredProcedure;
|
||||
command.Parameters.Add("startDate", SqlDbType.DateTime2).Value = startDate;
|
||||
command.Parameters.Add("endDate", SqlDbType.DateTime2).Value = endDate;
|
||||
command.Parameters.Add("envDataNameId", SqlDbType.Int).Value = id;
|
||||
using (var reader = command.ExecuteReader()) {
|
||||
DiagramSeries dict = null;
|
||||
while (reader.Read()) {
|
||||
string val = reader.IsDBNull(0) ? "unknown" : reader.GetString(0);
|
||||
if (dict == null || dict.Name != val) {
|
||||
dict = new DiagramSeries() { Name = val };
|
||||
dicts.Add(dict);
|
||||
}
|
||||
DateTime week = reader.GetDateTime(1);
|
||||
int count = reader.GetInt32(2);
|
||||
dict[week] = count;
|
||||
}
|
||||
}
|
||||
}
|
||||
Chart chart = new Chart();
|
||||
chart.Titles.Add(title);
|
||||
List<DateTime> allDates = dicts.SelectMany(d => d.Keys).Distinct().OrderBy(d => d).ToList();
|
||||
if (dicts.Count > 10) {
|
||||
var dictsToCombine = dicts.OrderByDescending(d => d.Values.Sum()).Skip(9).ToList();
|
||||
dicts = dicts.OrderByDescending(d => d.Values.Sum()).Take(9).OrderBy(d => d.Name, new VersionNameComparer()).ToList();
|
||||
DiagramSeries other = new DiagramSeries { Name = "Other" };
|
||||
var q = from dict in dictsToCombine
|
||||
from pair in dict
|
||||
group pair.Value by pair.Key;
|
||||
foreach (var g in q) {
|
||||
other.Add(g.Key, g.Sum());
|
||||
}
|
||||
dicts.Add(other);
|
||||
} else {
|
||||
dicts = dicts.OrderBy(d => d.Name, new VersionNameComparer()).ToList();
|
||||
}
|
||||
|
||||
foreach (var dict in dicts) {
|
||||
Series series = chart.Series.Add(dict.Name);
|
||||
series.ChartType = SeriesChartType.StackedArea100;
|
||||
foreach (DateTime dt in allDates) {
|
||||
int count;
|
||||
dict.TryGetValue(dt, out count);
|
||||
series.Points.AddXY(dt + TimeSpan.FromDays(3.5), count); // add a half week so that the data points are in the middle of the week
|
||||
}
|
||||
}
|
||||
|
||||
chart.Width = ChartWidth;
|
||||
chart.Height = ChartHeight;
|
||||
chart.ChartAreas.Add("Series 1");
|
||||
chart.Legends.Add("Legend 1");
|
||||
|
||||
using (var ms = new MemoryStream()) {
|
||||
chart.SaveImage(ms, System.Web.UI.DataVisualization.Charting.ChartImageFormat.Png);
|
||||
ms.Position = 0;
|
||||
return File(ms.ToArray(), "image/png", title + ".png");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,60 +0,0 @@
|
|||
using System.Linq;
|
||||
using System.Web.Mvc;
|
||||
using UsageDataAnalysisWebClient.Models;
|
||||
using UsageDataAnalysisWebClient.Repositories;
|
||||
using System.IO;
|
||||
|
||||
namespace UsageDataAnalysisWebClient.Controllers
|
||||
{
|
||||
[Authorize]
|
||||
public class ExceptionGroupController : Controller
|
||||
{
|
||||
public ActionResult Index(ExceptionGroupIndexModel model)
|
||||
{
|
||||
if (model.StartCommitHash == null)
|
||||
model.StartCommitHash = SourceControlRepository.GetLatestTagName(14);
|
||||
if (model.EndCommitHash == null)
|
||||
model.EndCommitHash = "";
|
||||
ExceptionGroupRepository repo = new ExceptionGroupRepository();
|
||||
model.Entries = repo.GetExceptionGroups(model.StartCommitHash, model.EndCommitHash);
|
||||
ViewData.Model = model;
|
||||
return View();
|
||||
}
|
||||
|
||||
public ActionResult Edit(int id) {
|
||||
ViewData.Model = new ExceptionGroupRepository().GetExceptionGroupById(id);
|
||||
return View();
|
||||
}
|
||||
|
||||
[AcceptVerbs(HttpVerbs.Post)]
|
||||
public ActionResult Edit(int id, ExceptionGroupEditModel exceptionGroupEditModel)
|
||||
{
|
||||
ExceptionGroupRepository exceptionGroupRepository = new ExceptionGroupRepository();
|
||||
exceptionGroupRepository.Save(id, exceptionGroupEditModel.UserComment, exceptionGroupEditModel.UserFixedInCommitHash);
|
||||
return RedirectToAction("Edit", id);
|
||||
}
|
||||
|
||||
public ActionResult CrashProbabilityChart(int id)
|
||||
{
|
||||
var chart = new System.Web.UI.DataVisualization.Charting.Chart();
|
||||
var crashes = chart.Series.Add("Occurrences");
|
||||
crashes.ChartType = System.Web.UI.DataVisualization.Charting.SeriesChartType.Line;
|
||||
|
||||
ExceptionGroupRepository exceptionGroupRepository = new ExceptionGroupRepository();
|
||||
foreach (var pair in exceptionGroupRepository.GetCrashStatisticsForExceptionGroup(id)) {
|
||||
crashes.Points.AddXY(pair.Item1, pair.Item2);
|
||||
}
|
||||
|
||||
chart.Width = 800;
|
||||
chart.Height = 300;
|
||||
chart.RenderType = System.Web.UI.DataVisualization.Charting.RenderType.ImageTag;
|
||||
chart.ChartAreas.Add("Series 1").AxisX.Interval = 1;
|
||||
|
||||
using (var ms = new MemoryStream()) {
|
||||
chart.SaveImage(ms, System.Web.UI.DataVisualization.Charting.ChartImageFormat.Png);
|
||||
ms.Position = 0;
|
||||
return File(ms.ToArray(), "image/png", "mychart.png");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,36 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.Mvc;
|
||||
using UsageDataAnalysisWebClient.Models;
|
||||
using UsageDataAnalysisWebClient.Repositories;
|
||||
|
||||
namespace UsageDataAnalysisWebClient.Controllers
|
||||
{
|
||||
[Authorize]
|
||||
public class FeatureController : Controller
|
||||
{
|
||||
//
|
||||
// GET: /Feature/
|
||||
|
||||
public ActionResult Index(FeatureIndexModel model)
|
||||
{
|
||||
if (model.FeatureFilter != null && model.VersionFilter != null) {
|
||||
int? commitID = SourceControlRepository.FindCommitId(model.VersionFilter);
|
||||
if (commitID == null) {
|
||||
model.ErrorMessage = "Unknown version: " + model.VersionFilter;
|
||||
} else {
|
||||
model.Entries = new FeatureRepository().GetFeatures(model.FeatureFilter, commitID.Value);
|
||||
}
|
||||
}
|
||||
if (model.VersionFilter == null) {
|
||||
model.VersionFilter = SourceControlRepository.GetLatestTagName(14);
|
||||
}
|
||||
if (model.FeatureFilter == null) {
|
||||
model.FeatureFilter = "%";
|
||||
}
|
||||
return View(model);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,21 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.Mvc;
|
||||
|
||||
namespace UsageDataAnalysisWebClient.Controllers
|
||||
{
|
||||
[Authorize]
|
||||
public class HomeController : Controller
|
||||
{
|
||||
//
|
||||
// GET: /Home/
|
||||
|
||||
public ActionResult Index()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -1,73 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.Mvc;
|
||||
using UsageDataAnalysisWebClient.Models;
|
||||
using System.Data.Objects;
|
||||
using System.Diagnostics;
|
||||
using System.Web.UI.DataVisualization.Charting;
|
||||
using UsageDataAnalysisWebClient.Repositories;
|
||||
|
||||
namespace UsageDataAnalysisWebClient.Controllers
|
||||
{
|
||||
public class StabilityController : Controller
|
||||
{
|
||||
//
|
||||
// GET: /Stability/
|
||||
|
||||
public ActionResult Index()
|
||||
{
|
||||
udcEntities db = new udcEntities();
|
||||
var q =
|
||||
from s in db.Sessions
|
||||
where s.ClientSessionId != 0 // ignore welcome sessions
|
||||
where !s.IsDebug // ignore debug builds
|
||||
join tag in db.TaggedCommits on s.CommitId equals tag.CommitId
|
||||
where tag.IsRelease // only use released versions, not branch
|
||||
group new {
|
||||
IsCrashed = s.FirstException != null,
|
||||
IsKilled = s.EndTime == null,
|
||||
s.StartTime,
|
||||
CrashTime = s.FirstException ?? s.EndTime ?? s.LastFeatureUse
|
||||
} by new { s.UserId, Date = EntityFunctions.TruncateTime(s.StartTime), tag.Name };
|
||||
|
||||
Debug.WriteLine(((System.Data.Objects.ObjectQuery)q).ToTraceString());
|
||||
var resultList = (
|
||||
from g in q.AsEnumerable() // don't do this on DB, EF generates too slow SQL
|
||||
group g by new { g.Key.Name } into g
|
||||
select new {
|
||||
TagName = g.Key.Name,
|
||||
UserDaysWithCrash = g.Count(g2 => g2.Any(s => s.IsCrashed)),
|
||||
UserDaysWithKilled = g.Count(g2 => g2.Any(s => s.IsKilled)),
|
||||
UserDays = g.Count(),
|
||||
SessionsWithCrashOrKilled = g.Sum(g2 => g2.Count(s => s.IsKilled || s.IsCrashed)),
|
||||
TotalSessionLength = g.Sum(g2 => g2.Sum(s => Math.Max(0, ((s.CrashTime - s.StartTime) ?? TimeSpan.Zero).TotalHours)))
|
||||
}
|
||||
).OrderBy(g => g.TagName, new VersionNameComparer()).ToList();
|
||||
|
||||
foreach (var item in resultList) {
|
||||
Debug.WriteLine(item.ToString());
|
||||
}
|
||||
|
||||
Chart chart = new Chart();
|
||||
Series crashes = chart.Series.Add("Exceptions");
|
||||
Series killed = chart.Series.Add("Sessions without clean exit");
|
||||
crashes.ChartType = SeriesChartType.Line;
|
||||
killed.ChartType = SeriesChartType.Line;
|
||||
|
||||
Chart chart2 = new Chart();
|
||||
Series crashFrequency = chart2.Series.Add("Crash Frequency");
|
||||
crashFrequency.ChartType = SeriesChartType.Line;
|
||||
|
||||
foreach (var row in resultList) {
|
||||
crashes.Points.AddXY(row.TagName, 100 * (double)row.UserDaysWithCrash / row.UserDays);
|
||||
killed.Points.AddXY(row.TagName, 100 * (double)row.UserDaysWithKilled / row.UserDays);
|
||||
crashFrequency.Points.AddXY(row.TagName, row.SessionsWithCrashOrKilled / row.TotalSessionLength);
|
||||
}
|
||||
ViewData.Model = chart;
|
||||
ViewData["CrashFrequency"] = chart2;
|
||||
return View();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,90 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.Mvc;
|
||||
using UsageDataAnalysisWebClient.Models;
|
||||
using System.Data.SqlClient;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Web.UI.DataVisualization.Charting;
|
||||
|
||||
namespace UsageDataAnalysisWebClient.Controllers
|
||||
{
|
||||
[Authorize]
|
||||
public class UsageController : Controller
|
||||
{
|
||||
public ActionResult Index(UsageViewModel model)
|
||||
{
|
||||
//udcEntities db = new udcEntities();
|
||||
model.DailyUsers = CreateChart(model.StartDate, model.EndDate, 0);
|
||||
model.WeeklyUsers = CreateChart(GetStartOfWeek(model.StartDate), GetStartOfWeek(model.EndDate), 1);
|
||||
model.MonthlyUsers = CreateChart(GetStartOfMonth(model.StartDate), GetStartOfMonth(model.EndDate), 2);
|
||||
|
||||
ViewData.Model = model;
|
||||
return View();
|
||||
}
|
||||
|
||||
static DateTime GetStartOfWeek(DateTime time)
|
||||
{
|
||||
return time.AddDays(-(int)time.DayOfWeek);
|
||||
}
|
||||
|
||||
static DateTime GetStartOfMonth(DateTime time)
|
||||
{
|
||||
return time.AddDays(1 - (int)time.Day);
|
||||
}
|
||||
|
||||
static Chart CreateChart(DateTime startDate, DateTime endDate, int mode)
|
||||
{
|
||||
System.Web.UI.DataVisualization.Charting.Chart Chart2 = new System.Web.UI.DataVisualization.Charting.Chart();
|
||||
Chart2.Width = 800;
|
||||
Chart2.Height = 300;
|
||||
Chart2.RenderType = RenderType.ImageTag;
|
||||
|
||||
Chart2.Palette = ChartColorPalette.BrightPastel;
|
||||
Chart2.ChartAreas.Add("Series 1");
|
||||
Chart2.Legends.Add("Legend 1");
|
||||
List<UsageDataPoint> diagramData = GetUsageData(startDate, endDate, mode);
|
||||
var versions = diagramData.Select(d => d.Version).Distinct().OrderBy(v => v, new UsageDataAnalysisWebClient.Repositories.VersionNameComparer()).ToList();
|
||||
var allDates = diagramData.Select(d => d.Date).Distinct().OrderBy(d => d).ToList();
|
||||
foreach (var version in versions) {
|
||||
var s = Chart2.Series.Add(version);
|
||||
s.ChartType = SeriesChartType.StackedArea;
|
||||
var dict = diagramData.Where(d => d.Version == version).ToDictionary(d => d.Date, d => d.UserCount);
|
||||
foreach (var date in allDates) {
|
||||
int count;
|
||||
dict.TryGetValue(date, out count);
|
||||
// add a half week so that the data points are in the middle of the week
|
||||
s.Points.AddXY(date + (mode == 2 ? TimeSpan.FromDays(15) : mode == 1 ? TimeSpan.FromDays(3.5) : TimeSpan.Zero), count);
|
||||
}
|
||||
}
|
||||
return Chart2;
|
||||
}
|
||||
|
||||
private static List<UsageDataPoint> GetUsageData(DateTime startDate, DateTime endDate, int mode)
|
||||
{
|
||||
List<UsageDataPoint> usageData = new List<UsageDataPoint>();
|
||||
using (var c = new SqlConnection(ConfigurationManager.ConnectionStrings["udcADO"].ConnectionString)) {
|
||||
c.Open();
|
||||
using (var command = c.CreateCommand()) {
|
||||
command.CommandText = "UserCount";
|
||||
command.CommandType = CommandType.StoredProcedure;
|
||||
command.Parameters.Add("startDate", SqlDbType.DateTime2).Value = startDate;
|
||||
command.Parameters.Add("endDate", SqlDbType.DateTime2).Value = endDate;
|
||||
command.Parameters.Add("mode", SqlDbType.Int).Value = mode;
|
||||
using (var reader = command.ExecuteReader()) {
|
||||
while (reader.Read())
|
||||
usageData.Add(new UsageDataPoint {
|
||||
Date = reader.GetDateTime(0),
|
||||
Version = reader.IsDBNull(1) ? "Other" : reader.GetString(1),
|
||||
UserCount = reader.GetInt32(2)
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
return usageData;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -1 +0,0 @@
|
|||
<%@ Application Codebehind="Global.asax.cs" Inherits="UsageDataAnalysisWebClient.MvcApplication" Language="C#" %>
|
|
@ -1,30 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.Mvc;
|
||||
using System.Web.Routing;
|
||||
|
||||
namespace UsageDataAnalysisWebClient {
|
||||
// Note: For instructions on enabling IIS6 or IIS7 classic mode,
|
||||
// visit http://go.microsoft.com/?LinkId=9394801
|
||||
|
||||
public class MvcApplication : System.Web.HttpApplication {
|
||||
public static void RegisterRoutes(RouteCollection routes) {
|
||||
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
|
||||
|
||||
routes.MapRoute(
|
||||
"Default", // Route name
|
||||
"{controller}/{action}/{id}", // URL with parameters
|
||||
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
protected void Application_Start() {
|
||||
AreaRegistration.RegisterAllAreas();
|
||||
|
||||
RegisterRoutes(RouteTable.Routes);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,142 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
|
||||
namespace UsageDataAnalysisWebClient {
|
||||
public class WebConfigMembershipProvider : MembershipProvider {
|
||||
|
||||
public override void Initialize(string name,
|
||||
System.Collections.Specialized.NameValueCollection config) {
|
||||
|
||||
base.Initialize(name, config);
|
||||
|
||||
}
|
||||
|
||||
|
||||
public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status) {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public override bool ChangePasswordQuestionAndAnswer(string username, string password, string newPasswordQuestion, string newPasswordAnswer) {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public override string GetPassword(string username, string answer) {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public override bool ChangePassword(string username, string oldPassword, string newPassword) {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public override string ResetPassword(string username, string answer) {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public override void UpdateUser(MembershipUser user) {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public override bool ValidateUser(string username, string password) {
|
||||
|
||||
if (FormsAuthentication.Authenticate(username, password)) {
|
||||
|
||||
//new AuthenticationSuccessEvent(username, this).Raise();
|
||||
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
else {
|
||||
|
||||
//new AuthenticationFailureEvent(username, this).Raise();
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public override bool UnlockUser(string userName) {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public override MembershipUser GetUser(object providerUserKey, bool userIsOnline) {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public override MembershipUser GetUser(string username, bool userIsOnline) {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public override string GetUserNameByEmail(string email) {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public override bool DeleteUser(string username, bool deleteAllRelatedData) {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public override MembershipUserCollection GetAllUsers(int pageIndex, int pageSize, out int totalRecords) {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public override int GetNumberOfUsersOnline() {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public override MembershipUserCollection FindUsersByName(string usernameToMatch, int pageIndex, int pageSize, out int totalRecords) {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public override MembershipUserCollection FindUsersByEmail(string emailToMatch, int pageIndex, int pageSize, out int totalRecords) {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public override bool EnablePasswordRetrieval {
|
||||
get { throw new NotImplementedException(); }
|
||||
}
|
||||
|
||||
public override bool EnablePasswordReset {
|
||||
get { throw new NotImplementedException(); }
|
||||
}
|
||||
|
||||
public override bool RequiresQuestionAndAnswer {
|
||||
get { throw new NotImplementedException(); }
|
||||
}
|
||||
|
||||
public override string ApplicationName {
|
||||
get { throw new NotImplementedException(); }
|
||||
set { throw new NotImplementedException(); }
|
||||
}
|
||||
|
||||
public override int MaxInvalidPasswordAttempts {
|
||||
get { throw new NotImplementedException(); }
|
||||
}
|
||||
|
||||
public override int PasswordAttemptWindow {
|
||||
get { throw new NotImplementedException(); }
|
||||
}
|
||||
|
||||
public override bool RequiresUniqueEmail {
|
||||
get { throw new NotImplementedException(); }
|
||||
}
|
||||
|
||||
public override MembershipPasswordFormat PasswordFormat {
|
||||
get { throw new NotImplementedException(); }
|
||||
}
|
||||
|
||||
public override int MinRequiredPasswordLength {
|
||||
get { throw new NotImplementedException(); }
|
||||
}
|
||||
|
||||
public override int MinRequiredNonAlphanumericCharacters {
|
||||
get { throw new NotImplementedException(); }
|
||||
}
|
||||
|
||||
public override string PasswordStrengthRegularExpression {
|
||||
get { throw new NotImplementedException(); }
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,250 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.Mvc;
|
||||
using System.Web.Security;
|
||||
|
||||
namespace UsageDataAnalysisWebClient.Models {
|
||||
|
||||
#region Models
|
||||
[PropertiesMustMatch("NewPassword", "ConfirmPassword", ErrorMessage = "The new password and confirmation password do not match.")]
|
||||
public class ChangePasswordModel {
|
||||
[Required]
|
||||
[DataType(DataType.Password)]
|
||||
[DisplayName("Current password")]
|
||||
public string OldPassword { get; set; }
|
||||
|
||||
[Required]
|
||||
[ValidatePasswordLength]
|
||||
[DataType(DataType.Password)]
|
||||
[DisplayName("New password")]
|
||||
public string NewPassword { get; set; }
|
||||
|
||||
[Required]
|
||||
[DataType(DataType.Password)]
|
||||
[DisplayName("Confirm new password")]
|
||||
public string ConfirmPassword { get; set; }
|
||||
}
|
||||
|
||||
public class LogOnModel {
|
||||
[Required]
|
||||
[DisplayName("User name")]
|
||||
public string UserName { get; set; }
|
||||
|
||||
[Required]
|
||||
[DataType(DataType.Password)]
|
||||
[DisplayName("Password")]
|
||||
public string Password { get; set; }
|
||||
|
||||
[DisplayName("Remember me?")]
|
||||
public bool RememberMe { get; set; }
|
||||
}
|
||||
|
||||
[PropertiesMustMatch("Password", "ConfirmPassword", ErrorMessage = "The password and confirmation password do not match.")]
|
||||
public class RegisterModel {
|
||||
[Required]
|
||||
[DisplayName("User name")]
|
||||
public string UserName { get; set; }
|
||||
|
||||
[Required]
|
||||
[DataType(DataType.EmailAddress)]
|
||||
[DisplayName("Email address")]
|
||||
public string Email { get; set; }
|
||||
|
||||
[Required]
|
||||
[ValidatePasswordLength]
|
||||
[DataType(DataType.Password)]
|
||||
[DisplayName("Password")]
|
||||
public string Password { get; set; }
|
||||
|
||||
[Required]
|
||||
[DataType(DataType.Password)]
|
||||
[DisplayName("Confirm password")]
|
||||
public string ConfirmPassword { get; set; }
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Services
|
||||
// The FormsAuthentication type is sealed and contains static members, so it is difficult to
|
||||
// unit test code that calls its members. The interface and helper class below demonstrate
|
||||
// how to create an abstract wrapper around such a type in order to make the AccountController
|
||||
// code unit testable.
|
||||
|
||||
public interface IMembershipService {
|
||||
int MinPasswordLength { get; }
|
||||
|
||||
bool ValidateUser(string userName, string password);
|
||||
MembershipCreateStatus CreateUser(string userName, string password, string email);
|
||||
bool ChangePassword(string userName, string oldPassword, string newPassword);
|
||||
}
|
||||
|
||||
public class AccountMembershipService : IMembershipService {
|
||||
private readonly MembershipProvider _provider;
|
||||
|
||||
public AccountMembershipService()
|
||||
: this(null) {
|
||||
}
|
||||
|
||||
public AccountMembershipService(MembershipProvider provider) {
|
||||
_provider = provider ?? Membership.Provider;
|
||||
}
|
||||
|
||||
public int MinPasswordLength {
|
||||
get {
|
||||
return _provider.MinRequiredPasswordLength;
|
||||
}
|
||||
}
|
||||
|
||||
public bool ValidateUser(string userName, string password) {
|
||||
if (String.IsNullOrEmpty(userName)) throw new ArgumentException("Value cannot be null or empty.", "userName");
|
||||
if (String.IsNullOrEmpty(password)) throw new ArgumentException("Value cannot be null or empty.", "password");
|
||||
|
||||
return _provider.ValidateUser(userName, password);
|
||||
}
|
||||
|
||||
public MembershipCreateStatus CreateUser(string userName, string password, string email) {
|
||||
if (String.IsNullOrEmpty(userName)) throw new ArgumentException("Value cannot be null or empty.", "userName");
|
||||
if (String.IsNullOrEmpty(password)) throw new ArgumentException("Value cannot be null or empty.", "password");
|
||||
if (String.IsNullOrEmpty(email)) throw new ArgumentException("Value cannot be null or empty.", "email");
|
||||
|
||||
MembershipCreateStatus status;
|
||||
_provider.CreateUser(userName, password, email, null, null, true, null, out status);
|
||||
return status;
|
||||
}
|
||||
|
||||
public bool ChangePassword(string userName, string oldPassword, string newPassword) {
|
||||
if (String.IsNullOrEmpty(userName)) throw new ArgumentException("Value cannot be null or empty.", "userName");
|
||||
if (String.IsNullOrEmpty(oldPassword)) throw new ArgumentException("Value cannot be null or empty.", "oldPassword");
|
||||
if (String.IsNullOrEmpty(newPassword)) throw new ArgumentException("Value cannot be null or empty.", "newPassword");
|
||||
|
||||
// The underlying ChangePassword() will throw an exception rather
|
||||
// than return false in certain failure scenarios.
|
||||
try {
|
||||
MembershipUser currentUser = _provider.GetUser(userName, true /* userIsOnline */);
|
||||
return currentUser.ChangePassword(oldPassword, newPassword);
|
||||
}
|
||||
catch (ArgumentException) {
|
||||
return false;
|
||||
}
|
||||
catch (MembershipPasswordException) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public interface IFormsAuthenticationService {
|
||||
void SignIn(string userName, bool createPersistentCookie);
|
||||
void SignOut();
|
||||
}
|
||||
|
||||
public class FormsAuthenticationService : IFormsAuthenticationService {
|
||||
public void SignIn(string userName, bool createPersistentCookie) {
|
||||
if (String.IsNullOrEmpty(userName)) throw new ArgumentException("Value cannot be null or empty.", "userName");
|
||||
|
||||
FormsAuthentication.SetAuthCookie(userName, createPersistentCookie);
|
||||
}
|
||||
|
||||
public void SignOut() {
|
||||
FormsAuthentication.SignOut();
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Validation
|
||||
public static class AccountValidation {
|
||||
public static string ErrorCodeToString(MembershipCreateStatus createStatus) {
|
||||
// See http://go.microsoft.com/fwlink/?LinkID=177550 for
|
||||
// a full list of status codes.
|
||||
switch (createStatus) {
|
||||
case MembershipCreateStatus.DuplicateUserName:
|
||||
return "Username already exists. Please enter a different user name.";
|
||||
|
||||
case MembershipCreateStatus.DuplicateEmail:
|
||||
return "A username for that e-mail address already exists. Please enter a different e-mail address.";
|
||||
|
||||
case MembershipCreateStatus.InvalidPassword:
|
||||
return "The password provided is invalid. Please enter a valid password value.";
|
||||
|
||||
case MembershipCreateStatus.InvalidEmail:
|
||||
return "The e-mail address provided is invalid. Please check the value and try again.";
|
||||
|
||||
case MembershipCreateStatus.InvalidAnswer:
|
||||
return "The password retrieval answer provided is invalid. Please check the value and try again.";
|
||||
|
||||
case MembershipCreateStatus.InvalidQuestion:
|
||||
return "The password retrieval question provided is invalid. Please check the value and try again.";
|
||||
|
||||
case MembershipCreateStatus.InvalidUserName:
|
||||
return "The user name provided is invalid. Please check the value and try again.";
|
||||
|
||||
case MembershipCreateStatus.ProviderError:
|
||||
return "The authentication provider returned an error. Please verify your entry and try again. If the problem persists, please contact your system administrator.";
|
||||
|
||||
case MembershipCreateStatus.UserRejected:
|
||||
return "The user creation request has been canceled. Please verify your entry and try again. If the problem persists, please contact your system administrator.";
|
||||
|
||||
default:
|
||||
return "An unknown error occurred. Please verify your entry and try again. If the problem persists, please contact your system administrator.";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = true)]
|
||||
public sealed class PropertiesMustMatchAttribute : ValidationAttribute {
|
||||
private const string _defaultErrorMessage = "'{0}' and '{1}' do not match.";
|
||||
private readonly object _typeId = new object();
|
||||
|
||||
public PropertiesMustMatchAttribute(string originalProperty, string confirmProperty)
|
||||
: base(_defaultErrorMessage) {
|
||||
OriginalProperty = originalProperty;
|
||||
ConfirmProperty = confirmProperty;
|
||||
}
|
||||
|
||||
public string ConfirmProperty { get; private set; }
|
||||
public string OriginalProperty { get; private set; }
|
||||
|
||||
public override object TypeId {
|
||||
get {
|
||||
return _typeId;
|
||||
}
|
||||
}
|
||||
|
||||
public override string FormatErrorMessage(string name) {
|
||||
return String.Format(CultureInfo.CurrentUICulture, ErrorMessageString,
|
||||
OriginalProperty, ConfirmProperty);
|
||||
}
|
||||
|
||||
public override bool IsValid(object value) {
|
||||
PropertyDescriptorCollection properties = TypeDescriptor.GetProperties(value);
|
||||
object originalValue = properties.Find(OriginalProperty, true /* ignoreCase */).GetValue(value);
|
||||
object confirmValue = properties.Find(ConfirmProperty, true /* ignoreCase */).GetValue(value);
|
||||
return Object.Equals(originalValue, confirmValue);
|
||||
}
|
||||
}
|
||||
|
||||
[AttributeUsage(AttributeTargets.Field | AttributeTargets.Property, AllowMultiple = false, Inherited = true)]
|
||||
public sealed class ValidatePasswordLengthAttribute : ValidationAttribute {
|
||||
private const string _defaultErrorMessage = "'{0}' must be at least {1} characters long.";
|
||||
private readonly int _minCharacters = Membership.Provider.MinRequiredPasswordLength;
|
||||
|
||||
public ValidatePasswordLengthAttribute()
|
||||
: base(_defaultErrorMessage) {
|
||||
}
|
||||
|
||||
public override string FormatErrorMessage(string name) {
|
||||
return String.Format(CultureInfo.CurrentUICulture, ErrorMessageString,
|
||||
name, _minCharacters);
|
||||
}
|
||||
|
||||
public override bool IsValid(object value) {
|
||||
string valueAsString = value as string;
|
||||
return (valueAsString != null && valueAsString.Length >= _minCharacters);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
}
|
|
@ -1,40 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web.UI.DataVisualization.Charting;
|
||||
using UsageDataAnalysisWebClient.Controllers;
|
||||
|
||||
namespace UsageDataAnalysisWebClient.Models {
|
||||
public class EnvironmentViewModel
|
||||
{
|
||||
public EnvironmentViewModel()
|
||||
{
|
||||
this.StartDate = GetStartOfWeek(DateTime.Today.AddMonths(-12));
|
||||
this.EndDate = GetStartOfWeek(DateTime.Today.AddDays(-1));
|
||||
}
|
||||
|
||||
static DateTime GetStartOfWeek(DateTime time)
|
||||
{
|
||||
return time.AddDays(-(int)time.DayOfWeek);
|
||||
}
|
||||
|
||||
public DateTime StartDate { get; set; }
|
||||
public DateTime EndDate { get; set; }
|
||||
|
||||
public List<EnvironmentViewChart> Charts;
|
||||
}
|
||||
|
||||
public class EnvironmentViewChart
|
||||
{
|
||||
public string Title { get; set; }
|
||||
public int Id { get; set; }
|
||||
|
||||
public int Width { get { return EnvironmentController.ChartWidth; } }
|
||||
public int Height { get { return EnvironmentController.ChartHeight; } }
|
||||
}
|
||||
|
||||
public class EnvironmentDataModel {
|
||||
public string Name { get; set; }
|
||||
|
||||
public string Value { get; set; }
|
||||
}
|
||||
}
|
|
@ -1,39 +0,0 @@
|
|||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace UsageDataAnalysisWebClient.Models {
|
||||
public class ExceptionGroupEditModel {
|
||||
public int ExceptionGroupId { get; set; }
|
||||
|
||||
public string TypeFingerprintSha256Hash { get; set; }
|
||||
|
||||
public string ExceptionType { get; set; }
|
||||
|
||||
public string ExceptionLocation { get; set; }
|
||||
|
||||
public string ExceptionFingerprint { get; set; }
|
||||
|
||||
[DisplayName("Comment")]
|
||||
public string UserComment { get; set; }
|
||||
|
||||
public int? UserFixedInCommitId { get; set; } // commit id
|
||||
|
||||
[DisplayName("Fixed in Commit")]
|
||||
public string UserFixedInCommitHash { get; set; } // commit hash
|
||||
|
||||
public string UserFixedInCommit { get; set; } // friendly name for the fixed in version
|
||||
|
||||
public int FirstOccurrenceCommitId { get; set; }
|
||||
public string FirstOccurrenceCommit { get; set; }
|
||||
public string FirstOccurrenceCommitHash { get; set; }
|
||||
|
||||
public int LastOccurrenceCommitId { get; set; }
|
||||
public string LastOccurrenceCommit { get; set; }
|
||||
public string LastOccurrenceCommitHash { get; set; }
|
||||
|
||||
public IEnumerable<ExceptionModel> Exceptions { get; set; }
|
||||
|
||||
public List<Tuple<string, double>> CrashProbabilities { get; set; }
|
||||
}
|
||||
}
|
|
@ -1,66 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.Mvc;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
namespace UsageDataAnalysisWebClient.Models
|
||||
{
|
||||
public class ExceptionGroupIndexModel
|
||||
{
|
||||
public ExceptionGroupIndexModel()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public string StartCommitHash { get; set; }
|
||||
public string EndCommitHash { get; set; }
|
||||
|
||||
public IEnumerable<ExceptionGroupIndexModelEntry> Entries { get; set; }
|
||||
}
|
||||
|
||||
public class ExceptionGroupIndexModelEntry
|
||||
{
|
||||
public int ExceptionGroupId { get; set; }
|
||||
public string ExceptionType { get; set; }
|
||||
public string ExceptionLocation { get; set; }
|
||||
public string UserComment { get; set; }
|
||||
public int? UserFixedInCommitId { get; set; } // id
|
||||
public string UserFixedInCommit { get; set; } // friendly name (from a session's AppVersion)
|
||||
public string UserFixedInCommitHash { get; set; } // hash
|
||||
public bool HasRepeatedAfterFixVersion { get; set; }
|
||||
public int AffectedUsers { get; set; }
|
||||
public int Occurrences { get; set; }
|
||||
|
||||
public int FirstSeenVersionCommitId { get; set; }
|
||||
public int LastSeenVersionCommitId { get; set; }
|
||||
public string FirstSeenVersionHash { get; set; }
|
||||
public string LastSeenVersionHash { get; set; }
|
||||
public string FirstSeenVersion { get; set; } // friendly name (from a session's AppVersion)
|
||||
public string LastSeenVersion { get; set; }
|
||||
|
||||
public string ShortExceptionType
|
||||
{
|
||||
get
|
||||
{
|
||||
int pos = ExceptionType.LastIndexOf('.');
|
||||
if (pos >= 0)
|
||||
return ExceptionType.Substring(pos + 1);
|
||||
else
|
||||
return ExceptionType;
|
||||
}
|
||||
}
|
||||
|
||||
public HtmlString RichUserComment {
|
||||
get
|
||||
{
|
||||
string html = HttpUtility.HtmlEncode(UserComment);
|
||||
if (html == null)
|
||||
return null;
|
||||
html = Regex.Replace(html, @"SD-([0-9]+)", @"<a href=""http://bugtracker.sharpdevelop.net/Default.aspx?p=4&i=$1"">SD-$1</a>");
|
||||
return new HtmlString(html);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,25 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace UsageDataAnalysisWebClient.Models {
|
||||
public class ExceptionModel {
|
||||
public DateTime ThrownAt { get; set; }
|
||||
|
||||
public IEnumerable<EnvironmentDataModel> Environment { get; set; }
|
||||
|
||||
public IEnumerable<ExceptionModelFeatureUse> PreviousFeatureUses { get; set; }
|
||||
|
||||
public string Stacktrace { get; set; }
|
||||
|
||||
public int UserId { get; set; }
|
||||
}
|
||||
|
||||
public class ExceptionModelFeatureUse
|
||||
{
|
||||
public DateTime UseTime { get; set; }
|
||||
|
||||
public string FeatureName { get; set; }
|
||||
|
||||
public string ActivationMethod { get; set; }
|
||||
}
|
||||
}
|
|
@ -1,25 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
|
||||
namespace UsageDataAnalysisWebClient.Models
|
||||
{
|
||||
public class FeatureIndexModel
|
||||
{
|
||||
public string FeatureFilter { get; set; }
|
||||
public string VersionFilter { get; set; }
|
||||
|
||||
public IEnumerable<FeatureIndexEntry> Entries { get; set; }
|
||||
|
||||
public string ErrorMessage { get; set; }
|
||||
}
|
||||
|
||||
public class FeatureIndexEntry
|
||||
{
|
||||
public int FeatureID { get; set; }
|
||||
public string FeatureName { get; set; }
|
||||
public int TotalUseCount { get; set; }
|
||||
public int UserDays { get; set; }
|
||||
}
|
||||
}
|
|
@ -1,646 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<edmx:Edmx Version="2.0" xmlns:edmx="http://schemas.microsoft.com/ado/2008/10/edmx">
|
||||
<!-- EF Runtime content -->
|
||||
<edmx:Runtime>
|
||||
<!-- SSDL content -->
|
||||
<edmx:StorageModels>
|
||||
<Schema Namespace="udcModel.Store" Alias="Self" Provider="System.Data.SqlClient" ProviderManifestToken="2008" xmlns:store="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" xmlns="http://schemas.microsoft.com/ado/2009/02/edm/ssdl">
|
||||
<EntityContainer Name="udcModelStoreContainer">
|
||||
<EntitySet Name="ActivationMethods" EntityType="udcModel.Store.ActivationMethods" store:Type="Tables" Schema="dbo" />
|
||||
<EntitySet Name="CommitRelations" EntityType="udcModel.Store.CommitRelations" store:Type="Tables" Schema="dbo" />
|
||||
<EntitySet Name="Commits" EntityType="udcModel.Store.Commits" store:Type="Tables" Schema="dbo" />
|
||||
<EntitySet Name="EnvironmentData" EntityType="udcModel.Store.EnvironmentData" store:Type="Tables" Schema="dbo" />
|
||||
<EntitySet Name="EnvironmentDataNames" EntityType="udcModel.Store.EnvironmentDataNames" store:Type="Tables" Schema="dbo" />
|
||||
<EntitySet Name="EnvironmentDataValues" EntityType="udcModel.Store.EnvironmentDataValues" store:Type="Tables" Schema="dbo" />
|
||||
<EntitySet Name="ExceptionGroups" EntityType="udcModel.Store.ExceptionGroups" store:Type="Tables" Schema="dbo" />
|
||||
<EntitySet Name="Exceptions" EntityType="udcModel.Store.Exceptions" store:Type="Tables" Schema="dbo" />
|
||||
<EntitySet Name="Features" EntityType="udcModel.Store.Features" store:Type="Tables" Schema="dbo" />
|
||||
<EntitySet Name="FeatureUse" EntityType="udcModel.Store.FeatureUse" store:Type="Tables" Schema="dbo" />
|
||||
<EntitySet Name="Sessions" EntityType="udcModel.Store.Sessions" store:Type="Tables" Schema="dbo" />
|
||||
<EntitySet Name="TaggedCommits" EntityType="udcModel.Store.TaggedCommits" store:Type="Tables" Schema="dbo" />
|
||||
<EntitySet Name="Users" EntityType="udcModel.Store.Users" store:Type="Tables" Schema="dbo" />
|
||||
</EntityContainer>
|
||||
<EntityType Name="ActivationMethods">
|
||||
<Key>
|
||||
<PropertyRef Name="ActivationMethodId" />
|
||||
</Key>
|
||||
<Property Name="ActivationMethodId" Type="int" Nullable="false" StoreGeneratedPattern="Identity" />
|
||||
<Property Name="ActivationMethodName" Type="nvarchar" MaxLength="255" />
|
||||
</EntityType>
|
||||
<EntityType Name="CommitRelations">
|
||||
<Key>
|
||||
<PropertyRef Name="ParentCommit" />
|
||||
<PropertyRef Name="ChildCommit" />
|
||||
</Key>
|
||||
<Property Name="ParentCommit" Type="int" Nullable="false" />
|
||||
<Property Name="ChildCommit" Type="int" Nullable="false" />
|
||||
</EntityType>
|
||||
<EntityType Name="Commits">
|
||||
<Key>
|
||||
<PropertyRef Name="Id" />
|
||||
</Key>
|
||||
<Property Name="Id" Type="int" Nullable="false" StoreGeneratedPattern="Identity" />
|
||||
<Property Name="Hash" Type="nvarchar" Nullable="false" MaxLength="50" />
|
||||
<Property Name="CommitDate" Type="datetime" Nullable="false" />
|
||||
</EntityType>
|
||||
<EntityType Name="EnvironmentData">
|
||||
<Key>
|
||||
<PropertyRef Name="EnvironmentDataId" />
|
||||
</Key>
|
||||
<Property Name="EnvironmentDataId" Type="int" Nullable="false" StoreGeneratedPattern="Identity" />
|
||||
<Property Name="SessionId" Type="int" Nullable="false" />
|
||||
<Property Name="EnvironmentDataNameId" Type="int" Nullable="false" />
|
||||
<Property Name="EnvironmentDataValueId" Type="int" Nullable="false" />
|
||||
</EntityType>
|
||||
<EntityType Name="EnvironmentDataNames">
|
||||
<Key>
|
||||
<PropertyRef Name="EnvironmentDataNameId" />
|
||||
</Key>
|
||||
<Property Name="EnvironmentDataNameId" Type="int" Nullable="false" StoreGeneratedPattern="Identity" />
|
||||
<Property Name="EnvironmentDataName" Type="nvarchar" Nullable="false" MaxLength="255" />
|
||||
</EntityType>
|
||||
<EntityType Name="EnvironmentDataValues">
|
||||
<Key>
|
||||
<PropertyRef Name="EnvironmentDataValueId" />
|
||||
</Key>
|
||||
<Property Name="EnvironmentDataValueId" Type="int" Nullable="false" StoreGeneratedPattern="Identity" />
|
||||
<Property Name="EnvironmentDataValue" Type="nvarchar" MaxLength="255" />
|
||||
</EntityType>
|
||||
<EntityType Name="ExceptionGroups">
|
||||
<Key>
|
||||
<PropertyRef Name="ExceptionGroupId" />
|
||||
</Key>
|
||||
<Property Name="ExceptionGroupId" Type="int" Nullable="false" StoreGeneratedPattern="Identity" />
|
||||
<Property Name="TypeFingerprintSha256Hash" Type="nvarchar" Nullable="false" MaxLength="128" />
|
||||
<Property Name="ExceptionType" Type="nvarchar" Nullable="false" MaxLength="255" />
|
||||
<Property Name="ExceptionFingerprint" Type="nvarchar(max)" Nullable="false" />
|
||||
<Property Name="ExceptionLocation" Type="nvarchar(max)" Nullable="false" />
|
||||
<Property Name="UserComment" Type="nvarchar(max)" />
|
||||
<Property Name="UserFixedInCommit" Type="int" />
|
||||
</EntityType>
|
||||
<EntityType Name="Exceptions">
|
||||
<Key>
|
||||
<PropertyRef Name="ExceptionId" />
|
||||
</Key>
|
||||
<Property Name="ExceptionId" Type="int" Nullable="false" StoreGeneratedPattern="Identity" />
|
||||
<Property Name="SessionId" Type="int" Nullable="false" />
|
||||
<Property Name="ExceptionGroupId" Type="int" Nullable="false" />
|
||||
<Property Name="ThrownAt" Type="datetime" Nullable="false" />
|
||||
<Property Name="Stacktrace" Type="nvarchar(max)" Nullable="false" />
|
||||
<Property Name="IsFirstInSession" Type="bit" Nullable="false" />
|
||||
</EntityType>
|
||||
<EntityType Name="Features">
|
||||
<Key>
|
||||
<PropertyRef Name="FeatureId" />
|
||||
</Key>
|
||||
<Property Name="FeatureId" Type="int" Nullable="false" StoreGeneratedPattern="Identity" />
|
||||
<Property Name="FeatureName" Type="nvarchar" Nullable="false" MaxLength="255" />
|
||||
</EntityType>
|
||||
<EntityType Name="FeatureUse">
|
||||
<Key>
|
||||
<PropertyRef Name="FeatureUseId" />
|
||||
</Key>
|
||||
<Property Name="FeatureUseId" Type="int" Nullable="false" StoreGeneratedPattern="Identity" />
|
||||
<Property Name="SessionId" Type="int" Nullable="false" />
|
||||
<Property Name="UseTime" Type="datetime" Nullable="false" />
|
||||
<Property Name="EndTime" Type="datetime" />
|
||||
<Property Name="FeatureId" Type="int" Nullable="false" />
|
||||
<Property Name="ActivationMethodId" Type="int" Nullable="false" />
|
||||
</EntityType>
|
||||
<EntityType Name="Sessions">
|
||||
<Key>
|
||||
<PropertyRef Name="SessionId" />
|
||||
</Key>
|
||||
<Property Name="SessionId" Type="int" Nullable="false" StoreGeneratedPattern="Identity" />
|
||||
<Property Name="ClientSessionId" Type="bigint" Nullable="false" />
|
||||
<Property Name="StartTime" Type="datetime" Nullable="false" />
|
||||
<Property Name="EndTime" Type="datetime" />
|
||||
<Property Name="UserId" Type="int" Nullable="false" />
|
||||
<Property Name="AppVersionMajor" Type="int" />
|
||||
<Property Name="AppVersionMinor" Type="int" />
|
||||
<Property Name="AppVersionBuild" Type="int" />
|
||||
<Property Name="AppVersionRevision" Type="int" />
|
||||
<Property Name="CommitId" Type="int" />
|
||||
<Property Name="IsDebug" Type="bit" Nullable="false" />
|
||||
<Property Name="FirstException" Type="datetime" />
|
||||
<Property Name="LastFeatureUse" Type="datetime" />
|
||||
</EntityType>
|
||||
<EntityType Name="TaggedCommits">
|
||||
<Key>
|
||||
<PropertyRef Name="TagId" />
|
||||
</Key>
|
||||
<Property Name="TagId" Type="int" Nullable="false" StoreGeneratedPattern="Identity" />
|
||||
<Property Name="CommitId" Type="int" Nullable="false" />
|
||||
<Property Name="Name" Type="nvarchar" Nullable="false" MaxLength="50" />
|
||||
<Property Name="IsRelease" Type="bit" Nullable="false" />
|
||||
</EntityType>
|
||||
<EntityType Name="Users">
|
||||
<Key>
|
||||
<PropertyRef Name="UserId" />
|
||||
</Key>
|
||||
<Property Name="UserId" Type="int" Nullable="false" StoreGeneratedPattern="Identity" />
|
||||
<Property Name="AssociatedGuid" Type="nvarchar" Nullable="false" MaxLength="50" />
|
||||
</EntityType>
|
||||
</Schema></edmx:StorageModels>
|
||||
<!-- CSDL content -->
|
||||
<edmx:ConceptualModels>
|
||||
<Schema Namespace="udcModel" Alias="Self" xmlns:annotation="http://schemas.microsoft.com/ado/2009/02/edm/annotation" xmlns="http://schemas.microsoft.com/ado/2008/09/edm">
|
||||
<EntityContainer Name="udcEntities" annotation:LazyLoadingEnabled="true">
|
||||
<EntitySet Name="ActivationMethods" EntityType="udcModel.ActivationMethod" />
|
||||
<EntitySet Name="EnvironmentDatas" EntityType="udcModel.EnvironmentData" />
|
||||
<EntitySet Name="EnvironmentDataNames" EntityType="udcModel.EnvironmentDataName" />
|
||||
<EntitySet Name="ExceptionGroups" EntityType="udcModel.ExceptionGroup" />
|
||||
<EntitySet Name="Exceptions" EntityType="udcModel.Exception" />
|
||||
<EntitySet Name="Features" EntityType="udcModel.Feature" />
|
||||
<EntitySet Name="FeatureUses" EntityType="udcModel.FeatureUse" />
|
||||
<EntitySet Name="Sessions" EntityType="udcModel.Session" />
|
||||
<EntitySet Name="Users" EntityType="udcModel.User" />
|
||||
<EntitySet Name="EnvironmentDataValues" EntityType="udcModel.EnvironmentDataValue" />
|
||||
<AssociationSet Name="SessionException" Association="udcModel.SessionException">
|
||||
<End Role="Session" EntitySet="Sessions" />
|
||||
<End Role="Exception" EntitySet="Exceptions" />
|
||||
</AssociationSet>
|
||||
<AssociationSet Name="ExceptionGroupException" Association="udcModel.ExceptionGroupException">
|
||||
<End Role="ExceptionGroup" EntitySet="ExceptionGroups" />
|
||||
<End Role="Exception" EntitySet="Exceptions" />
|
||||
</AssociationSet>
|
||||
<AssociationSet Name="SessionEnvironmentData" Association="udcModel.SessionEnvironmentData">
|
||||
<End Role="Session" EntitySet="Sessions" />
|
||||
<End Role="EnvironmentData" EntitySet="EnvironmentDatas" />
|
||||
</AssociationSet>
|
||||
<AssociationSet Name="EnvironmentDataNameEnvironmentData" Association="udcModel.EnvironmentDataNameEnvironmentData">
|
||||
<End Role="EnvironmentDataName" EntitySet="EnvironmentDataNames" />
|
||||
<End Role="EnvironmentData" EntitySet="EnvironmentDatas" />
|
||||
</AssociationSet>
|
||||
<AssociationSet Name="EnvironmentDataValueEnvironmentData" Association="udcModel.EnvironmentDataValueEnvironmentData">
|
||||
<End Role="EnvironmentDataValue" EntitySet="EnvironmentDataValues" />
|
||||
<End Role="EnvironmentData" EntitySet="EnvironmentDatas" />
|
||||
</AssociationSet>
|
||||
<AssociationSet Name="SessionFeatureUse" Association="udcModel.SessionFeatureUse">
|
||||
<End Role="Session" EntitySet="Sessions" />
|
||||
<End Role="FeatureUse" EntitySet="FeatureUses" />
|
||||
</AssociationSet>
|
||||
<EntitySet Name="CommitRelations" EntityType="udcModel.CommitRelation" />
|
||||
<EntitySet Name="Commits" EntityType="udcModel.Commit" />
|
||||
<EntitySet Name="TaggedCommits" EntityType="udcModel.TaggedCommit" />
|
||||
<AssociationSet Name="CommitSession" Association="udcModel.CommitSession">
|
||||
<End Role="Commit" EntitySet="Commits" />
|
||||
<End Role="Session" EntitySet="Sessions" />
|
||||
</AssociationSet>
|
||||
<AssociationSet Name="CommitExceptionGroup" Association="udcModel.CommitExceptionGroup">
|
||||
<End Role="Commit" EntitySet="Commits" />
|
||||
<End Role="ExceptionGroup" EntitySet="ExceptionGroups" />
|
||||
</AssociationSet>
|
||||
<AssociationSet Name="FeatureFeatureUse" Association="udcModel.FeatureFeatureUse">
|
||||
<End Role="Feature" EntitySet="Features" />
|
||||
<End Role="FeatureUse" EntitySet="FeatureUses" />
|
||||
</AssociationSet>
|
||||
<AssociationSet Name="ActivationMethodFeatureUse" Association="udcModel.ActivationMethodFeatureUse">
|
||||
<End Role="ActivationMethod" EntitySet="ActivationMethods" />
|
||||
<End Role="FeatureUse" EntitySet="FeatureUses" />
|
||||
</AssociationSet>
|
||||
</EntityContainer>
|
||||
<EntityType Name="ActivationMethod">
|
||||
<Key>
|
||||
<PropertyRef Name="ActivationMethodId" />
|
||||
</Key>
|
||||
<Property Name="ActivationMethodId" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
|
||||
<Property Name="ActivationMethodName" Type="String" MaxLength="255" Unicode="true" FixedLength="false" />
|
||||
<NavigationProperty Name="FeatureUses" Relationship="udcModel.ActivationMethodFeatureUse" FromRole="ActivationMethod" ToRole="FeatureUse" />
|
||||
</EntityType>
|
||||
<EntityType Name="EnvironmentData">
|
||||
<Key>
|
||||
<PropertyRef Name="EnvironmentDataId" />
|
||||
</Key>
|
||||
<Property Name="EnvironmentDataId" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
|
||||
<Property Name="SessionId" Type="Int32" Nullable="false" />
|
||||
<Property Name="EnvironmentDataNameId" Type="Int32" Nullable="false" />
|
||||
<Property Type="Int32" Name="EnvironmentDataValueId" Nullable="false" />
|
||||
<NavigationProperty Name="Session" Relationship="udcModel.SessionEnvironmentData" FromRole="EnvironmentData" ToRole="Session" />
|
||||
<NavigationProperty Name="EnvironmentDataName" Relationship="udcModel.EnvironmentDataNameEnvironmentData" FromRole="EnvironmentData" ToRole="EnvironmentDataName" />
|
||||
<NavigationProperty Name="EnvironmentDataValue" Relationship="udcModel.EnvironmentDataValueEnvironmentData" FromRole="EnvironmentData" ToRole="EnvironmentDataValue" />
|
||||
</EntityType>
|
||||
<EntityType Name="EnvironmentDataName">
|
||||
<Key>
|
||||
<PropertyRef Name="EnvironmentDataNameId" />
|
||||
</Key>
|
||||
<Property Name="EnvironmentDataNameId" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
|
||||
<Property Name="EnvironmentDataName1" Type="String" Nullable="false" MaxLength="255" Unicode="true" FixedLength="false" />
|
||||
</EntityType>
|
||||
<EntityType Name="ExceptionGroup">
|
||||
<Key>
|
||||
<PropertyRef Name="ExceptionGroupId" />
|
||||
</Key>
|
||||
<Property Name="ExceptionGroupId" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
|
||||
<Property Name="TypeFingerprintSha256Hash" Type="String" Nullable="false" MaxLength="128" Unicode="true" FixedLength="false" />
|
||||
<Property Name="ExceptionType" Type="String" Nullable="false" MaxLength="255" Unicode="true" FixedLength="false" />
|
||||
<Property Name="ExceptionFingerprint" Type="String" Nullable="false" MaxLength="Max" Unicode="true" FixedLength="false" />
|
||||
<Property Name="ExceptionLocation" Type="String" Nullable="false" MaxLength="Max" Unicode="true" FixedLength="false" />
|
||||
<Property Name="UserComment" Type="String" MaxLength="Max" Unicode="true" FixedLength="false" />
|
||||
<NavigationProperty Name="Exceptions" Relationship="udcModel.ExceptionGroupException" FromRole="ExceptionGroup" ToRole="Exception" />
|
||||
<Property Type="Int32" Name="UserFixedInCommitId" />
|
||||
<NavigationProperty Name="UserFixedInCommit" Relationship="udcModel.CommitExceptionGroup" FromRole="ExceptionGroup" ToRole="Commit" />
|
||||
</EntityType>
|
||||
<EntityType Name="Exception">
|
||||
<Key>
|
||||
<PropertyRef Name="ExceptionId" />
|
||||
</Key>
|
||||
<Property Name="ExceptionId" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
|
||||
<Property Name="SessionId" Type="Int32" Nullable="false" />
|
||||
<Property Name="ExceptionGroupId" Type="Int32" Nullable="false" />
|
||||
<Property Name="ThrownAt" Type="DateTime" Nullable="false" />
|
||||
<Property Name="Stacktrace" Type="String" Nullable="false" MaxLength="Max" Unicode="true" FixedLength="false" />
|
||||
<Property Name="IsFirstInSession" Type="Boolean" Nullable="false" />
|
||||
<NavigationProperty Name="Session" Relationship="udcModel.SessionException" FromRole="Exception" ToRole="Session" />
|
||||
<NavigationProperty Name="ExceptionGroup" Relationship="udcModel.ExceptionGroupException" FromRole="Exception" ToRole="ExceptionGroup" />
|
||||
</EntityType>
|
||||
<EntityType Name="Feature">
|
||||
<Key>
|
||||
<PropertyRef Name="FeatureId" />
|
||||
</Key>
|
||||
<Property Name="FeatureId" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
|
||||
<Property Name="FeatureName" Type="String" Nullable="false" MaxLength="255" Unicode="true" FixedLength="false" />
|
||||
<NavigationProperty Name="FeatureUses" Relationship="udcModel.FeatureFeatureUse" FromRole="Feature" ToRole="FeatureUse" />
|
||||
</EntityType>
|
||||
<EntityType Name="FeatureUse">
|
||||
<Key>
|
||||
<PropertyRef Name="FeatureUseId" />
|
||||
</Key>
|
||||
<Property Name="FeatureUseId" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
|
||||
<Property Name="SessionId" Type="Int32" Nullable="false" />
|
||||
<Property Name="UseTime" Type="DateTime" Nullable="false" />
|
||||
<Property Name="EndTime" Type="DateTime" />
|
||||
<Property Name="FeatureId" Type="Int32" Nullable="false" />
|
||||
<Property Name="ActivationMethodId" Type="Int32" Nullable="false" />
|
||||
<NavigationProperty Name="Session" Relationship="udcModel.SessionFeatureUse" FromRole="FeatureUse" ToRole="Session" />
|
||||
<NavigationProperty Name="Feature" Relationship="udcModel.FeatureFeatureUse" FromRole="FeatureUse" ToRole="Feature" />
|
||||
<NavigationProperty Name="ActivationMethod" Relationship="udcModel.ActivationMethodFeatureUse" FromRole="FeatureUse" ToRole="ActivationMethod" />
|
||||
</EntityType>
|
||||
<EntityType Name="Session">
|
||||
<Key>
|
||||
<PropertyRef Name="SessionId" />
|
||||
</Key>
|
||||
<Property Name="SessionId" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
|
||||
<Property Name="ClientSessionId" Type="Int64" Nullable="false" />
|
||||
<Property Name="StartTime" Type="DateTime" Nullable="false" />
|
||||
<Property Name="EndTime" Type="DateTime" />
|
||||
<Property Name="UserId" Type="Int32" Nullable="false" />
|
||||
<Property Type="Int32" Name="AppVersionMajor" />
|
||||
<Property Type="Int32" Name="AppVersionMinor" />
|
||||
<Property Type="Int32" Name="AppVersionBuild" />
|
||||
<Property Type="Int32" Name="AppVersionRevision" />
|
||||
<NavigationProperty Name="Exceptions" Relationship="udcModel.SessionException" FromRole="Session" ToRole="Exception" />
|
||||
<NavigationProperty Name="EnvironmentDatas" Relationship="udcModel.SessionEnvironmentData" FromRole="Session" ToRole="EnvironmentData" />
|
||||
<NavigationProperty Name="FeatureUses" Relationship="udcModel.SessionFeatureUse" FromRole="Session" ToRole="FeatureUse" />
|
||||
<Property Type="Int32" Name="CommitId" />
|
||||
<Property Type="Boolean" Name="IsDebug" Nullable="false" />
|
||||
<Property Type="DateTime" Name="FirstException" />
|
||||
<Property Type="DateTime" Name="LastFeatureUse" />
|
||||
<NavigationProperty Name="Commit" Relationship="udcModel.CommitSession" FromRole="Session" ToRole="Commit" />
|
||||
</EntityType>
|
||||
<EntityType Name="User">
|
||||
<Key>
|
||||
<PropertyRef Name="UserId" />
|
||||
</Key>
|
||||
<Property Name="UserId" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
|
||||
<Property Name="AssociatedGuid" Type="String" Nullable="false" MaxLength="50" Unicode="true" FixedLength="false" />
|
||||
</EntityType>
|
||||
<EntityType Name="EnvironmentDataValue">
|
||||
<Key>
|
||||
<PropertyRef Name="EnvironmentDataValueId" />
|
||||
</Key>
|
||||
<Property Type="Int32" Name="EnvironmentDataValueId" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
|
||||
<Property Type="String" Name="EnvironmentDataValue1" MaxLength="255" FixedLength="false" Unicode="true" />
|
||||
</EntityType>
|
||||
<Association Name="SessionException">
|
||||
<End Type="udcModel.Session" Role="Session" Multiplicity="1" />
|
||||
<End Type="udcModel.Exception" Role="Exception" Multiplicity="*" />
|
||||
<ReferentialConstraint>
|
||||
<Principal Role="Session">
|
||||
<PropertyRef Name="SessionId" />
|
||||
</Principal>
|
||||
<Dependent Role="Exception">
|
||||
<PropertyRef Name="SessionId" />
|
||||
</Dependent>
|
||||
</ReferentialConstraint>
|
||||
</Association>
|
||||
<Association Name="ExceptionGroupException">
|
||||
<End Type="udcModel.ExceptionGroup" Role="ExceptionGroup" Multiplicity="1" />
|
||||
<End Type="udcModel.Exception" Role="Exception" Multiplicity="*" />
|
||||
<ReferentialConstraint>
|
||||
<Principal Role="ExceptionGroup">
|
||||
<PropertyRef Name="ExceptionGroupId" />
|
||||
</Principal>
|
||||
<Dependent Role="Exception">
|
||||
<PropertyRef Name="ExceptionGroupId" />
|
||||
</Dependent>
|
||||
</ReferentialConstraint>
|
||||
</Association>
|
||||
<Association Name="SessionEnvironmentData">
|
||||
<End Type="udcModel.Session" Role="Session" Multiplicity="1" />
|
||||
<End Type="udcModel.EnvironmentData" Role="EnvironmentData" Multiplicity="*" />
|
||||
<ReferentialConstraint>
|
||||
<Principal Role="Session">
|
||||
<PropertyRef Name="SessionId" />
|
||||
</Principal>
|
||||
<Dependent Role="EnvironmentData">
|
||||
<PropertyRef Name="SessionId" />
|
||||
</Dependent>
|
||||
</ReferentialConstraint>
|
||||
</Association>
|
||||
<Association Name="EnvironmentDataNameEnvironmentData">
|
||||
<End Type="udcModel.EnvironmentDataName" Role="EnvironmentDataName" Multiplicity="1" />
|
||||
<End Type="udcModel.EnvironmentData" Role="EnvironmentData" Multiplicity="*" />
|
||||
<ReferentialConstraint>
|
||||
<Principal Role="EnvironmentDataName">
|
||||
<PropertyRef Name="EnvironmentDataNameId" />
|
||||
</Principal>
|
||||
<Dependent Role="EnvironmentData">
|
||||
<PropertyRef Name="EnvironmentDataNameId" />
|
||||
</Dependent>
|
||||
</ReferentialConstraint>
|
||||
</Association>
|
||||
<Association Name="EnvironmentDataValueEnvironmentData">
|
||||
<End Type="udcModel.EnvironmentDataValue" Role="EnvironmentDataValue" Multiplicity="1" />
|
||||
<End Type="udcModel.EnvironmentData" Role="EnvironmentData" Multiplicity="*" />
|
||||
<ReferentialConstraint>
|
||||
<Principal Role="EnvironmentDataValue">
|
||||
<PropertyRef Name="EnvironmentDataValueId" />
|
||||
</Principal>
|
||||
<Dependent Role="EnvironmentData">
|
||||
<PropertyRef Name="EnvironmentDataValueId" />
|
||||
</Dependent>
|
||||
</ReferentialConstraint>
|
||||
</Association>
|
||||
<Association Name="SessionFeatureUse">
|
||||
<End Type="udcModel.Session" Role="Session" Multiplicity="1" />
|
||||
<End Type="udcModel.FeatureUse" Role="FeatureUse" Multiplicity="*" />
|
||||
<ReferentialConstraint>
|
||||
<Principal Role="Session">
|
||||
<PropertyRef Name="SessionId" />
|
||||
</Principal>
|
||||
<Dependent Role="FeatureUse">
|
||||
<PropertyRef Name="SessionId" />
|
||||
</Dependent>
|
||||
</ReferentialConstraint>
|
||||
</Association>
|
||||
<EntityType Name="CommitRelation">
|
||||
<Key>
|
||||
<PropertyRef Name="ParentCommit" />
|
||||
<PropertyRef Name="ChildCommit" />
|
||||
</Key>
|
||||
<Property Type="Int32" Name="ParentCommit" Nullable="false" />
|
||||
<Property Type="Int32" Name="ChildCommit" Nullable="false" />
|
||||
</EntityType>
|
||||
<EntityType Name="Commit">
|
||||
<Key>
|
||||
<PropertyRef Name="Id" />
|
||||
</Key>
|
||||
<Property Type="Int32" Name="Id" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
|
||||
<Property Type="String" Name="Hash" Nullable="false" MaxLength="40" FixedLength="true" Unicode="true" />
|
||||
<Property Type="DateTime" Name="CommitDate" Nullable="false" />
|
||||
<NavigationProperty Name="Sessions" Relationship="udcModel.CommitSession" FromRole="Commit" ToRole="Session" />
|
||||
<NavigationProperty Name="ExceptionGroups" Relationship="udcModel.CommitExceptionGroup" FromRole="Commit" ToRole="ExceptionGroup" />
|
||||
</EntityType>
|
||||
<EntityType Name="TaggedCommit">
|
||||
<Key>
|
||||
<PropertyRef Name="TagId" />
|
||||
</Key>
|
||||
<Property Type="Int32" Name="TagId" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
|
||||
<Property Type="Int32" Name="CommitId" Nullable="false" />
|
||||
<Property Type="String" Name="Name" Nullable="false" MaxLength="20" FixedLength="true" Unicode="true" />
|
||||
<Property Type="Boolean" Name="IsRelease" Nullable="false" />
|
||||
</EntityType>
|
||||
<Association Name="CommitSession">
|
||||
<End Type="udcModel.Commit" Role="Commit" Multiplicity="0..1" />
|
||||
<End Type="udcModel.Session" Role="Session" Multiplicity="*" />
|
||||
<ReferentialConstraint>
|
||||
<Principal Role="Commit">
|
||||
<PropertyRef Name="Id" />
|
||||
</Principal>
|
||||
<Dependent Role="Session">
|
||||
<PropertyRef Name="CommitId" />
|
||||
</Dependent>
|
||||
</ReferentialConstraint>
|
||||
</Association>
|
||||
<Association Name="CommitExceptionGroup">
|
||||
<End Type="udcModel.Commit" Role="Commit" Multiplicity="0..1" />
|
||||
<End Type="udcModel.ExceptionGroup" Role="ExceptionGroup" Multiplicity="*" />
|
||||
<ReferentialConstraint>
|
||||
<Principal Role="Commit">
|
||||
<PropertyRef Name="Id" />
|
||||
</Principal>
|
||||
<Dependent Role="ExceptionGroup">
|
||||
<PropertyRef Name="UserFixedInCommitId" />
|
||||
</Dependent>
|
||||
</ReferentialConstraint>
|
||||
</Association>
|
||||
<Association Name="FeatureFeatureUse">
|
||||
<End Type="udcModel.Feature" Role="Feature" Multiplicity="1" />
|
||||
<End Type="udcModel.FeatureUse" Role="FeatureUse" Multiplicity="*" />
|
||||
<ReferentialConstraint>
|
||||
<Principal Role="Feature">
|
||||
<PropertyRef Name="FeatureId" />
|
||||
</Principal>
|
||||
<Dependent Role="FeatureUse">
|
||||
<PropertyRef Name="FeatureId" />
|
||||
</Dependent>
|
||||
</ReferentialConstraint>
|
||||
</Association>
|
||||
<Association Name="ActivationMethodFeatureUse">
|
||||
<End Type="udcModel.ActivationMethod" Role="ActivationMethod" Multiplicity="1" />
|
||||
<End Type="udcModel.FeatureUse" Role="FeatureUse" Multiplicity="*" />
|
||||
<ReferentialConstraint>
|
||||
<Principal Role="ActivationMethod">
|
||||
<PropertyRef Name="ActivationMethodId" />
|
||||
</Principal>
|
||||
<Dependent Role="FeatureUse">
|
||||
<PropertyRef Name="ActivationMethodId" />
|
||||
</Dependent>
|
||||
</ReferentialConstraint>
|
||||
</Association>
|
||||
</Schema>
|
||||
</edmx:ConceptualModels>
|
||||
<!-- C-S mapping content -->
|
||||
<edmx:Mappings>
|
||||
<Mapping Space="C-S" xmlns="http://schemas.microsoft.com/ado/2008/09/mapping/cs">
|
||||
<EntityContainerMapping StorageEntityContainer="udcModelStoreContainer" CdmEntityContainer="udcEntities">
|
||||
<EntitySetMapping Name="ActivationMethods"><EntityTypeMapping TypeName="udcModel.ActivationMethod"><MappingFragment StoreEntitySet="ActivationMethods">
|
||||
<ScalarProperty Name="ActivationMethodId" ColumnName="ActivationMethodId" />
|
||||
<ScalarProperty Name="ActivationMethodName" ColumnName="ActivationMethodName" />
|
||||
</MappingFragment></EntityTypeMapping></EntitySetMapping>
|
||||
<EntitySetMapping Name="EnvironmentDatas"><EntityTypeMapping TypeName="udcModel.EnvironmentData"><MappingFragment StoreEntitySet="EnvironmentData">
|
||||
<ScalarProperty Name="EnvironmentDataValueId" ColumnName="EnvironmentDataValueId" />
|
||||
<ScalarProperty Name="EnvironmentDataId" ColumnName="EnvironmentDataId" />
|
||||
<ScalarProperty Name="SessionId" ColumnName="SessionId" />
|
||||
<ScalarProperty Name="EnvironmentDataNameId" ColumnName="EnvironmentDataNameId" />
|
||||
</MappingFragment></EntityTypeMapping></EntitySetMapping>
|
||||
<EntitySetMapping Name="EnvironmentDataNames"><EntityTypeMapping TypeName="udcModel.EnvironmentDataName"><MappingFragment StoreEntitySet="EnvironmentDataNames">
|
||||
<ScalarProperty Name="EnvironmentDataNameId" ColumnName="EnvironmentDataNameId" />
|
||||
<ScalarProperty Name="EnvironmentDataName1" ColumnName="EnvironmentDataName" />
|
||||
</MappingFragment></EntityTypeMapping></EntitySetMapping>
|
||||
<EntitySetMapping Name="ExceptionGroups"><EntityTypeMapping TypeName="udcModel.ExceptionGroup"><MappingFragment StoreEntitySet="ExceptionGroups">
|
||||
<ScalarProperty Name="UserFixedInCommitId" ColumnName="UserFixedInCommit" />
|
||||
<ScalarProperty Name="ExceptionGroupId" ColumnName="ExceptionGroupId" />
|
||||
<ScalarProperty Name="TypeFingerprintSha256Hash" ColumnName="TypeFingerprintSha256Hash" />
|
||||
<ScalarProperty Name="ExceptionType" ColumnName="ExceptionType" />
|
||||
<ScalarProperty Name="ExceptionFingerprint" ColumnName="ExceptionFingerprint" />
|
||||
<ScalarProperty Name="ExceptionLocation" ColumnName="ExceptionLocation" />
|
||||
<ScalarProperty Name="UserComment" ColumnName="UserComment" />
|
||||
</MappingFragment></EntityTypeMapping></EntitySetMapping>
|
||||
<EntitySetMapping Name="Exceptions"><EntityTypeMapping TypeName="udcModel.Exception"><MappingFragment StoreEntitySet="Exceptions">
|
||||
<ScalarProperty Name="ExceptionId" ColumnName="ExceptionId" />
|
||||
<ScalarProperty Name="SessionId" ColumnName="SessionId" />
|
||||
<ScalarProperty Name="ExceptionGroupId" ColumnName="ExceptionGroupId" />
|
||||
<ScalarProperty Name="ThrownAt" ColumnName="ThrownAt" />
|
||||
<ScalarProperty Name="Stacktrace" ColumnName="Stacktrace" />
|
||||
<ScalarProperty Name="IsFirstInSession" ColumnName="IsFirstInSession" />
|
||||
</MappingFragment></EntityTypeMapping></EntitySetMapping>
|
||||
<EntitySetMapping Name="Features"><EntityTypeMapping TypeName="udcModel.Feature"><MappingFragment StoreEntitySet="Features">
|
||||
<ScalarProperty Name="FeatureId" ColumnName="FeatureId" />
|
||||
<ScalarProperty Name="FeatureName" ColumnName="FeatureName" />
|
||||
</MappingFragment></EntityTypeMapping></EntitySetMapping>
|
||||
<EntitySetMapping Name="FeatureUses"><EntityTypeMapping TypeName="udcModel.FeatureUse"><MappingFragment StoreEntitySet="FeatureUse">
|
||||
<ScalarProperty Name="FeatureUseId" ColumnName="FeatureUseId" />
|
||||
<ScalarProperty Name="SessionId" ColumnName="SessionId" />
|
||||
<ScalarProperty Name="UseTime" ColumnName="UseTime" />
|
||||
<ScalarProperty Name="EndTime" ColumnName="EndTime" />
|
||||
<ScalarProperty Name="FeatureId" ColumnName="FeatureId" />
|
||||
<ScalarProperty Name="ActivationMethodId" ColumnName="ActivationMethodId" />
|
||||
</MappingFragment></EntityTypeMapping></EntitySetMapping>
|
||||
<EntitySetMapping Name="Sessions"><EntityTypeMapping TypeName="udcModel.Session"><MappingFragment StoreEntitySet="Sessions">
|
||||
<ScalarProperty Name="LastFeatureUse" ColumnName="LastFeatureUse" />
|
||||
<ScalarProperty Name="FirstException" ColumnName="FirstException" />
|
||||
<ScalarProperty Name="IsDebug" ColumnName="IsDebug" />
|
||||
<ScalarProperty Name="CommitId" ColumnName="CommitId" />
|
||||
<ScalarProperty Name="AppVersionRevision" ColumnName="AppVersionRevision" />
|
||||
<ScalarProperty Name="AppVersionBuild" ColumnName="AppVersionBuild" />
|
||||
<ScalarProperty Name="AppVersionMinor" ColumnName="AppVersionMinor" />
|
||||
<ScalarProperty Name="AppVersionMajor" ColumnName="AppVersionMajor" />
|
||||
<ScalarProperty Name="SessionId" ColumnName="SessionId" />
|
||||
<ScalarProperty Name="ClientSessionId" ColumnName="ClientSessionId" />
|
||||
<ScalarProperty Name="StartTime" ColumnName="StartTime" />
|
||||
<ScalarProperty Name="EndTime" ColumnName="EndTime" />
|
||||
<ScalarProperty Name="UserId" ColumnName="UserId" />
|
||||
</MappingFragment></EntityTypeMapping></EntitySetMapping>
|
||||
<EntitySetMapping Name="Users"><EntityTypeMapping TypeName="udcModel.User"><MappingFragment StoreEntitySet="Users">
|
||||
<ScalarProperty Name="UserId" ColumnName="UserId" />
|
||||
<ScalarProperty Name="AssociatedGuid" ColumnName="AssociatedGuid" />
|
||||
</MappingFragment></EntityTypeMapping></EntitySetMapping>
|
||||
<EntitySetMapping Name="EnvironmentDataValues">
|
||||
<EntityTypeMapping TypeName="udcModel.EnvironmentDataValue">
|
||||
<MappingFragment StoreEntitySet="EnvironmentDataValues">
|
||||
<ScalarProperty Name="EnvironmentDataValue1" ColumnName="EnvironmentDataValue" />
|
||||
<ScalarProperty Name="EnvironmentDataValueId" ColumnName="EnvironmentDataValueId" />
|
||||
</MappingFragment>
|
||||
</EntityTypeMapping>
|
||||
</EntitySetMapping>
|
||||
<EntitySetMapping Name="CommitRelations">
|
||||
<EntityTypeMapping TypeName="udcModel.CommitRelation">
|
||||
<MappingFragment StoreEntitySet="CommitRelations">
|
||||
<ScalarProperty Name="ChildCommit" ColumnName="ChildCommit" />
|
||||
<ScalarProperty Name="ParentCommit" ColumnName="ParentCommit" />
|
||||
</MappingFragment>
|
||||
</EntityTypeMapping>
|
||||
</EntitySetMapping>
|
||||
<EntitySetMapping Name="Commits">
|
||||
<EntityTypeMapping TypeName="udcModel.Commit">
|
||||
<MappingFragment StoreEntitySet="Commits">
|
||||
<ScalarProperty Name="CommitDate" ColumnName="CommitDate" />
|
||||
<ScalarProperty Name="Hash" ColumnName="Hash" />
|
||||
<ScalarProperty Name="Id" ColumnName="Id" />
|
||||
</MappingFragment>
|
||||
</EntityTypeMapping>
|
||||
</EntitySetMapping>
|
||||
<EntitySetMapping Name="TaggedCommits">
|
||||
<EntityTypeMapping TypeName="udcModel.TaggedCommit">
|
||||
<MappingFragment StoreEntitySet="TaggedCommits">
|
||||
<ScalarProperty Name="IsRelease" ColumnName="IsRelease" />
|
||||
<ScalarProperty Name="Name" ColumnName="Name" />
|
||||
<ScalarProperty Name="CommitId" ColumnName="CommitId" />
|
||||
<ScalarProperty Name="TagId" ColumnName="TagId" />
|
||||
</MappingFragment>
|
||||
</EntityTypeMapping>
|
||||
</EntitySetMapping>
|
||||
</EntityContainerMapping>
|
||||
</Mapping>
|
||||
</edmx:Mappings>
|
||||
</edmx:Runtime>
|
||||
<!-- EF Designer content (DO NOT EDIT MANUALLY BELOW HERE) -->
|
||||
<Designer xmlns="http://schemas.microsoft.com/ado/2008/10/edmx">
|
||||
<Connection>
|
||||
<DesignerInfoPropertySet>
|
||||
<DesignerProperty Name="MetadataArtifactProcessing" Value="EmbedInOutputAssembly" />
|
||||
</DesignerInfoPropertySet>
|
||||
</Connection>
|
||||
<Options>
|
||||
<DesignerInfoPropertySet>
|
||||
<DesignerProperty Name="ValidateOnBuild" Value="true" />
|
||||
<DesignerProperty Name="EnablePluralization" Value="True" />
|
||||
<DesignerProperty Name="IncludeForeignKeysInModel" Value="True" />
|
||||
</DesignerInfoPropertySet>
|
||||
</Options>
|
||||
<!-- Diagram content (shape and connector positions) -->
|
||||
<Diagrams>
|
||||
<Diagram Name="UsageDataAnalysis">
|
||||
<EntityTypeShape EntityType="udcModel.ActivationMethod" Width="1.5" PointX="8.625" PointY="7.875" Height="1.2636116536458335" IsExpanded="true" />
|
||||
<EntityTypeShape EntityType="udcModel.EnvironmentData" Width="2" PointX="2.5" PointY="0.5" Height="1.5923063151041665" IsExpanded="true" />
|
||||
<EntityTypeShape EntityType="udcModel.EnvironmentDataName" Width="1.5" PointX="0.75" PointY="3.75" Height="1.2636116536458326" IsExpanded="true" />
|
||||
<EntityTypeShape EntityType="udcModel.ExceptionGroup" Width="1.5" PointX="6.5" PointY="0.75" Height="2.4140429687499996" IsExpanded="true" />
|
||||
<EntityTypeShape EntityType="udcModel.Exception" Width="1.5" PointX="4.75" PointY="0.75" Height="2.1725878906249996" IsExpanded="true" />
|
||||
<EntityTypeShape EntityType="udcModel.Feature" Width="1.5" PointX="8.625" PointY="6.25" Height="1.4279589843749996" IsExpanded="true" />
|
||||
<EntityTypeShape EntityType="udcModel.FeatureUse" Width="1.5" PointX="6.375" PointY="6" Height="2.2496956380208331" IsExpanded="true" />
|
||||
<EntityTypeShape EntityType="udcModel.Session" Width="1.5" PointX="3.5" PointY="3.875" Height="3.7288216145833317" IsExpanded="true" />
|
||||
<EntityTypeShape EntityType="udcModel.User" Width="1.5" PointX="0.625" PointY="5.75" Height="1.2636116536458335" IsExpanded="true" />
|
||||
<EntityTypeShape EntityType="udcModel.EnvironmentDataValue" Width="1.5" PointX="0.5" PointY="2.25" Height="1.2636116536458335" />
|
||||
<AssociationConnector Association="udcModel.SessionException">
|
||||
<ConnectorPoint PointX="5" PointY="5.89732671875" />
|
||||
<ConnectorPoint PointX="5.6562525" PointY="5.89732671875" />
|
||||
<ConnectorPoint PointX="5.6562525" PointY="2.9996956380208331" />
|
||||
</AssociationConnector>
|
||||
<AssociationConnector Association="udcModel.ExceptionGroupException">
|
||||
<ConnectorPoint PointX="6.5" PointY="1.8748478190104168" />
|
||||
<ConnectorPoint PointX="6.25" PointY="1.8748478190104168" />
|
||||
</AssociationConnector>
|
||||
<AssociationConnector Association="udcModel.SessionEnvironmentData">
|
||||
<ConnectorPoint PointX="4" PointY="3.875" />
|
||||
<ConnectorPoint PointX="4" PointY="2.585348307291667" />
|
||||
</AssociationConnector>
|
||||
<AssociationConnector Association="udcModel.EnvironmentDataNameEnvironmentData">
|
||||
<ConnectorPoint PointX="2.25" PointY="3.7812499999999996" />
|
||||
<ConnectorPoint PointX="2.96875" PointY="3.7812499999999996" />
|
||||
<ConnectorPoint PointX="2.96875" PointY="2.585348307291667" />
|
||||
</AssociationConnector>
|
||||
<AssociationConnector Association="udcModel.EnvironmentDataValueEnvironmentData">
|
||||
<ConnectorPoint PointX="2" PointY="2.4176741536458337" />
|
||||
<ConnectorPoint PointX="2.5" PointY="2.4176741536458337" />
|
||||
</AssociationConnector>
|
||||
<AssociationConnector Association="udcModel.SessionFeatureUse">
|
||||
<ConnectorPoint PointX="5" PointY="6.8019108072916659" />
|
||||
<ConnectorPoint PointX="6.375" PointY="6.8019108072916659" />
|
||||
</AssociationConnector>
|
||||
<EntityTypeShape EntityType="udcModel.CommitRelation" Width="1.5" PointX="8.375" PointY="4.375" Height="1.2636116536458353" />
|
||||
<EntityTypeShape EntityType="udcModel.Commit" Width="1.5" PointX="6.5" PointY="3.875" Height="1.7566536458333326" />
|
||||
<EntityTypeShape EntityType="udcModel.TaggedCommit" Width="1.5" PointX="8.625" PointY="2.5" Height="1.5923063151041674" />
|
||||
<AssociationConnector Association="udcModel.CommitSession">
|
||||
<ConnectorPoint PointX="6.5" PointY="4.7533268229166659" />
|
||||
<ConnectorPoint PointX="5.7395858333333329" PointY="4.753326822916665" />
|
||||
<ConnectorPoint PointX="5.5729191666666669" PointY="4.7533268229166659" />
|
||||
<ConnectorPoint PointX="5" PointY="4.7533268229166659" />
|
||||
</AssociationConnector>
|
||||
<AssociationConnector Association="udcModel.CommitExceptionGroup">
|
||||
<ConnectorPoint PointX="7.25" PointY="3.875" />
|
||||
<ConnectorPoint PointX="7.25" PointY="3.1640429687499996" />
|
||||
</AssociationConnector>
|
||||
<AssociationConnector Association="udcModel.FeatureFeatureUse">
|
||||
<ConnectorPoint PointX="8.625" PointY="6.9639794921875" />
|
||||
<ConnectorPoint PointX="7.875" PointY="6.9639794921875" />
|
||||
</AssociationConnector>
|
||||
<AssociationConnector Association="udcModel.ActivationMethodFeatureUse">
|
||||
<ConnectorPoint PointX="8.625" PointY="8.144521484375" />
|
||||
<ConnectorPoint PointX="7.875" PointY="8.144521484375" />
|
||||
</AssociationConnector>
|
||||
</Diagram>
|
||||
</Diagrams>
|
||||
</Designer>
|
||||
</edmx:Edmx>
|
|
@ -1,29 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web.UI.DataVisualization.Charting;
|
||||
|
||||
namespace UsageDataAnalysisWebClient.Models {
|
||||
public class UsageViewModel
|
||||
{
|
||||
public UsageViewModel()
|
||||
{
|
||||
var start = DateTime.Today.AddMonths(-6);
|
||||
this.StartDate = new DateTime(start.Year, start.Month, 1);
|
||||
this.EndDate = DateTime.Today.AddDays(-3); // data takes a while to be uploaded, so don't show incomplete days
|
||||
}
|
||||
|
||||
public DateTime StartDate { get; set; }
|
||||
public DateTime EndDate { get; set; }
|
||||
|
||||
public Chart DailyUsers { get; set; }
|
||||
public Chart WeeklyUsers { get; set; }
|
||||
public Chart MonthlyUsers { get; set; }
|
||||
}
|
||||
|
||||
public class UsageDataPoint
|
||||
{
|
||||
public DateTime Date { get; set; }
|
||||
public string Version { get; set; }
|
||||
public int UserCount { get; set; }
|
||||
}
|
||||
}
|
|
@ -1,35 +0,0 @@
|
|||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("UsageDataAnalysisWebClient")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("Microsoft")]
|
||||
[assembly: AssemblyProduct("UsageDataAnalysisWebClient")]
|
||||
[assembly: AssemblyCopyright("Copyright © Microsoft 2010")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("f14daf57-1b64-4f5e-b1ce-5ea47f27a77c")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Revision and Build Numbers
|
||||
// by using the '*' as shown below:
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
|
@ -1,268 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using UsageDataAnalysisWebClient.Models;
|
||||
using Exception = UsageDataAnalysisWebClient.Models.Exception;
|
||||
using System.Diagnostics;
|
||||
using UsageDataAnalysisWebClient.Controllers;
|
||||
using System.Data.SqlClient;
|
||||
using System.Configuration;
|
||||
using System.Data;
|
||||
|
||||
namespace UsageDataAnalysisWebClient.Repositories {
|
||||
public class ExceptionGroupRepository : IExceptionGroupRepository {
|
||||
|
||||
private udcEntities _db = new udcEntities();
|
||||
|
||||
public List<ExceptionGroupIndexModelEntry> GetExceptionGroups(string startCommit, string endCommit)
|
||||
{
|
||||
Stopwatch w = Stopwatch.StartNew();
|
||||
SourceControlRepository scm = SourceControlRepository.GetCached();
|
||||
|
||||
// Step 1: figure out the interesting commit IDs
|
||||
int? startCommitId = SourceControlRepository.FindCommitId(startCommit);
|
||||
int? endCommitId = SourceControlRepository.FindCommitId(endCommit);
|
||||
var interestingCommitIds = new HashSet<int>(scm.GetCommitsBetween(startCommitId, endCommitId).Select(c => c.Id));
|
||||
|
||||
// Step 2: retrieve all exception instances from the database
|
||||
IQueryable<Exception> exceptionInstances = _db.Exceptions;
|
||||
var exceptions = EvaluateQuery(
|
||||
from ex in exceptionInstances
|
||||
where ex.IsFirstInSession
|
||||
let s = ex.Session
|
||||
//where interestingCommitIds.Contains((int)s.CommitId)
|
||||
// Entity framework is too slow with large lists; it's faster to just check for !=null and then filter out in memory
|
||||
where s.CommitId != null
|
||||
select new {
|
||||
SessionId = ex.SessionId,
|
||||
CommitId = (int)s.CommitId,
|
||||
UserId = s.UserId,
|
||||
ExceptionGroupId = ex.ExceptionGroupId
|
||||
});
|
||||
|
||||
// Step 3: Figure out the most relevant groups from the exceptions (in memory)
|
||||
var exceptionGroups = (
|
||||
from ex in exceptions
|
||||
group ex by ex.ExceptionGroupId into g
|
||||
let interestingInstances = g.Where(ex => interestingCommitIds.Contains(ex.CommitId))
|
||||
select new {
|
||||
ExceptionGroupId = g.Key,
|
||||
AffectedUsers = interestingInstances.Select(ex => ex.UserId).Distinct().Count(),
|
||||
Occurrences = interestingInstances.Count(),
|
||||
CommitIds = g.Select(ex => ex.CommitId).Distinct() // use all instances, not just interesting ones
|
||||
} into g
|
||||
where g.Occurrences > 0
|
||||
orderby g.AffectedUsers descending, g.Occurrences descending
|
||||
select g
|
||||
).Take(50).ToList();
|
||||
|
||||
// Step 4: Retrieve additional details from the database for our most relevant groups
|
||||
var exceptionGroupIds = exceptionGroups.Select(e => e.ExceptionGroupId).ToList();
|
||||
var exceptionGroupDetails = EvaluateQuery(
|
||||
from ex in _db.ExceptionGroups
|
||||
where exceptionGroupIds.Contains(ex.ExceptionGroupId)
|
||||
select new {
|
||||
ex.ExceptionGroupId,
|
||||
ex.ExceptionLocation,
|
||||
ex.ExceptionFingerprint,
|
||||
ex.ExceptionType,
|
||||
ex.UserFixedInCommitId,
|
||||
ex.UserComment
|
||||
});
|
||||
|
||||
// Step 5: put together the viewmodel
|
||||
var viewModels = (
|
||||
from ex in exceptionGroups
|
||||
join details in exceptionGroupDetails on ex.ExceptionGroupId equals details.ExceptionGroupId
|
||||
let fixedIn = details.UserFixedInCommitId != null ? scm.GetCommitById((int)details.UserFixedInCommitId) : null
|
||||
let occurredIn = new HashSet<SourceControlCommit>(ex.CommitIds.Select(c => scm.GetCommitById(c)))
|
||||
let firstOccurredVersion = occurredIn.OrderBy(c => c.Date).First()
|
||||
let lastOccurredVersion = occurredIn.OrderByDescending(c => c.Date).First()
|
||||
select new ExceptionGroupIndexModelEntry {
|
||||
ExceptionGroupId = ex.ExceptionGroupId,
|
||||
ExceptionType = details.ExceptionType,
|
||||
ExceptionLocation = details.ExceptionLocation,
|
||||
UserComment = details.UserComment,
|
||||
UserFixedInCommitId = details.UserFixedInCommitId,
|
||||
UserFixedInCommitHash = fixedIn != null ? fixedIn.Hash : null,
|
||||
AffectedUsers = ex.AffectedUsers,
|
||||
Occurrences = ex.Occurrences,
|
||||
HasRepeatedAfterFixVersion = fixedIn != null && occurredIn.Overlaps(fixedIn.GetDescendants()),
|
||||
FirstSeenVersionCommitId = firstOccurredVersion.Id,
|
||||
FirstSeenVersionHash = firstOccurredVersion.Hash,
|
||||
LastSeenVersionCommitId = lastOccurredVersion.Id,
|
||||
LastSeenVersionHash = lastOccurredVersion.Hash
|
||||
}).ToList();
|
||||
|
||||
// Step 6: Figure out friendly names for the versions involved
|
||||
var commitIds = (from v in viewModels select v.FirstSeenVersionCommitId)
|
||||
.Union(from v in viewModels select v.LastSeenVersionCommitId)
|
||||
.Union(from v in viewModels where v.UserFixedInCommitId != null select (int)v.UserFixedInCommitId)
|
||||
.ToList();
|
||||
var commitIdToVersionMap = CreateCommitIdToVersionMap(commitIds);
|
||||
|
||||
// Step 7: Map friendly names onto view models:
|
||||
foreach (var v in viewModels) {
|
||||
v.LastSeenVersion = commitIdToVersionMap.GetValueOrDefault(v.LastSeenVersionCommitId);
|
||||
v.FirstSeenVersion = commitIdToVersionMap.GetValueOrDefault(v.FirstSeenVersionCommitId);
|
||||
if (v.UserFixedInCommitId != null)
|
||||
v.UserFixedInCommit = commitIdToVersionMap.GetValueOrDefault((int)v.UserFixedInCommitId) ?? v.UserFixedInCommitHash.Truncate(8);
|
||||
}
|
||||
|
||||
Debug.WriteLine("All together: " + w.ElapsedMilliseconds + "ms");
|
||||
return viewModels;
|
||||
}
|
||||
|
||||
Dictionary<int, string> CreateCommitIdToVersionMap(List<int> commitIds)
|
||||
{
|
||||
return EvaluateQuery((
|
||||
from s in _db.Sessions
|
||||
where commitIds.Contains((int)s.CommitId)
|
||||
select new {
|
||||
s.CommitId,
|
||||
s.AppVersionMajor,
|
||||
s.AppVersionMinor,
|
||||
s.AppVersionBuild,
|
||||
s.AppVersionRevision
|
||||
}).Distinct())
|
||||
.GroupBy(x => x.CommitId, x => x.AppVersionMajor + "." + x.AppVersionMinor + "." + x.AppVersionBuild + "." + x.AppVersionRevision)
|
||||
.ToDictionary(x => (int)x.Key, x => x.FirstOrDefault());
|
||||
}
|
||||
|
||||
private List<T> EvaluateQuery<T>(IQueryable<T> query)
|
||||
{
|
||||
Debug.WriteLine(((System.Data.Objects.ObjectQuery)query).ToTraceString());
|
||||
Stopwatch w = Stopwatch.StartNew();
|
||||
var list = query.ToList();
|
||||
Debug.WriteLine("Query took " + w.ElapsedMilliseconds + "ms and returned " + list.Count + " rows");
|
||||
return list;
|
||||
}
|
||||
|
||||
public ExceptionGroupEditModel GetExceptionGroupById(int id)
|
||||
{
|
||||
// get details for the exception group
|
||||
ExceptionGroupEditModel editModel = EvaluateQuery(
|
||||
from ex in _db.ExceptionGroups
|
||||
where ex.ExceptionGroupId == id
|
||||
let commits = (
|
||||
from e in ex.Exceptions
|
||||
let s = e.Session
|
||||
where s.CommitId != null
|
||||
select s.Commit
|
||||
)
|
||||
select new ExceptionGroupEditModel {
|
||||
ExceptionFingerprint = ex.ExceptionFingerprint,
|
||||
ExceptionGroupId = ex.ExceptionGroupId,
|
||||
ExceptionLocation = ex.ExceptionLocation,
|
||||
ExceptionType = ex.ExceptionType,
|
||||
UserComment = ex.UserComment,
|
||||
UserFixedInCommitId = ex.UserFixedInCommitId,
|
||||
FirstOccurrenceCommitId = commits.OrderBy(c => c.CommitDate).FirstOrDefault().Id,
|
||||
LastOccurrenceCommitId = commits.OrderByDescending(c => c.CommitDate).FirstOrDefault().Id
|
||||
}).Single();
|
||||
|
||||
// get friendly names for the commits
|
||||
List<int> interestingCommitIds = new List<int>();
|
||||
interestingCommitIds.Add(editModel.FirstOccurrenceCommitId);
|
||||
interestingCommitIds.Add(editModel.LastOccurrenceCommitId);
|
||||
if (editModel.UserFixedInCommitId != null)
|
||||
interestingCommitIds.Add((int)editModel.UserFixedInCommitId);
|
||||
|
||||
var scm = SourceControlRepository.GetCached();
|
||||
var map = CreateCommitIdToVersionMap(interestingCommitIds);
|
||||
|
||||
editModel.FirstOccurrenceCommitHash = scm.GetCommitById(editModel.FirstOccurrenceCommitId).Hash;
|
||||
editModel.FirstOccurrenceCommit = map.GetValueOrDefault(editModel.FirstOccurrenceCommitId);
|
||||
editModel.LastOccurrenceCommitHash = scm.GetCommitById(editModel.LastOccurrenceCommitId).Hash;
|
||||
editModel.LastOccurrenceCommit = map.GetValueOrDefault(editModel.LastOccurrenceCommitId);
|
||||
|
||||
if (editModel.UserFixedInCommitId != null) {
|
||||
editModel.UserFixedInCommitHash = scm.GetCommitById((int)editModel.UserFixedInCommitId).Hash;
|
||||
editModel.UserFixedInCommit = map.GetValueOrDefault((int)editModel.UserFixedInCommitId) ?? editModel.UserFixedInCommitHash.Truncate(8);
|
||||
}
|
||||
|
||||
// get statistics about this exception
|
||||
editModel.CrashProbabilities = GetCrashStatisticsForExceptionGroup(id);
|
||||
|
||||
// get details about the exception instances
|
||||
editModel.Exceptions = EvaluateQuery((
|
||||
from ex in _db.Exceptions
|
||||
where ex.ExceptionGroupId == editModel.ExceptionGroupId && ex.IsFirstInSession
|
||||
orderby ex.ThrownAt descending
|
||||
let session = ex.Session
|
||||
select new ExceptionModel {
|
||||
ThrownAt = ex.ThrownAt,
|
||||
Stacktrace = ex.Stacktrace,
|
||||
UserId = session.UserId,
|
||||
Environment =
|
||||
from ed in session.EnvironmentDatas
|
||||
select new EnvironmentDataModel {
|
||||
Name = ed.EnvironmentDataName.EnvironmentDataName1,
|
||||
Value = ed.EnvironmentDataValue.EnvironmentDataValue1
|
||||
},
|
||||
PreviousFeatureUses = (
|
||||
from fu in session.FeatureUses
|
||||
where fu.UseTime <= ex.ThrownAt
|
||||
orderby fu.UseTime descending
|
||||
select new ExceptionModelFeatureUse {
|
||||
UseTime = fu.UseTime,
|
||||
ActivationMethod = fu.ActivationMethod.ActivationMethodName,
|
||||
FeatureName = fu.Feature.FeatureName
|
||||
}
|
||||
).Take(5)
|
||||
}
|
||||
).Take(20)
|
||||
);
|
||||
return editModel;
|
||||
}
|
||||
|
||||
public void Save(int exceptionGroupId, string userComment, string userFixedInCommitHash) {
|
||||
ExceptionGroup exceptionGroup = _db.ExceptionGroups.First(eg => eg.ExceptionGroupId == exceptionGroupId);
|
||||
exceptionGroup.UserComment = userComment;
|
||||
exceptionGroup.UserFixedInCommitId = SourceControlRepository.FindCommitId(userFixedInCommitHash);
|
||||
_db.SaveChanges();
|
||||
}
|
||||
|
||||
public List<Tuple<string, double>> GetCrashStatisticsForExceptionGroup(int exceptionGroupId)
|
||||
{
|
||||
var result = new List<Tuple<string,double>>();
|
||||
using (var c = new SqlConnection(ConfigurationManager.ConnectionStrings["udcADO"].ConnectionString)) {
|
||||
c.Open();
|
||||
using (var command = c.CreateCommand()) {
|
||||
command.CommandText = "[InstabilityForException]";
|
||||
command.CommandType = CommandType.StoredProcedure;
|
||||
command.Parameters.Add("@exceptionGroup", SqlDbType.Int).Value = exceptionGroupId;
|
||||
using (var reader = command.ExecuteReader()) {
|
||||
while (reader.Read()) {
|
||||
string versionName = reader.GetString(0);
|
||||
int totalUserDays = reader.GetInt32(1);
|
||||
int crashedUserDays = reader.GetInt32(2);
|
||||
result.Add(Tuple.Create(versionName, 100.0 * crashedUserDays / totalUserDays));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return result.OrderBy(g => g.Item1, new VersionNameComparer()).ToList();
|
||||
}
|
||||
}
|
||||
|
||||
static partial class ExtensionMethods
|
||||
{
|
||||
public static TValue GetValueOrDefault<TKey, TValue>(this Dictionary<TKey, TValue> dict, TKey key)
|
||||
{
|
||||
TValue val;
|
||||
if (dict.TryGetValue(key, out val))
|
||||
return val;
|
||||
else
|
||||
return default(TValue);
|
||||
}
|
||||
|
||||
public static string Truncate(this string text, int length)
|
||||
{
|
||||
if (text == null || text.Length <= length)
|
||||
return text;
|
||||
else
|
||||
return text.Substring(0, length);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,52 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using UsageDataAnalysisWebClient.Models;
|
||||
using System.Data.Objects;
|
||||
using System.Diagnostics;
|
||||
using System.Data.SqlClient;
|
||||
using System.Configuration;
|
||||
using System.Data;
|
||||
|
||||
namespace UsageDataAnalysisWebClient.Repositories
|
||||
{
|
||||
public class FeatureRepository
|
||||
{
|
||||
private udcEntities _db = new udcEntities();
|
||||
|
||||
public IEnumerable<FeatureIndexEntry> GetFeatures(string featureNamePattern, int commitID)
|
||||
{
|
||||
var result = new List<FeatureIndexEntry>();
|
||||
using (var c = new SqlConnection(ConfigurationManager.ConnectionStrings["udcADO"].ConnectionString)) {
|
||||
c.Open();
|
||||
using (var command = c.CreateCommand()) {
|
||||
command.CommandText = "[FeatureIndex]";
|
||||
command.CommandType = CommandType.StoredProcedure;
|
||||
command.Parameters.Add("@featureNamePattern", SqlDbType.VarChar).Value = featureNamePattern;
|
||||
command.Parameters.Add("@commitID", SqlDbType.Int).Value = commitID;
|
||||
using (var reader = command.ExecuteReader()) {
|
||||
while (reader.Read()) {
|
||||
result.Add(new FeatureIndexEntry {
|
||||
FeatureID = reader.GetInt32(0),
|
||||
FeatureName = reader.GetString(1),
|
||||
TotalUseCount = reader.GetInt32(2),
|
||||
UserDays = reader.GetInt32(3)
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private List<T> EvaluateQuery<T>(IQueryable<T> query)
|
||||
{
|
||||
Debug.WriteLine(((System.Data.Objects.ObjectQuery)query).ToTraceString());
|
||||
Stopwatch w = Stopwatch.StartNew();
|
||||
var list = query.ToList();
|
||||
Debug.WriteLine("Query took " + w.ElapsedMilliseconds + "ms and returned " + list.Count + " rows");
|
||||
return list;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
using System.Collections.Generic;
|
||||
using UsageDataAnalysisWebClient.Models;
|
||||
|
||||
namespace UsageDataAnalysisWebClient.Repositories {
|
||||
public interface IExceptionGroupRepository {
|
||||
List<ExceptionGroupIndexModelEntry> GetExceptionGroups(string startCommit, string endCommit);
|
||||
ExceptionGroupEditModel GetExceptionGroupById(int id);
|
||||
void Save(int exceptionGroupId, string userComment, string userFixedInCommitHash);
|
||||
}
|
||||
}
|
|
@ -1,135 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using UsageDataAnalysisWebClient.Models;
|
||||
|
||||
namespace UsageDataAnalysisWebClient.Repositories
|
||||
{
|
||||
public class SourceControlRepository
|
||||
{
|
||||
public static string GetLatestTagName(int minimumAgeInDays)
|
||||
{
|
||||
using (udcEntities db = new udcEntities()) {
|
||||
DateTime minimumCommitAge = DateTime.Now.AddDays(-minimumAgeInDays);
|
||||
return (from tag in db.TaggedCommits
|
||||
where tag.IsRelease
|
||||
join c in db.Commits on tag.CommitId equals c.Id
|
||||
where c.CommitDate < minimumCommitAge
|
||||
orderby c.CommitDate descending
|
||||
select tag.Name
|
||||
).FirstOrDefault();
|
||||
}
|
||||
}
|
||||
|
||||
public static int? FindCommitId(string hashOrTagName)
|
||||
{
|
||||
if (string.IsNullOrEmpty(hashOrTagName))
|
||||
return null;
|
||||
using (udcEntities db = new udcEntities()) {
|
||||
var taggedCommit = db.TaggedCommits.FirstOrDefault(c => c.Name == hashOrTagName);
|
||||
if (taggedCommit != null)
|
||||
return taggedCommit.CommitId;
|
||||
Commit commit = db.Commits.FirstOrDefault(c => c.Hash.StartsWith(hashOrTagName));
|
||||
if (commit != null)
|
||||
return commit.Id;
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
static readonly object lockObj = new object();
|
||||
static SourceControlRepository cached;
|
||||
|
||||
public static SourceControlRepository GetCached()
|
||||
{
|
||||
lock (lockObj) {
|
||||
if (cached != null && Math.Abs((cached.date - DateTime.UtcNow).TotalMinutes) < 3)
|
||||
return cached;
|
||||
using (udcEntities db = new udcEntities()) {
|
||||
cached = new SourceControlRepository(db);
|
||||
}
|
||||
return cached;
|
||||
}
|
||||
}
|
||||
|
||||
DateTime date;
|
||||
Dictionary<int, SourceControlCommit> commits;
|
||||
|
||||
public SourceControlRepository(udcEntities db)
|
||||
{
|
||||
date = DateTime.UtcNow;
|
||||
commits = (from c in db.Commits
|
||||
select new SourceControlCommit {
|
||||
Id = c.Id,
|
||||
Hash = c.Hash,
|
||||
Date = c.CommitDate
|
||||
}).ToDictionary(c => c.Id);
|
||||
|
||||
foreach (var rel in db.CommitRelations) {
|
||||
SourceControlCommit parent = commits[rel.ParentCommit];
|
||||
SourceControlCommit child = commits[rel.ChildCommit];
|
||||
parent.Children.Add(child);
|
||||
child.Parents.Add(parent);
|
||||
}
|
||||
}
|
||||
|
||||
public SourceControlCommit GetCommitById(int id)
|
||||
{
|
||||
return commits[id];
|
||||
}
|
||||
|
||||
public IEnumerable<SourceControlCommit> GetCommitsBetween(int? startId, int? endId)
|
||||
{
|
||||
if (endId.HasValue) {
|
||||
var set = commits[endId.Value].GetAncestors();
|
||||
if (startId.HasValue)
|
||||
set.IntersectWith(commits[startId.Value].GetDescendants());
|
||||
return set;
|
||||
} else if (startId.HasValue) {
|
||||
return commits[startId.Value].GetDescendants();
|
||||
} else {
|
||||
return commits.Values;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class SourceControlCommit
|
||||
{
|
||||
public int Id;
|
||||
public string Hash;
|
||||
public DateTime Date;
|
||||
|
||||
public List<SourceControlCommit> Parents = new List<SourceControlCommit>();
|
||||
public List<SourceControlCommit> Children = new List<SourceControlCommit>();
|
||||
|
||||
public HashSet<SourceControlCommit> GetAncestors()
|
||||
{
|
||||
HashSet<SourceControlCommit> set = new HashSet<SourceControlCommit>();
|
||||
Queue<SourceControlCommit> queue = new Queue<SourceControlCommit>();
|
||||
queue.Enqueue(this);
|
||||
while (queue.Count > 0) {
|
||||
SourceControlCommit c = queue.Dequeue();
|
||||
if (set.Add(c)) {
|
||||
foreach (var parent in c.Parents)
|
||||
queue.Enqueue(parent);
|
||||
}
|
||||
}
|
||||
return set;
|
||||
}
|
||||
|
||||
public HashSet<SourceControlCommit> GetDescendants()
|
||||
{
|
||||
HashSet<SourceControlCommit> set = new HashSet<SourceControlCommit>();
|
||||
Queue<SourceControlCommit> queue = new Queue<SourceControlCommit>();
|
||||
queue.Enqueue(this);
|
||||
while (queue.Count > 0) {
|
||||
SourceControlCommit c = queue.Dequeue();
|
||||
if (set.Add(c)) {
|
||||
foreach (var child in c.Children)
|
||||
queue.Enqueue(child);
|
||||
}
|
||||
}
|
||||
return set;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,84 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
|
||||
namespace UsageDataAnalysisWebClient.Repositories
|
||||
{
|
||||
public class VersionNameComparer : IComparer<string>
|
||||
{
|
||||
public int Compare(string x, string y)
|
||||
{
|
||||
Token[] a = Tokenize(x).ToArray();
|
||||
Token[] b = Tokenize(y).ToArray();
|
||||
for (int i = 0; i < Math.Min(a.Length, b.Length); i++)
|
||||
{
|
||||
int r = a[i].CompareTo(b[i]);
|
||||
if (r != 0)
|
||||
return r;
|
||||
}
|
||||
return a.Length.CompareTo(b.Length);
|
||||
}
|
||||
|
||||
IEnumerable<Token> Tokenize(string text)
|
||||
{
|
||||
int pos = 0;
|
||||
while (pos < text.Length) {
|
||||
if (text[pos] == '-') {
|
||||
yield return new Token(TypeDash, "-");
|
||||
pos++;
|
||||
} else if (char.IsDigit(text[pos])) {
|
||||
int startPos = pos;
|
||||
while (pos < text.Length && char.IsDigit(text[pos]))
|
||||
pos++;
|
||||
yield return new Token(TypeNumber, text.Substring(startPos, pos - startPos));
|
||||
} else {
|
||||
int startPos = pos;
|
||||
while (pos < text.Length && !(text[pos] == '-' || char.IsDigit(text[pos])))
|
||||
pos++;
|
||||
yield return new Token(TypeText, text.Substring(startPos, pos - startPos));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const int TypeDash = 0;
|
||||
const int TypeNumber = 1;
|
||||
const int TypeText = 2;
|
||||
|
||||
class Token : IComparable<Token>
|
||||
{
|
||||
int type;
|
||||
string text;
|
||||
ulong number;
|
||||
|
||||
public Token(int type, string text)
|
||||
{
|
||||
this.type = type;
|
||||
switch (type) {
|
||||
case TypeText:
|
||||
this.text = text;
|
||||
break;
|
||||
case TypeNumber:
|
||||
this.number = ulong.Parse(text);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public int CompareTo(Token other)
|
||||
{
|
||||
int r = type.CompareTo(other.type);
|
||||
if (r != 0)
|
||||
return r;
|
||||
// types are equal
|
||||
switch (type) {
|
||||
case TypeNumber:
|
||||
return number.CompareTo(other.number);
|
||||
case TypeText:
|
||||
return string.CompareOrdinal(text, other.text);
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,399 +0,0 @@
|
|||
//!----------------------------------------------------------
|
||||
//! Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
//!----------------------------------------------------------
|
||||
//! MicrosoftMvcAjax.js
|
||||
|
||||
Type.registerNamespace('Sys.Mvc');
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Sys.Mvc.AjaxOptions
|
||||
|
||||
Sys.Mvc.$create_AjaxOptions = function Sys_Mvc_AjaxOptions() { return {}; }
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Sys.Mvc.InsertionMode
|
||||
|
||||
Sys.Mvc.InsertionMode = function() {
|
||||
/// <field name="replace" type="Number" integer="true" static="true">
|
||||
/// </field>
|
||||
/// <field name="insertBefore" type="Number" integer="true" static="true">
|
||||
/// </field>
|
||||
/// <field name="insertAfter" type="Number" integer="true" static="true">
|
||||
/// </field>
|
||||
};
|
||||
Sys.Mvc.InsertionMode.prototype = {
|
||||
replace: 0,
|
||||
insertBefore: 1,
|
||||
insertAfter: 2
|
||||
}
|
||||
Sys.Mvc.InsertionMode.registerEnum('Sys.Mvc.InsertionMode', false);
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Sys.Mvc.AjaxContext
|
||||
|
||||
Sys.Mvc.AjaxContext = function Sys_Mvc_AjaxContext(request, updateTarget, loadingElement, insertionMode) {
|
||||
/// <param name="request" type="Sys.Net.WebRequest">
|
||||
/// </param>
|
||||
/// <param name="updateTarget" type="Object" domElement="true">
|
||||
/// </param>
|
||||
/// <param name="loadingElement" type="Object" domElement="true">
|
||||
/// </param>
|
||||
/// <param name="insertionMode" type="Sys.Mvc.InsertionMode">
|
||||
/// </param>
|
||||
/// <field name="_insertionMode" type="Sys.Mvc.InsertionMode">
|
||||
/// </field>
|
||||
/// <field name="_loadingElement" type="Object" domElement="true">
|
||||
/// </field>
|
||||
/// <field name="_response" type="Sys.Net.WebRequestExecutor">
|
||||
/// </field>
|
||||
/// <field name="_request" type="Sys.Net.WebRequest">
|
||||
/// </field>
|
||||
/// <field name="_updateTarget" type="Object" domElement="true">
|
||||
/// </field>
|
||||
this._request = request;
|
||||
this._updateTarget = updateTarget;
|
||||
this._loadingElement = loadingElement;
|
||||
this._insertionMode = insertionMode;
|
||||
}
|
||||
Sys.Mvc.AjaxContext.prototype = {
|
||||
_insertionMode: 0,
|
||||
_loadingElement: null,
|
||||
_response: null,
|
||||
_request: null,
|
||||
_updateTarget: null,
|
||||
|
||||
get_data: function Sys_Mvc_AjaxContext$get_data() {
|
||||
/// <value type="String"></value>
|
||||
if (this._response) {
|
||||
return this._response.get_responseData();
|
||||
}
|
||||
else {
|
||||
return null;
|
||||
}
|
||||
},
|
||||
|
||||
get_insertionMode: function Sys_Mvc_AjaxContext$get_insertionMode() {
|
||||
/// <value type="Sys.Mvc.InsertionMode"></value>
|
||||
return this._insertionMode;
|
||||
},
|
||||
|
||||
get_loadingElement: function Sys_Mvc_AjaxContext$get_loadingElement() {
|
||||
/// <value type="Object" domElement="true"></value>
|
||||
return this._loadingElement;
|
||||
},
|
||||
|
||||
get_object: function Sys_Mvc_AjaxContext$get_object() {
|
||||
/// <value type="Object"></value>
|
||||
var executor = this.get_response();
|
||||
return (executor) ? executor.get_object() : null;
|
||||
},
|
||||
|
||||
get_response: function Sys_Mvc_AjaxContext$get_response() {
|
||||
/// <value type="Sys.Net.WebRequestExecutor"></value>
|
||||
return this._response;
|
||||
},
|
||||
set_response: function Sys_Mvc_AjaxContext$set_response(value) {
|
||||
/// <value type="Sys.Net.WebRequestExecutor"></value>
|
||||
this._response = value;
|
||||
return value;
|
||||
},
|
||||
|
||||
get_request: function Sys_Mvc_AjaxContext$get_request() {
|
||||
/// <value type="Sys.Net.WebRequest"></value>
|
||||
return this._request;
|
||||
},
|
||||
|
||||
get_updateTarget: function Sys_Mvc_AjaxContext$get_updateTarget() {
|
||||
/// <value type="Object" domElement="true"></value>
|
||||
return this._updateTarget;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Sys.Mvc.AsyncHyperlink
|
||||
|
||||
Sys.Mvc.AsyncHyperlink = function Sys_Mvc_AsyncHyperlink() {
|
||||
}
|
||||
Sys.Mvc.AsyncHyperlink.handleClick = function Sys_Mvc_AsyncHyperlink$handleClick(anchor, evt, ajaxOptions) {
|
||||
/// <param name="anchor" type="Object" domElement="true">
|
||||
/// </param>
|
||||
/// <param name="evt" type="Sys.UI.DomEvent">
|
||||
/// </param>
|
||||
/// <param name="ajaxOptions" type="Sys.Mvc.AjaxOptions">
|
||||
/// </param>
|
||||
evt.preventDefault();
|
||||
Sys.Mvc.MvcHelpers._asyncRequest(anchor.href, 'post', '', anchor, ajaxOptions);
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Sys.Mvc.MvcHelpers
|
||||
|
||||
Sys.Mvc.MvcHelpers = function Sys_Mvc_MvcHelpers() {
|
||||
}
|
||||
Sys.Mvc.MvcHelpers._serializeSubmitButton = function Sys_Mvc_MvcHelpers$_serializeSubmitButton(element, offsetX, offsetY) {
|
||||
/// <param name="element" type="Object" domElement="true">
|
||||
/// </param>
|
||||
/// <param name="offsetX" type="Number" integer="true">
|
||||
/// </param>
|
||||
/// <param name="offsetY" type="Number" integer="true">
|
||||
/// </param>
|
||||
/// <returns type="String"></returns>
|
||||
if (element.disabled) {
|
||||
return null;
|
||||
}
|
||||
var name = element.name;
|
||||
if (name) {
|
||||
var tagName = element.tagName.toUpperCase();
|
||||
var encodedName = encodeURIComponent(name);
|
||||
var inputElement = element;
|
||||
if (tagName === 'INPUT') {
|
||||
var type = inputElement.type;
|
||||
if (type === 'submit') {
|
||||
return encodedName + '=' + encodeURIComponent(inputElement.value);
|
||||
}
|
||||
else if (type === 'image') {
|
||||
return encodedName + '.x=' + offsetX + '&' + encodedName + '.y=' + offsetY;
|
||||
}
|
||||
}
|
||||
else if ((tagName === 'BUTTON') && (name.length) && (inputElement.type === 'submit')) {
|
||||
return encodedName + '=' + encodeURIComponent(inputElement.value);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
Sys.Mvc.MvcHelpers._serializeForm = function Sys_Mvc_MvcHelpers$_serializeForm(form) {
|
||||
/// <param name="form" type="Object" domElement="true">
|
||||
/// </param>
|
||||
/// <returns type="String"></returns>
|
||||
var formElements = form.elements;
|
||||
var formBody = new Sys.StringBuilder();
|
||||
var count = formElements.length;
|
||||
for (var i = 0; i < count; i++) {
|
||||
var element = formElements[i];
|
||||
var name = element.name;
|
||||
if (!name || !name.length) {
|
||||
continue;
|
||||
}
|
||||
var tagName = element.tagName.toUpperCase();
|
||||
if (tagName === 'INPUT') {
|
||||
var inputElement = element;
|
||||
var type = inputElement.type;
|
||||
if ((type === 'text') || (type === 'password') || (type === 'hidden') || (((type === 'checkbox') || (type === 'radio')) && element.checked)) {
|
||||
formBody.append(encodeURIComponent(name));
|
||||
formBody.append('=');
|
||||
formBody.append(encodeURIComponent(inputElement.value));
|
||||
formBody.append('&');
|
||||
}
|
||||
}
|
||||
else if (tagName === 'SELECT') {
|
||||
var selectElement = element;
|
||||
var optionCount = selectElement.options.length;
|
||||
for (var j = 0; j < optionCount; j++) {
|
||||
var optionElement = selectElement.options[j];
|
||||
if (optionElement.selected) {
|
||||
formBody.append(encodeURIComponent(name));
|
||||
formBody.append('=');
|
||||
formBody.append(encodeURIComponent(optionElement.value));
|
||||
formBody.append('&');
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (tagName === 'TEXTAREA') {
|
||||
formBody.append(encodeURIComponent(name));
|
||||
formBody.append('=');
|
||||
formBody.append(encodeURIComponent((element.value)));
|
||||
formBody.append('&');
|
||||
}
|
||||
}
|
||||
var additionalInput = form._additionalInput;
|
||||
if (additionalInput) {
|
||||
formBody.append(additionalInput);
|
||||
formBody.append('&');
|
||||
}
|
||||
return formBody.toString();
|
||||
}
|
||||
Sys.Mvc.MvcHelpers._asyncRequest = function Sys_Mvc_MvcHelpers$_asyncRequest(url, verb, body, triggerElement, ajaxOptions) {
|
||||
/// <param name="url" type="String">
|
||||
/// </param>
|
||||
/// <param name="verb" type="String">
|
||||
/// </param>
|
||||
/// <param name="body" type="String">
|
||||
/// </param>
|
||||
/// <param name="triggerElement" type="Object" domElement="true">
|
||||
/// </param>
|
||||
/// <param name="ajaxOptions" type="Sys.Mvc.AjaxOptions">
|
||||
/// </param>
|
||||
if (ajaxOptions.confirm) {
|
||||
if (!confirm(ajaxOptions.confirm)) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (ajaxOptions.url) {
|
||||
url = ajaxOptions.url;
|
||||
}
|
||||
if (ajaxOptions.httpMethod) {
|
||||
verb = ajaxOptions.httpMethod;
|
||||
}
|
||||
if (body.length > 0 && !body.endsWith('&')) {
|
||||
body += '&';
|
||||
}
|
||||
body += 'X-Requested-With=XMLHttpRequest';
|
||||
var upperCaseVerb = verb.toUpperCase();
|
||||
var isGetOrPost = (upperCaseVerb === 'GET' || upperCaseVerb === 'POST');
|
||||
if (!isGetOrPost) {
|
||||
body += '&';
|
||||
body += 'X-HTTP-Method-Override=' + upperCaseVerb;
|
||||
}
|
||||
var requestBody = '';
|
||||
if (upperCaseVerb === 'GET' || upperCaseVerb === 'DELETE') {
|
||||
if (url.indexOf('?') > -1) {
|
||||
if (!url.endsWith('&')) {
|
||||
url += '&';
|
||||
}
|
||||
url += body;
|
||||
}
|
||||
else {
|
||||
url += '?';
|
||||
url += body;
|
||||
}
|
||||
}
|
||||
else {
|
||||
requestBody = body;
|
||||
}
|
||||
var request = new Sys.Net.WebRequest();
|
||||
request.set_url(url);
|
||||
if (isGetOrPost) {
|
||||
request.set_httpVerb(verb);
|
||||
}
|
||||
else {
|
||||
request.set_httpVerb('POST');
|
||||
request.get_headers()['X-HTTP-Method-Override'] = upperCaseVerb;
|
||||
}
|
||||
request.set_body(requestBody);
|
||||
if (verb.toUpperCase() === 'PUT') {
|
||||
request.get_headers()['Content-Type'] = 'application/x-www-form-urlencoded;';
|
||||
}
|
||||
request.get_headers()['X-Requested-With'] = 'XMLHttpRequest';
|
||||
var updateElement = null;
|
||||
if (ajaxOptions.updateTargetId) {
|
||||
updateElement = $get(ajaxOptions.updateTargetId);
|
||||
}
|
||||
var loadingElement = null;
|
||||
if (ajaxOptions.loadingElementId) {
|
||||
loadingElement = $get(ajaxOptions.loadingElementId);
|
||||
}
|
||||
var ajaxContext = new Sys.Mvc.AjaxContext(request, updateElement, loadingElement, ajaxOptions.insertionMode);
|
||||
var continueRequest = true;
|
||||
if (ajaxOptions.onBegin) {
|
||||
continueRequest = ajaxOptions.onBegin(ajaxContext) !== false;
|
||||
}
|
||||
if (loadingElement) {
|
||||
Sys.UI.DomElement.setVisible(ajaxContext.get_loadingElement(), true);
|
||||
}
|
||||
if (continueRequest) {
|
||||
request.add_completed(Function.createDelegate(null, function(executor) {
|
||||
Sys.Mvc.MvcHelpers._onComplete(request, ajaxOptions, ajaxContext);
|
||||
}));
|
||||
request.invoke();
|
||||
}
|
||||
}
|
||||
Sys.Mvc.MvcHelpers._onComplete = function Sys_Mvc_MvcHelpers$_onComplete(request, ajaxOptions, ajaxContext) {
|
||||
/// <param name="request" type="Sys.Net.WebRequest">
|
||||
/// </param>
|
||||
/// <param name="ajaxOptions" type="Sys.Mvc.AjaxOptions">
|
||||
/// </param>
|
||||
/// <param name="ajaxContext" type="Sys.Mvc.AjaxContext">
|
||||
/// </param>
|
||||
ajaxContext.set_response(request.get_executor());
|
||||
if (ajaxOptions.onComplete && ajaxOptions.onComplete(ajaxContext) === false) {
|
||||
return;
|
||||
}
|
||||
var statusCode = ajaxContext.get_response().get_statusCode();
|
||||
if ((statusCode >= 200 && statusCode < 300) || statusCode === 304 || statusCode === 1223) {
|
||||
if (statusCode !== 204 && statusCode !== 304 && statusCode !== 1223) {
|
||||
var contentType = ajaxContext.get_response().getResponseHeader('Content-Type');
|
||||
if ((contentType) && (contentType.indexOf('application/x-javascript') !== -1)) {
|
||||
eval(ajaxContext.get_data());
|
||||
}
|
||||
else {
|
||||
Sys.Mvc.MvcHelpers.updateDomElement(ajaxContext.get_updateTarget(), ajaxContext.get_insertionMode(), ajaxContext.get_data());
|
||||
}
|
||||
}
|
||||
if (ajaxOptions.onSuccess) {
|
||||
ajaxOptions.onSuccess(ajaxContext);
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (ajaxOptions.onFailure) {
|
||||
ajaxOptions.onFailure(ajaxContext);
|
||||
}
|
||||
}
|
||||
if (ajaxContext.get_loadingElement()) {
|
||||
Sys.UI.DomElement.setVisible(ajaxContext.get_loadingElement(), false);
|
||||
}
|
||||
}
|
||||
Sys.Mvc.MvcHelpers.updateDomElement = function Sys_Mvc_MvcHelpers$updateDomElement(target, insertionMode, content) {
|
||||
/// <param name="target" type="Object" domElement="true">
|
||||
/// </param>
|
||||
/// <param name="insertionMode" type="Sys.Mvc.InsertionMode">
|
||||
/// </param>
|
||||
/// <param name="content" type="String">
|
||||
/// </param>
|
||||
if (target) {
|
||||
switch (insertionMode) {
|
||||
case Sys.Mvc.InsertionMode.replace:
|
||||
target.innerHTML = content;
|
||||
break;
|
||||
case Sys.Mvc.InsertionMode.insertBefore:
|
||||
if (content && content.length > 0) {
|
||||
target.innerHTML = content + target.innerHTML.trimStart();
|
||||
}
|
||||
break;
|
||||
case Sys.Mvc.InsertionMode.insertAfter:
|
||||
if (content && content.length > 0) {
|
||||
target.innerHTML = target.innerHTML.trimEnd() + content;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Sys.Mvc.AsyncForm
|
||||
|
||||
Sys.Mvc.AsyncForm = function Sys_Mvc_AsyncForm() {
|
||||
}
|
||||
Sys.Mvc.AsyncForm.handleClick = function Sys_Mvc_AsyncForm$handleClick(form, evt) {
|
||||
/// <param name="form" type="Object" domElement="true">
|
||||
/// </param>
|
||||
/// <param name="evt" type="Sys.UI.DomEvent">
|
||||
/// </param>
|
||||
var additionalInput = Sys.Mvc.MvcHelpers._serializeSubmitButton(evt.target, evt.offsetX, evt.offsetY);
|
||||
form._additionalInput = additionalInput;
|
||||
}
|
||||
Sys.Mvc.AsyncForm.handleSubmit = function Sys_Mvc_AsyncForm$handleSubmit(form, evt, ajaxOptions) {
|
||||
/// <param name="form" type="Object" domElement="true">
|
||||
/// </param>
|
||||
/// <param name="evt" type="Sys.UI.DomEvent">
|
||||
/// </param>
|
||||
/// <param name="ajaxOptions" type="Sys.Mvc.AjaxOptions">
|
||||
/// </param>
|
||||
evt.preventDefault();
|
||||
var body = Sys.Mvc.MvcHelpers._serializeForm(form);
|
||||
Sys.Mvc.MvcHelpers._asyncRequest(form.action, form.method || 'post', body, form, ajaxOptions);
|
||||
}
|
||||
|
||||
|
||||
Sys.Mvc.AjaxContext.registerClass('Sys.Mvc.AjaxContext');
|
||||
Sys.Mvc.AsyncHyperlink.registerClass('Sys.Mvc.AsyncHyperlink');
|
||||
Sys.Mvc.MvcHelpers.registerClass('Sys.Mvc.MvcHelpers');
|
||||
Sys.Mvc.AsyncForm.registerClass('Sys.Mvc.AsyncForm');
|
||||
|
||||
// ---- Do not remove this footer ----
|
||||
// Generated using Script# v0.5.0.0 (http://projects.nikhilk.net)
|
||||
// -----------------------------------
|
|
@ -1,25 +0,0 @@
|
|||
//----------------------------------------------------------
|
||||
// Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
//----------------------------------------------------------
|
||||
// MicrosoftMvcAjax.js
|
||||
|
||||
Type.registerNamespace('Sys.Mvc');Sys.Mvc.$create_AjaxOptions=function(){return {};}
|
||||
Sys.Mvc.InsertionMode=function(){};Sys.Mvc.InsertionMode.prototype = {replace:0,insertBefore:1,insertAfter:2}
|
||||
Sys.Mvc.InsertionMode.registerEnum('Sys.Mvc.InsertionMode',false);Sys.Mvc.AjaxContext=function(request,updateTarget,loadingElement,insertionMode){this.$3=request;this.$4=updateTarget;this.$1=loadingElement;this.$0=insertionMode;}
|
||||
Sys.Mvc.AjaxContext.prototype={$0:0,$1:null,$2:null,$3:null,$4:null,get_data:function(){if(this.$2){return this.$2.get_responseData();}else{return null;}},get_insertionMode:function(){return this.$0;},get_loadingElement:function(){return this.$1;},get_object:function(){var $0=this.get_response();return ($0)?$0.get_object():null;},get_response:function(){return this.$2;},set_response:function(value){this.$2=value;return value;},get_request:function(){return this.$3;},get_updateTarget:function(){return this.$4;}}
|
||||
Sys.Mvc.AsyncHyperlink=function(){}
|
||||
Sys.Mvc.AsyncHyperlink.handleClick=function(anchor,evt,ajaxOptions){evt.preventDefault();Sys.Mvc.MvcHelpers.$2(anchor.href,'post','',anchor,ajaxOptions);}
|
||||
Sys.Mvc.MvcHelpers=function(){}
|
||||
Sys.Mvc.MvcHelpers.$0=function($p0,$p1,$p2){if($p0.disabled){return null;}var $0=$p0.name;if($0){var $1=$p0.tagName.toUpperCase();var $2=encodeURIComponent($0);var $3=$p0;if($1==='INPUT'){var $4=$3.type;if($4==='submit'){return $2+'='+encodeURIComponent($3.value);}else if($4==='image'){return $2+'.x='+$p1+'&'+$2+'.y='+$p2;}}else if(($1==='BUTTON')&&($0.length)&&($3.type==='submit')){return $2+'='+encodeURIComponent($3.value);}}return null;}
|
||||
Sys.Mvc.MvcHelpers.$1=function($p0){var $0=$p0.elements;var $1=new Sys.StringBuilder();var $2=$0.length;for(var $4=0;$4<$2;$4++){var $5=$0[$4];var $6=$5.name;if(!$6||!$6.length){continue;}var $7=$5.tagName.toUpperCase();if($7==='INPUT'){var $8=$5;var $9=$8.type;if(($9==='text')||($9==='password')||($9==='hidden')||((($9==='checkbox')||($9==='radio'))&&$5.checked)){$1.append(encodeURIComponent($6));$1.append('=');$1.append(encodeURIComponent($8.value));$1.append('&');}}else if($7==='SELECT'){var $A=$5;var $B=$A.options.length;for(var $C=0;$C<$B;$C++){var $D=$A.options[$C];if($D.selected){$1.append(encodeURIComponent($6));$1.append('=');$1.append(encodeURIComponent($D.value));$1.append('&');}}}else if($7==='TEXTAREA'){$1.append(encodeURIComponent($6));$1.append('=');$1.append(encodeURIComponent(($5.value)));$1.append('&');}}var $3=$p0._additionalInput;if($3){$1.append($3);$1.append('&');}return $1.toString();}
|
||||
Sys.Mvc.MvcHelpers.$2=function($p0,$p1,$p2,$p3,$p4){if($p4.confirm){if(!confirm($p4.confirm)){return;}}if($p4.url){$p0=$p4.url;}if($p4.httpMethod){$p1=$p4.httpMethod;}if($p2.length>0&&!$p2.endsWith('&')){$p2+='&';}$p2+='X-Requested-With=XMLHttpRequest';var $0=$p1.toUpperCase();var $1=($0==='GET'||$0==='POST');if(!$1){$p2+='&';$p2+='X-HTTP-Method-Override='+$0;}var $2='';if($0==='GET'||$0==='DELETE'){if($p0.indexOf('?')>-1){if(!$p0.endsWith('&')){$p0+='&';}$p0+=$p2;}else{$p0+='?';$p0+=$p2;}}else{$2=$p2;}var $3=new Sys.Net.WebRequest();$3.set_url($p0);if($1){$3.set_httpVerb($p1);}else{$3.set_httpVerb('POST');$3.get_headers()['X-HTTP-Method-Override']=$0;}$3.set_body($2);if($p1.toUpperCase()==='PUT'){$3.get_headers()['Content-Type']='application/x-www-form-urlencoded;';}$3.get_headers()['X-Requested-With']='XMLHttpRequest';var $4=null;if($p4.updateTargetId){$4=$get($p4.updateTargetId);}var $5=null;if($p4.loadingElementId){$5=$get($p4.loadingElementId);}var $6=new Sys.Mvc.AjaxContext($3,$4,$5,$p4.insertionMode);var $7=true;if($p4.onBegin){$7=$p4.onBegin($6)!==false;}if($5){Sys.UI.DomElement.setVisible($6.get_loadingElement(),true);}if($7){$3.add_completed(Function.createDelegate(null,function($p1_0){
|
||||
Sys.Mvc.MvcHelpers.$3($3,$p4,$6);}));$3.invoke();}}
|
||||
Sys.Mvc.MvcHelpers.$3=function($p0,$p1,$p2){$p2.set_response($p0.get_executor());if($p1.onComplete&&$p1.onComplete($p2)===false){return;}var $0=$p2.get_response().get_statusCode();if(($0>=200&&$0<300)||$0===304||$0===1223){if($0!==204&&$0!==304&&$0!==1223){var $1=$p2.get_response().getResponseHeader('Content-Type');if(($1)&&($1.indexOf('application/x-javascript')!==-1)){eval($p2.get_data());}else{Sys.Mvc.MvcHelpers.updateDomElement($p2.get_updateTarget(),$p2.get_insertionMode(),$p2.get_data());}}if($p1.onSuccess){$p1.onSuccess($p2);}}else{if($p1.onFailure){$p1.onFailure($p2);}}if($p2.get_loadingElement()){Sys.UI.DomElement.setVisible($p2.get_loadingElement(),false);}}
|
||||
Sys.Mvc.MvcHelpers.updateDomElement=function(target,insertionMode,content){if(target){switch(insertionMode){case 0:target.innerHTML=content;break;case 1:if(content&&content.length>0){target.innerHTML=content+target.innerHTML.trimStart();}break;case 2:if(content&&content.length>0){target.innerHTML=target.innerHTML.trimEnd()+content;}break;}}}
|
||||
Sys.Mvc.AsyncForm=function(){}
|
||||
Sys.Mvc.AsyncForm.handleClick=function(form,evt){var $0=Sys.Mvc.MvcHelpers.$0(evt.target,evt.offsetX,evt.offsetY);form._additionalInput = $0;}
|
||||
Sys.Mvc.AsyncForm.handleSubmit=function(form,evt,ajaxOptions){evt.preventDefault();var $0=Sys.Mvc.MvcHelpers.$1(form);Sys.Mvc.MvcHelpers.$2(form.action,form.method||'post',$0,form,ajaxOptions);}
|
||||
Sys.Mvc.AjaxContext.registerClass('Sys.Mvc.AjaxContext');Sys.Mvc.AsyncHyperlink.registerClass('Sys.Mvc.AsyncHyperlink');Sys.Mvc.MvcHelpers.registerClass('Sys.Mvc.MvcHelpers');Sys.Mvc.AsyncForm.registerClass('Sys.Mvc.AsyncForm');
|
||||
// ---- Do not remove this footer ----
|
||||
// Generated using Script# v0.5.0.0 (http://projects.nikhilk.net)
|
||||
// -----------------------------------
|
|
@ -1,874 +0,0 @@
|
|||
//!----------------------------------------------------------
|
||||
//! Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
//!----------------------------------------------------------
|
||||
//! MicrosoftMvcValidation.js
|
||||
|
||||
|
||||
Type.registerNamespace('Sys.Mvc');
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Sys.Mvc.Validation
|
||||
|
||||
Sys.Mvc.$create_Validation = function Sys_Mvc_Validation() { return {}; }
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Sys.Mvc.JsonValidationField
|
||||
|
||||
Sys.Mvc.$create_JsonValidationField = function Sys_Mvc_JsonValidationField() { return {}; }
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Sys.Mvc.JsonValidationOptions
|
||||
|
||||
Sys.Mvc.$create_JsonValidationOptions = function Sys_Mvc_JsonValidationOptions() { return {}; }
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Sys.Mvc.JsonValidationRule
|
||||
|
||||
Sys.Mvc.$create_JsonValidationRule = function Sys_Mvc_JsonValidationRule() { return {}; }
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Sys.Mvc.ValidationContext
|
||||
|
||||
Sys.Mvc.$create_ValidationContext = function Sys_Mvc_ValidationContext() { return {}; }
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Sys.Mvc.NumberValidator
|
||||
|
||||
Sys.Mvc.NumberValidator = function Sys_Mvc_NumberValidator() {
|
||||
}
|
||||
Sys.Mvc.NumberValidator.create = function Sys_Mvc_NumberValidator$create(rule) {
|
||||
/// <param name="rule" type="Sys.Mvc.JsonValidationRule">
|
||||
/// </param>
|
||||
/// <returns type="Sys.Mvc.Validator"></returns>
|
||||
return Function.createDelegate(new Sys.Mvc.NumberValidator(), new Sys.Mvc.NumberValidator().validate);
|
||||
}
|
||||
Sys.Mvc.NumberValidator.prototype = {
|
||||
|
||||
validate: function Sys_Mvc_NumberValidator$validate(value, context) {
|
||||
/// <param name="value" type="String">
|
||||
/// </param>
|
||||
/// <param name="context" type="Sys.Mvc.ValidationContext">
|
||||
/// </param>
|
||||
/// <returns type="Object"></returns>
|
||||
if (Sys.Mvc._validationUtil.stringIsNullOrEmpty(value)) {
|
||||
return true;
|
||||
}
|
||||
var n = Number.parseLocale(value);
|
||||
return (!isNaN(n));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Sys.Mvc.FormContext
|
||||
|
||||
Sys.Mvc.FormContext = function Sys_Mvc_FormContext(formElement, validationSummaryElement) {
|
||||
/// <param name="formElement" type="Object" domElement="true">
|
||||
/// </param>
|
||||
/// <param name="validationSummaryElement" type="Object" domElement="true">
|
||||
/// </param>
|
||||
/// <field name="_validationSummaryErrorCss" type="String" static="true">
|
||||
/// </field>
|
||||
/// <field name="_validationSummaryValidCss" type="String" static="true">
|
||||
/// </field>
|
||||
/// <field name="_formValidationTag" type="String" static="true">
|
||||
/// </field>
|
||||
/// <field name="_onClickHandler" type="Sys.UI.DomEventHandler">
|
||||
/// </field>
|
||||
/// <field name="_onSubmitHandler" type="Sys.UI.DomEventHandler">
|
||||
/// </field>
|
||||
/// <field name="_errors" type="Array">
|
||||
/// </field>
|
||||
/// <field name="_submitButtonClicked" type="Object" domElement="true">
|
||||
/// </field>
|
||||
/// <field name="_validationSummaryElement" type="Object" domElement="true">
|
||||
/// </field>
|
||||
/// <field name="_validationSummaryULElement" type="Object" domElement="true">
|
||||
/// </field>
|
||||
/// <field name="fields" type="Array" elementType="FieldContext">
|
||||
/// </field>
|
||||
/// <field name="_formElement" type="Object" domElement="true">
|
||||
/// </field>
|
||||
/// <field name="replaceValidationSummary" type="Boolean">
|
||||
/// </field>
|
||||
this._errors = [];
|
||||
this.fields = new Array(0);
|
||||
this._formElement = formElement;
|
||||
this._validationSummaryElement = validationSummaryElement;
|
||||
formElement[Sys.Mvc.FormContext._formValidationTag] = this;
|
||||
if (validationSummaryElement) {
|
||||
var ulElements = validationSummaryElement.getElementsByTagName('ul');
|
||||
if (ulElements.length > 0) {
|
||||
this._validationSummaryULElement = ulElements[0];
|
||||
}
|
||||
}
|
||||
this._onClickHandler = Function.createDelegate(this, this._form_OnClick);
|
||||
this._onSubmitHandler = Function.createDelegate(this, this._form_OnSubmit);
|
||||
}
|
||||
Sys.Mvc.FormContext._Application_Load = function Sys_Mvc_FormContext$_Application_Load() {
|
||||
var allFormOptions = window.mvcClientValidationMetadata;
|
||||
if (allFormOptions) {
|
||||
while (allFormOptions.length > 0) {
|
||||
var thisFormOptions = allFormOptions.pop();
|
||||
Sys.Mvc.FormContext._parseJsonOptions(thisFormOptions);
|
||||
}
|
||||
}
|
||||
}
|
||||
Sys.Mvc.FormContext._getFormElementsWithName = function Sys_Mvc_FormContext$_getFormElementsWithName(formElement, name) {
|
||||
/// <param name="formElement" type="Object" domElement="true">
|
||||
/// </param>
|
||||
/// <param name="name" type="String">
|
||||
/// </param>
|
||||
/// <returns type="Array" elementType="Object" elementDomElement="true"></returns>
|
||||
var allElementsWithNameInForm = [];
|
||||
var allElementsWithName = document.getElementsByName(name);
|
||||
for (var i = 0; i < allElementsWithName.length; i++) {
|
||||
var thisElement = allElementsWithName[i];
|
||||
if (Sys.Mvc.FormContext._isElementInHierarchy(formElement, thisElement)) {
|
||||
Array.add(allElementsWithNameInForm, thisElement);
|
||||
}
|
||||
}
|
||||
return allElementsWithNameInForm;
|
||||
}
|
||||
Sys.Mvc.FormContext.getValidationForForm = function Sys_Mvc_FormContext$getValidationForForm(formElement) {
|
||||
/// <param name="formElement" type="Object" domElement="true">
|
||||
/// </param>
|
||||
/// <returns type="Sys.Mvc.FormContext"></returns>
|
||||
return formElement[Sys.Mvc.FormContext._formValidationTag];
|
||||
}
|
||||
Sys.Mvc.FormContext._isElementInHierarchy = function Sys_Mvc_FormContext$_isElementInHierarchy(parent, child) {
|
||||
/// <param name="parent" type="Object" domElement="true">
|
||||
/// </param>
|
||||
/// <param name="child" type="Object" domElement="true">
|
||||
/// </param>
|
||||
/// <returns type="Boolean"></returns>
|
||||
while (child) {
|
||||
if (parent === child) {
|
||||
return true;
|
||||
}
|
||||
child = child.parentNode;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
Sys.Mvc.FormContext._parseJsonOptions = function Sys_Mvc_FormContext$_parseJsonOptions(options) {
|
||||
/// <param name="options" type="Sys.Mvc.JsonValidationOptions">
|
||||
/// </param>
|
||||
/// <returns type="Sys.Mvc.FormContext"></returns>
|
||||
var formElement = $get(options.FormId);
|
||||
var validationSummaryElement = (!Sys.Mvc._validationUtil.stringIsNullOrEmpty(options.ValidationSummaryId)) ? $get(options.ValidationSummaryId) : null;
|
||||
var formContext = new Sys.Mvc.FormContext(formElement, validationSummaryElement);
|
||||
formContext.enableDynamicValidation();
|
||||
formContext.replaceValidationSummary = options.ReplaceValidationSummary;
|
||||
for (var i = 0; i < options.Fields.length; i++) {
|
||||
var field = options.Fields[i];
|
||||
var fieldElements = Sys.Mvc.FormContext._getFormElementsWithName(formElement, field.FieldName);
|
||||
var validationMessageElement = (!Sys.Mvc._validationUtil.stringIsNullOrEmpty(field.ValidationMessageId)) ? $get(field.ValidationMessageId) : null;
|
||||
var fieldContext = new Sys.Mvc.FieldContext(formContext);
|
||||
Array.addRange(fieldContext.elements, fieldElements);
|
||||
fieldContext.validationMessageElement = validationMessageElement;
|
||||
fieldContext.replaceValidationMessageContents = field.ReplaceValidationMessageContents;
|
||||
for (var j = 0; j < field.ValidationRules.length; j++) {
|
||||
var rule = field.ValidationRules[j];
|
||||
var validator = Sys.Mvc.ValidatorRegistry.getValidator(rule);
|
||||
if (validator) {
|
||||
var validation = Sys.Mvc.$create_Validation();
|
||||
validation.fieldErrorMessage = rule.ErrorMessage;
|
||||
validation.validator = validator;
|
||||
Array.add(fieldContext.validations, validation);
|
||||
}
|
||||
}
|
||||
fieldContext.enableDynamicValidation();
|
||||
Array.add(formContext.fields, fieldContext);
|
||||
}
|
||||
return formContext;
|
||||
}
|
||||
Sys.Mvc.FormContext.prototype = {
|
||||
_onClickHandler: null,
|
||||
_onSubmitHandler: null,
|
||||
_submitButtonClicked: null,
|
||||
_validationSummaryElement: null,
|
||||
_validationSummaryULElement: null,
|
||||
_formElement: null,
|
||||
replaceValidationSummary: false,
|
||||
|
||||
addError: function Sys_Mvc_FormContext$addError(message) {
|
||||
/// <param name="message" type="String">
|
||||
/// </param>
|
||||
this.addErrors([ message ]);
|
||||
},
|
||||
|
||||
addErrors: function Sys_Mvc_FormContext$addErrors(messages) {
|
||||
/// <param name="messages" type="Array" elementType="String">
|
||||
/// </param>
|
||||
if (!Sys.Mvc._validationUtil.arrayIsNullOrEmpty(messages)) {
|
||||
Array.addRange(this._errors, messages);
|
||||
this._onErrorCountChanged();
|
||||
}
|
||||
},
|
||||
|
||||
clearErrors: function Sys_Mvc_FormContext$clearErrors() {
|
||||
Array.clear(this._errors);
|
||||
this._onErrorCountChanged();
|
||||
},
|
||||
|
||||
_displayError: function Sys_Mvc_FormContext$_displayError() {
|
||||
if (this._validationSummaryElement) {
|
||||
if (this._validationSummaryULElement) {
|
||||
Sys.Mvc._validationUtil.removeAllChildren(this._validationSummaryULElement);
|
||||
for (var i = 0; i < this._errors.length; i++) {
|
||||
var liElement = document.createElement('li');
|
||||
Sys.Mvc._validationUtil.setInnerText(liElement, this._errors[i]);
|
||||
this._validationSummaryULElement.appendChild(liElement);
|
||||
}
|
||||
}
|
||||
Sys.UI.DomElement.removeCssClass(this._validationSummaryElement, Sys.Mvc.FormContext._validationSummaryValidCss);
|
||||
Sys.UI.DomElement.addCssClass(this._validationSummaryElement, Sys.Mvc.FormContext._validationSummaryErrorCss);
|
||||
}
|
||||
},
|
||||
|
||||
_displaySuccess: function Sys_Mvc_FormContext$_displaySuccess() {
|
||||
var validationSummaryElement = this._validationSummaryElement;
|
||||
if (validationSummaryElement) {
|
||||
var validationSummaryULElement = this._validationSummaryULElement;
|
||||
if (validationSummaryULElement) {
|
||||
validationSummaryULElement.innerHTML = '';
|
||||
}
|
||||
Sys.UI.DomElement.removeCssClass(validationSummaryElement, Sys.Mvc.FormContext._validationSummaryErrorCss);
|
||||
Sys.UI.DomElement.addCssClass(validationSummaryElement, Sys.Mvc.FormContext._validationSummaryValidCss);
|
||||
}
|
||||
},
|
||||
|
||||
enableDynamicValidation: function Sys_Mvc_FormContext$enableDynamicValidation() {
|
||||
Sys.UI.DomEvent.addHandler(this._formElement, 'click', this._onClickHandler);
|
||||
Sys.UI.DomEvent.addHandler(this._formElement, 'submit', this._onSubmitHandler);
|
||||
},
|
||||
|
||||
_findSubmitButton: function Sys_Mvc_FormContext$_findSubmitButton(element) {
|
||||
/// <param name="element" type="Object" domElement="true">
|
||||
/// </param>
|
||||
/// <returns type="Object" domElement="true"></returns>
|
||||
if (element.disabled) {
|
||||
return null;
|
||||
}
|
||||
var name = element.name;
|
||||
if (name) {
|
||||
var tagName = element.tagName.toUpperCase();
|
||||
var encodedName = encodeURIComponent(name);
|
||||
var inputElement = element;
|
||||
if (tagName === 'INPUT') {
|
||||
var type = inputElement.type;
|
||||
if (type === 'submit' || type === 'image') {
|
||||
return inputElement;
|
||||
}
|
||||
}
|
||||
else if ((tagName === 'BUTTON') && (name.length) && (inputElement.type === 'submit')) {
|
||||
return inputElement;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
},
|
||||
|
||||
_form_OnClick: function Sys_Mvc_FormContext$_form_OnClick(e) {
|
||||
/// <param name="e" type="Sys.UI.DomEvent">
|
||||
/// </param>
|
||||
this._submitButtonClicked = this._findSubmitButton(e.target);
|
||||
},
|
||||
|
||||
_form_OnSubmit: function Sys_Mvc_FormContext$_form_OnSubmit(e) {
|
||||
/// <param name="e" type="Sys.UI.DomEvent">
|
||||
/// </param>
|
||||
var form = e.target;
|
||||
var submitButton = this._submitButtonClicked;
|
||||
if (submitButton && submitButton.disableValidation) {
|
||||
return;
|
||||
}
|
||||
var errorMessages = this.validate('submit');
|
||||
if (!Sys.Mvc._validationUtil.arrayIsNullOrEmpty(errorMessages)) {
|
||||
e.preventDefault();
|
||||
}
|
||||
},
|
||||
|
||||
_onErrorCountChanged: function Sys_Mvc_FormContext$_onErrorCountChanged() {
|
||||
if (!this._errors.length) {
|
||||
this._displaySuccess();
|
||||
}
|
||||
else {
|
||||
this._displayError();
|
||||
}
|
||||
},
|
||||
|
||||
validate: function Sys_Mvc_FormContext$validate(eventName) {
|
||||
/// <param name="eventName" type="String">
|
||||
/// </param>
|
||||
/// <returns type="Array" elementType="String"></returns>
|
||||
var fields = this.fields;
|
||||
var errors = [];
|
||||
for (var i = 0; i < fields.length; i++) {
|
||||
var field = fields[i];
|
||||
var thisErrors = field.validate(eventName);
|
||||
if (thisErrors) {
|
||||
Array.addRange(errors, thisErrors);
|
||||
}
|
||||
}
|
||||
if (this.replaceValidationSummary) {
|
||||
this.clearErrors();
|
||||
this.addErrors(errors);
|
||||
}
|
||||
return errors;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Sys.Mvc.FieldContext
|
||||
|
||||
Sys.Mvc.FieldContext = function Sys_Mvc_FieldContext(formContext) {
|
||||
/// <param name="formContext" type="Sys.Mvc.FormContext">
|
||||
/// </param>
|
||||
/// <field name="_hasTextChangedTag" type="String" static="true">
|
||||
/// </field>
|
||||
/// <field name="_hasValidationFiredTag" type="String" static="true">
|
||||
/// </field>
|
||||
/// <field name="_inputElementErrorCss" type="String" static="true">
|
||||
/// </field>
|
||||
/// <field name="_inputElementValidCss" type="String" static="true">
|
||||
/// </field>
|
||||
/// <field name="_validationMessageErrorCss" type="String" static="true">
|
||||
/// </field>
|
||||
/// <field name="_validationMessageValidCss" type="String" static="true">
|
||||
/// </field>
|
||||
/// <field name="_onBlurHandler" type="Sys.UI.DomEventHandler">
|
||||
/// </field>
|
||||
/// <field name="_onChangeHandler" type="Sys.UI.DomEventHandler">
|
||||
/// </field>
|
||||
/// <field name="_onInputHandler" type="Sys.UI.DomEventHandler">
|
||||
/// </field>
|
||||
/// <field name="_onPropertyChangeHandler" type="Sys.UI.DomEventHandler">
|
||||
/// </field>
|
||||
/// <field name="_errors" type="Array">
|
||||
/// </field>
|
||||
/// <field name="defaultErrorMessage" type="String">
|
||||
/// </field>
|
||||
/// <field name="elements" type="Array" elementType="Object" elementDomElement="true">
|
||||
/// </field>
|
||||
/// <field name="formContext" type="Sys.Mvc.FormContext">
|
||||
/// </field>
|
||||
/// <field name="replaceValidationMessageContents" type="Boolean">
|
||||
/// </field>
|
||||
/// <field name="validationMessageElement" type="Object" domElement="true">
|
||||
/// </field>
|
||||
/// <field name="validations" type="Array" elementType="Validation">
|
||||
/// </field>
|
||||
this._errors = [];
|
||||
this.elements = new Array(0);
|
||||
this.validations = new Array(0);
|
||||
this.formContext = formContext;
|
||||
this._onBlurHandler = Function.createDelegate(this, this._element_OnBlur);
|
||||
this._onChangeHandler = Function.createDelegate(this, this._element_OnChange);
|
||||
this._onInputHandler = Function.createDelegate(this, this._element_OnInput);
|
||||
this._onPropertyChangeHandler = Function.createDelegate(this, this._element_OnPropertyChange);
|
||||
}
|
||||
Sys.Mvc.FieldContext.prototype = {
|
||||
_onBlurHandler: null,
|
||||
_onChangeHandler: null,
|
||||
_onInputHandler: null,
|
||||
_onPropertyChangeHandler: null,
|
||||
defaultErrorMessage: null,
|
||||
formContext: null,
|
||||
replaceValidationMessageContents: false,
|
||||
validationMessageElement: null,
|
||||
|
||||
addError: function Sys_Mvc_FieldContext$addError(message) {
|
||||
/// <param name="message" type="String">
|
||||
/// </param>
|
||||
this.addErrors([ message ]);
|
||||
},
|
||||
|
||||
addErrors: function Sys_Mvc_FieldContext$addErrors(messages) {
|
||||
/// <param name="messages" type="Array" elementType="String">
|
||||
/// </param>
|
||||
if (!Sys.Mvc._validationUtil.arrayIsNullOrEmpty(messages)) {
|
||||
Array.addRange(this._errors, messages);
|
||||
this._onErrorCountChanged();
|
||||
}
|
||||
},
|
||||
|
||||
clearErrors: function Sys_Mvc_FieldContext$clearErrors() {
|
||||
Array.clear(this._errors);
|
||||
this._onErrorCountChanged();
|
||||
},
|
||||
|
||||
_displayError: function Sys_Mvc_FieldContext$_displayError() {
|
||||
var validationMessageElement = this.validationMessageElement;
|
||||
if (validationMessageElement) {
|
||||
if (this.replaceValidationMessageContents) {
|
||||
Sys.Mvc._validationUtil.setInnerText(validationMessageElement, this._errors[0]);
|
||||
}
|
||||
Sys.UI.DomElement.removeCssClass(validationMessageElement, Sys.Mvc.FieldContext._validationMessageValidCss);
|
||||
Sys.UI.DomElement.addCssClass(validationMessageElement, Sys.Mvc.FieldContext._validationMessageErrorCss);
|
||||
}
|
||||
var elements = this.elements;
|
||||
for (var i = 0; i < elements.length; i++) {
|
||||
var element = elements[i];
|
||||
Sys.UI.DomElement.removeCssClass(element, Sys.Mvc.FieldContext._inputElementValidCss);
|
||||
Sys.UI.DomElement.addCssClass(element, Sys.Mvc.FieldContext._inputElementErrorCss);
|
||||
}
|
||||
},
|
||||
|
||||
_displaySuccess: function Sys_Mvc_FieldContext$_displaySuccess() {
|
||||
var validationMessageElement = this.validationMessageElement;
|
||||
if (validationMessageElement) {
|
||||
if (this.replaceValidationMessageContents) {
|
||||
Sys.Mvc._validationUtil.setInnerText(validationMessageElement, '');
|
||||
}
|
||||
Sys.UI.DomElement.removeCssClass(validationMessageElement, Sys.Mvc.FieldContext._validationMessageErrorCss);
|
||||
Sys.UI.DomElement.addCssClass(validationMessageElement, Sys.Mvc.FieldContext._validationMessageValidCss);
|
||||
}
|
||||
var elements = this.elements;
|
||||
for (var i = 0; i < elements.length; i++) {
|
||||
var element = elements[i];
|
||||
Sys.UI.DomElement.removeCssClass(element, Sys.Mvc.FieldContext._inputElementErrorCss);
|
||||
Sys.UI.DomElement.addCssClass(element, Sys.Mvc.FieldContext._inputElementValidCss);
|
||||
}
|
||||
},
|
||||
|
||||
_element_OnBlur: function Sys_Mvc_FieldContext$_element_OnBlur(e) {
|
||||
/// <param name="e" type="Sys.UI.DomEvent">
|
||||
/// </param>
|
||||
if (e.target[Sys.Mvc.FieldContext._hasTextChangedTag] || e.target[Sys.Mvc.FieldContext._hasValidationFiredTag]) {
|
||||
this.validate('blur');
|
||||
}
|
||||
},
|
||||
|
||||
_element_OnChange: function Sys_Mvc_FieldContext$_element_OnChange(e) {
|
||||
/// <param name="e" type="Sys.UI.DomEvent">
|
||||
/// </param>
|
||||
e.target[Sys.Mvc.FieldContext._hasTextChangedTag] = true;
|
||||
},
|
||||
|
||||
_element_OnInput: function Sys_Mvc_FieldContext$_element_OnInput(e) {
|
||||
/// <param name="e" type="Sys.UI.DomEvent">
|
||||
/// </param>
|
||||
e.target[Sys.Mvc.FieldContext._hasTextChangedTag] = true;
|
||||
if (e.target[Sys.Mvc.FieldContext._hasValidationFiredTag]) {
|
||||
this.validate('input');
|
||||
}
|
||||
},
|
||||
|
||||
_element_OnPropertyChange: function Sys_Mvc_FieldContext$_element_OnPropertyChange(e) {
|
||||
/// <param name="e" type="Sys.UI.DomEvent">
|
||||
/// </param>
|
||||
if (e.rawEvent.propertyName === 'value') {
|
||||
e.target[Sys.Mvc.FieldContext._hasTextChangedTag] = true;
|
||||
if (e.target[Sys.Mvc.FieldContext._hasValidationFiredTag]) {
|
||||
this.validate('input');
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
enableDynamicValidation: function Sys_Mvc_FieldContext$enableDynamicValidation() {
|
||||
var elements = this.elements;
|
||||
for (var i = 0; i < elements.length; i++) {
|
||||
var element = elements[i];
|
||||
if (Sys.Mvc._validationUtil.elementSupportsEvent(element, 'onpropertychange')) {
|
||||
Sys.UI.DomEvent.addHandler(element, 'propertychange', this._onPropertyChangeHandler);
|
||||
}
|
||||
else {
|
||||
Sys.UI.DomEvent.addHandler(element, 'input', this._onInputHandler);
|
||||
}
|
||||
Sys.UI.DomEvent.addHandler(element, 'change', this._onChangeHandler);
|
||||
Sys.UI.DomEvent.addHandler(element, 'blur', this._onBlurHandler);
|
||||
}
|
||||
},
|
||||
|
||||
_getErrorString: function Sys_Mvc_FieldContext$_getErrorString(validatorReturnValue, fieldErrorMessage) {
|
||||
/// <param name="validatorReturnValue" type="Object">
|
||||
/// </param>
|
||||
/// <param name="fieldErrorMessage" type="String">
|
||||
/// </param>
|
||||
/// <returns type="String"></returns>
|
||||
var fallbackErrorMessage = fieldErrorMessage || this.defaultErrorMessage;
|
||||
if (Boolean.isInstanceOfType(validatorReturnValue)) {
|
||||
return (validatorReturnValue) ? null : fallbackErrorMessage;
|
||||
}
|
||||
if (String.isInstanceOfType(validatorReturnValue)) {
|
||||
return ((validatorReturnValue).length) ? validatorReturnValue : fallbackErrorMessage;
|
||||
}
|
||||
return null;
|
||||
},
|
||||
|
||||
_getStringValue: function Sys_Mvc_FieldContext$_getStringValue() {
|
||||
/// <returns type="String"></returns>
|
||||
var elements = this.elements;
|
||||
return (elements.length > 0) ? elements[0].value : null;
|
||||
},
|
||||
|
||||
_markValidationFired: function Sys_Mvc_FieldContext$_markValidationFired() {
|
||||
var elements = this.elements;
|
||||
for (var i = 0; i < elements.length; i++) {
|
||||
var element = elements[i];
|
||||
element[Sys.Mvc.FieldContext._hasValidationFiredTag] = true;
|
||||
}
|
||||
},
|
||||
|
||||
_onErrorCountChanged: function Sys_Mvc_FieldContext$_onErrorCountChanged() {
|
||||
if (!this._errors.length) {
|
||||
this._displaySuccess();
|
||||
}
|
||||
else {
|
||||
this._displayError();
|
||||
}
|
||||
},
|
||||
|
||||
validate: function Sys_Mvc_FieldContext$validate(eventName) {
|
||||
/// <param name="eventName" type="String">
|
||||
/// </param>
|
||||
/// <returns type="Array" elementType="String"></returns>
|
||||
var validations = this.validations;
|
||||
var errors = [];
|
||||
var value = this._getStringValue();
|
||||
for (var i = 0; i < validations.length; i++) {
|
||||
var validation = validations[i];
|
||||
var context = Sys.Mvc.$create_ValidationContext();
|
||||
context.eventName = eventName;
|
||||
context.fieldContext = this;
|
||||
context.validation = validation;
|
||||
var retVal = validation.validator(value, context);
|
||||
var errorMessage = this._getErrorString(retVal, validation.fieldErrorMessage);
|
||||
if (!Sys.Mvc._validationUtil.stringIsNullOrEmpty(errorMessage)) {
|
||||
Array.add(errors, errorMessage);
|
||||
}
|
||||
}
|
||||
this._markValidationFired();
|
||||
this.clearErrors();
|
||||
this.addErrors(errors);
|
||||
return errors;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Sys.Mvc.RangeValidator
|
||||
|
||||
Sys.Mvc.RangeValidator = function Sys_Mvc_RangeValidator(minimum, maximum) {
|
||||
/// <param name="minimum" type="Number">
|
||||
/// </param>
|
||||
/// <param name="maximum" type="Number">
|
||||
/// </param>
|
||||
/// <field name="_minimum" type="Number">
|
||||
/// </field>
|
||||
/// <field name="_maximum" type="Number">
|
||||
/// </field>
|
||||
this._minimum = minimum;
|
||||
this._maximum = maximum;
|
||||
}
|
||||
Sys.Mvc.RangeValidator.create = function Sys_Mvc_RangeValidator$create(rule) {
|
||||
/// <param name="rule" type="Sys.Mvc.JsonValidationRule">
|
||||
/// </param>
|
||||
/// <returns type="Sys.Mvc.Validator"></returns>
|
||||
var min = rule.ValidationParameters['minimum'];
|
||||
var max = rule.ValidationParameters['maximum'];
|
||||
return Function.createDelegate(new Sys.Mvc.RangeValidator(min, max), new Sys.Mvc.RangeValidator(min, max).validate);
|
||||
}
|
||||
Sys.Mvc.RangeValidator.prototype = {
|
||||
_minimum: null,
|
||||
_maximum: null,
|
||||
|
||||
validate: function Sys_Mvc_RangeValidator$validate(value, context) {
|
||||
/// <param name="value" type="String">
|
||||
/// </param>
|
||||
/// <param name="context" type="Sys.Mvc.ValidationContext">
|
||||
/// </param>
|
||||
/// <returns type="Object"></returns>
|
||||
if (Sys.Mvc._validationUtil.stringIsNullOrEmpty(value)) {
|
||||
return true;
|
||||
}
|
||||
var n = Number.parseLocale(value);
|
||||
return (!isNaN(n) && this._minimum <= n && n <= this._maximum);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Sys.Mvc.RegularExpressionValidator
|
||||
|
||||
Sys.Mvc.RegularExpressionValidator = function Sys_Mvc_RegularExpressionValidator(pattern) {
|
||||
/// <param name="pattern" type="String">
|
||||
/// </param>
|
||||
/// <field name="_pattern" type="String">
|
||||
/// </field>
|
||||
this._pattern = pattern;
|
||||
}
|
||||
Sys.Mvc.RegularExpressionValidator.create = function Sys_Mvc_RegularExpressionValidator$create(rule) {
|
||||
/// <param name="rule" type="Sys.Mvc.JsonValidationRule">
|
||||
/// </param>
|
||||
/// <returns type="Sys.Mvc.Validator"></returns>
|
||||
var pattern = rule.ValidationParameters['pattern'];
|
||||
return Function.createDelegate(new Sys.Mvc.RegularExpressionValidator(pattern), new Sys.Mvc.RegularExpressionValidator(pattern).validate);
|
||||
}
|
||||
Sys.Mvc.RegularExpressionValidator.prototype = {
|
||||
_pattern: null,
|
||||
|
||||
validate: function Sys_Mvc_RegularExpressionValidator$validate(value, context) {
|
||||
/// <param name="value" type="String">
|
||||
/// </param>
|
||||
/// <param name="context" type="Sys.Mvc.ValidationContext">
|
||||
/// </param>
|
||||
/// <returns type="Object"></returns>
|
||||
if (Sys.Mvc._validationUtil.stringIsNullOrEmpty(value)) {
|
||||
return true;
|
||||
}
|
||||
var regExp = new RegExp(this._pattern);
|
||||
var matches = regExp.exec(value);
|
||||
return (!Sys.Mvc._validationUtil.arrayIsNullOrEmpty(matches) && matches[0].length === value.length);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Sys.Mvc.RequiredValidator
|
||||
|
||||
Sys.Mvc.RequiredValidator = function Sys_Mvc_RequiredValidator() {
|
||||
}
|
||||
Sys.Mvc.RequiredValidator.create = function Sys_Mvc_RequiredValidator$create(rule) {
|
||||
/// <param name="rule" type="Sys.Mvc.JsonValidationRule">
|
||||
/// </param>
|
||||
/// <returns type="Sys.Mvc.Validator"></returns>
|
||||
return Function.createDelegate(new Sys.Mvc.RequiredValidator(), new Sys.Mvc.RequiredValidator().validate);
|
||||
}
|
||||
Sys.Mvc.RequiredValidator._isRadioInputElement = function Sys_Mvc_RequiredValidator$_isRadioInputElement(element) {
|
||||
/// <param name="element" type="Object" domElement="true">
|
||||
/// </param>
|
||||
/// <returns type="Boolean"></returns>
|
||||
if (element.tagName.toUpperCase() === 'INPUT') {
|
||||
var inputType = (element.type).toUpperCase();
|
||||
if (inputType === 'RADIO') {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
Sys.Mvc.RequiredValidator._isSelectInputElement = function Sys_Mvc_RequiredValidator$_isSelectInputElement(element) {
|
||||
/// <param name="element" type="Object" domElement="true">
|
||||
/// </param>
|
||||
/// <returns type="Boolean"></returns>
|
||||
if (element.tagName.toUpperCase() === 'SELECT') {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
Sys.Mvc.RequiredValidator._isTextualInputElement = function Sys_Mvc_RequiredValidator$_isTextualInputElement(element) {
|
||||
/// <param name="element" type="Object" domElement="true">
|
||||
/// </param>
|
||||
/// <returns type="Boolean"></returns>
|
||||
if (element.tagName.toUpperCase() === 'INPUT') {
|
||||
var inputType = (element.type).toUpperCase();
|
||||
switch (inputType) {
|
||||
case 'TEXT':
|
||||
case 'PASSWORD':
|
||||
case 'FILE':
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if (element.tagName.toUpperCase() === 'TEXTAREA') {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
Sys.Mvc.RequiredValidator._validateRadioInput = function Sys_Mvc_RequiredValidator$_validateRadioInput(elements) {
|
||||
/// <param name="elements" type="Array" elementType="Object" elementDomElement="true">
|
||||
/// </param>
|
||||
/// <returns type="Object"></returns>
|
||||
for (var i = 0; i < elements.length; i++) {
|
||||
var element = elements[i];
|
||||
if (element.checked) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
Sys.Mvc.RequiredValidator._validateSelectInput = function Sys_Mvc_RequiredValidator$_validateSelectInput(optionElements) {
|
||||
/// <param name="optionElements" type="DOMElementCollection">
|
||||
/// </param>
|
||||
/// <returns type="Object"></returns>
|
||||
for (var i = 0; i < optionElements.length; i++) {
|
||||
var element = optionElements[i];
|
||||
if (element.selected) {
|
||||
if (!Sys.Mvc._validationUtil.stringIsNullOrEmpty(element.value)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
Sys.Mvc.RequiredValidator._validateTextualInput = function Sys_Mvc_RequiredValidator$_validateTextualInput(element) {
|
||||
/// <param name="element" type="Object" domElement="true">
|
||||
/// </param>
|
||||
/// <returns type="Object"></returns>
|
||||
return (!Sys.Mvc._validationUtil.stringIsNullOrEmpty(element.value));
|
||||
}
|
||||
Sys.Mvc.RequiredValidator.prototype = {
|
||||
|
||||
validate: function Sys_Mvc_RequiredValidator$validate(value, context) {
|
||||
/// <param name="value" type="String">
|
||||
/// </param>
|
||||
/// <param name="context" type="Sys.Mvc.ValidationContext">
|
||||
/// </param>
|
||||
/// <returns type="Object"></returns>
|
||||
var elements = context.fieldContext.elements;
|
||||
if (!elements.length) {
|
||||
return true;
|
||||
}
|
||||
var sampleElement = elements[0];
|
||||
if (Sys.Mvc.RequiredValidator._isTextualInputElement(sampleElement)) {
|
||||
return Sys.Mvc.RequiredValidator._validateTextualInput(sampleElement);
|
||||
}
|
||||
if (Sys.Mvc.RequiredValidator._isRadioInputElement(sampleElement)) {
|
||||
return Sys.Mvc.RequiredValidator._validateRadioInput(elements);
|
||||
}
|
||||
if (Sys.Mvc.RequiredValidator._isSelectInputElement(sampleElement)) {
|
||||
return Sys.Mvc.RequiredValidator._validateSelectInput((sampleElement).options);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Sys.Mvc.StringLengthValidator
|
||||
|
||||
Sys.Mvc.StringLengthValidator = function Sys_Mvc_StringLengthValidator(minLength, maxLength) {
|
||||
/// <param name="minLength" type="Number" integer="true">
|
||||
/// </param>
|
||||
/// <param name="maxLength" type="Number" integer="true">
|
||||
/// </param>
|
||||
/// <field name="_maxLength" type="Number" integer="true">
|
||||
/// </field>
|
||||
/// <field name="_minLength" type="Number" integer="true">
|
||||
/// </field>
|
||||
this._minLength = minLength;
|
||||
this._maxLength = maxLength;
|
||||
}
|
||||
Sys.Mvc.StringLengthValidator.create = function Sys_Mvc_StringLengthValidator$create(rule) {
|
||||
/// <param name="rule" type="Sys.Mvc.JsonValidationRule">
|
||||
/// </param>
|
||||
/// <returns type="Sys.Mvc.Validator"></returns>
|
||||
var minLength = rule.ValidationParameters['minimumLength'];
|
||||
var maxLength = rule.ValidationParameters['maximumLength'];
|
||||
return Function.createDelegate(new Sys.Mvc.StringLengthValidator(minLength, maxLength), new Sys.Mvc.StringLengthValidator(minLength, maxLength).validate);
|
||||
}
|
||||
Sys.Mvc.StringLengthValidator.prototype = {
|
||||
_maxLength: 0,
|
||||
_minLength: 0,
|
||||
|
||||
validate: function Sys_Mvc_StringLengthValidator$validate(value, context) {
|
||||
/// <param name="value" type="String">
|
||||
/// </param>
|
||||
/// <param name="context" type="Sys.Mvc.ValidationContext">
|
||||
/// </param>
|
||||
/// <returns type="Object"></returns>
|
||||
if (Sys.Mvc._validationUtil.stringIsNullOrEmpty(value)) {
|
||||
return true;
|
||||
}
|
||||
return (this._minLength <= value.length && value.length <= this._maxLength);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Sys.Mvc._validationUtil
|
||||
|
||||
Sys.Mvc._validationUtil = function Sys_Mvc__validationUtil() {
|
||||
}
|
||||
Sys.Mvc._validationUtil.arrayIsNullOrEmpty = function Sys_Mvc__validationUtil$arrayIsNullOrEmpty(array) {
|
||||
/// <param name="array" type="Array" elementType="Object">
|
||||
/// </param>
|
||||
/// <returns type="Boolean"></returns>
|
||||
return (!array || !array.length);
|
||||
}
|
||||
Sys.Mvc._validationUtil.stringIsNullOrEmpty = function Sys_Mvc__validationUtil$stringIsNullOrEmpty(value) {
|
||||
/// <param name="value" type="String">
|
||||
/// </param>
|
||||
/// <returns type="Boolean"></returns>
|
||||
return (!value || !value.length);
|
||||
}
|
||||
Sys.Mvc._validationUtil.elementSupportsEvent = function Sys_Mvc__validationUtil$elementSupportsEvent(element, eventAttributeName) {
|
||||
/// <param name="element" type="Object" domElement="true">
|
||||
/// </param>
|
||||
/// <param name="eventAttributeName" type="String">
|
||||
/// </param>
|
||||
/// <returns type="Boolean"></returns>
|
||||
return (eventAttributeName in element);
|
||||
}
|
||||
Sys.Mvc._validationUtil.removeAllChildren = function Sys_Mvc__validationUtil$removeAllChildren(element) {
|
||||
/// <param name="element" type="Object" domElement="true">
|
||||
/// </param>
|
||||
while (element.firstChild) {
|
||||
element.removeChild(element.firstChild);
|
||||
}
|
||||
}
|
||||
Sys.Mvc._validationUtil.setInnerText = function Sys_Mvc__validationUtil$setInnerText(element, innerText) {
|
||||
/// <param name="element" type="Object" domElement="true">
|
||||
/// </param>
|
||||
/// <param name="innerText" type="String">
|
||||
/// </param>
|
||||
var textNode = document.createTextNode(innerText);
|
||||
Sys.Mvc._validationUtil.removeAllChildren(element);
|
||||
element.appendChild(textNode);
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Sys.Mvc.ValidatorRegistry
|
||||
|
||||
Sys.Mvc.ValidatorRegistry = function Sys_Mvc_ValidatorRegistry() {
|
||||
/// <field name="validators" type="Object" static="true">
|
||||
/// </field>
|
||||
}
|
||||
Sys.Mvc.ValidatorRegistry.getValidator = function Sys_Mvc_ValidatorRegistry$getValidator(rule) {
|
||||
/// <param name="rule" type="Sys.Mvc.JsonValidationRule">
|
||||
/// </param>
|
||||
/// <returns type="Sys.Mvc.Validator"></returns>
|
||||
var creator = Sys.Mvc.ValidatorRegistry.validators[rule.ValidationType];
|
||||
return (creator) ? creator(rule) : null;
|
||||
}
|
||||
Sys.Mvc.ValidatorRegistry._getDefaultValidators = function Sys_Mvc_ValidatorRegistry$_getDefaultValidators() {
|
||||
/// <returns type="Object"></returns>
|
||||
return { required: Function.createDelegate(null, Sys.Mvc.RequiredValidator.create), stringLength: Function.createDelegate(null, Sys.Mvc.StringLengthValidator.create), regularExpression: Function.createDelegate(null, Sys.Mvc.RegularExpressionValidator.create), range: Function.createDelegate(null, Sys.Mvc.RangeValidator.create), number: Function.createDelegate(null, Sys.Mvc.NumberValidator.create) };
|
||||
}
|
||||
|
||||
|
||||
Sys.Mvc.NumberValidator.registerClass('Sys.Mvc.NumberValidator');
|
||||
Sys.Mvc.FormContext.registerClass('Sys.Mvc.FormContext');
|
||||
Sys.Mvc.FieldContext.registerClass('Sys.Mvc.FieldContext');
|
||||
Sys.Mvc.RangeValidator.registerClass('Sys.Mvc.RangeValidator');
|
||||
Sys.Mvc.RegularExpressionValidator.registerClass('Sys.Mvc.RegularExpressionValidator');
|
||||
Sys.Mvc.RequiredValidator.registerClass('Sys.Mvc.RequiredValidator');
|
||||
Sys.Mvc.StringLengthValidator.registerClass('Sys.Mvc.StringLengthValidator');
|
||||
Sys.Mvc._validationUtil.registerClass('Sys.Mvc._validationUtil');
|
||||
Sys.Mvc.ValidatorRegistry.registerClass('Sys.Mvc.ValidatorRegistry');
|
||||
Sys.Mvc.FormContext._validationSummaryErrorCss = 'validation-summary-errors';
|
||||
Sys.Mvc.FormContext._validationSummaryValidCss = 'validation-summary-valid';
|
||||
Sys.Mvc.FormContext._formValidationTag = '__MVC_FormValidation';
|
||||
Sys.Mvc.FieldContext._hasTextChangedTag = '__MVC_HasTextChanged';
|
||||
Sys.Mvc.FieldContext._hasValidationFiredTag = '__MVC_HasValidationFired';
|
||||
Sys.Mvc.FieldContext._inputElementErrorCss = 'input-validation-error';
|
||||
Sys.Mvc.FieldContext._inputElementValidCss = 'input-validation-valid';
|
||||
Sys.Mvc.FieldContext._validationMessageErrorCss = 'field-validation-error';
|
||||
Sys.Mvc.FieldContext._validationMessageValidCss = 'field-validation-valid';
|
||||
Sys.Mvc.ValidatorRegistry.validators = Sys.Mvc.ValidatorRegistry._getDefaultValidators();
|
||||
|
||||
// ---- Do not remove this footer ----
|
||||
// Generated using Script# v0.5.0.0 (http://projects.nikhilk.net)
|
||||
// -----------------------------------
|
||||
|
||||
// register validation
|
||||
Sys.Application.add_load(function() {
|
||||
Sys.Application.remove_load(arguments.callee);
|
||||
Sys.Mvc.FormContext._Application_Load();
|
||||
});
|
|
@ -1,54 +0,0 @@
|
|||
//----------------------------------------------------------
|
||||
// Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
//----------------------------------------------------------
|
||||
// MicrosoftMvcValidation.js
|
||||
|
||||
Type.registerNamespace('Sys.Mvc');Sys.Mvc.$create_Validation=function(){return {};}
|
||||
Sys.Mvc.$create_JsonValidationField=function(){return {};}
|
||||
Sys.Mvc.$create_JsonValidationOptions=function(){return {};}
|
||||
Sys.Mvc.$create_JsonValidationRule=function(){return {};}
|
||||
Sys.Mvc.$create_ValidationContext=function(){return {};}
|
||||
Sys.Mvc.NumberValidator=function(){}
|
||||
Sys.Mvc.NumberValidator.create=function(rule){return Function.createDelegate(new Sys.Mvc.NumberValidator(),new Sys.Mvc.NumberValidator().validate);}
|
||||
Sys.Mvc.NumberValidator.prototype={validate:function(value,context){if(Sys.Mvc._ValidationUtil.$1(value)){return true;}var $0=Number.parseLocale(value);return (!isNaN($0));}}
|
||||
Sys.Mvc.FormContext=function(formElement,validationSummaryElement){this.$5=[];this.fields=new Array(0);this.$9=formElement;this.$7=validationSummaryElement;formElement['__MVC_FormValidation'] = this;if(validationSummaryElement){var $0=validationSummaryElement.getElementsByTagName('ul');if($0.length>0){this.$8=$0[0];}}this.$3=Function.createDelegate(this,this.$D);this.$4=Function.createDelegate(this,this.$E);}
|
||||
Sys.Mvc.FormContext._Application_Load=function(){var $0=window.mvcClientValidationMetadata;if($0){while($0.length>0){var $1=$0.pop();Sys.Mvc.FormContext.$12($1);}}}
|
||||
Sys.Mvc.FormContext.$F=function($p0,$p1){var $0=[];var $1=document.getElementsByName($p1);for(var $2=0;$2<$1.length;$2++){var $3=$1[$2];if(Sys.Mvc.FormContext.$10($p0,$3)){Array.add($0,$3);}}return $0;}
|
||||
Sys.Mvc.FormContext.getValidationForForm=function(formElement){return formElement['__MVC_FormValidation'];}
|
||||
Sys.Mvc.FormContext.$10=function($p0,$p1){while($p1){if($p0===$p1){return true;}$p1=$p1.parentNode;}return false;}
|
||||
Sys.Mvc.FormContext.$12=function($p0){var $0=$get($p0.FormId);var $1=(!Sys.Mvc._ValidationUtil.$1($p0.ValidationSummaryId))?$get($p0.ValidationSummaryId):null;var $2=new Sys.Mvc.FormContext($0,$1);$2.enableDynamicValidation();$2.replaceValidationSummary=$p0.ReplaceValidationSummary;for(var $3=0;$3<$p0.Fields.length;$3++){var $4=$p0.Fields[$3];var $5=Sys.Mvc.FormContext.$F($0,$4.FieldName);var $6=(!Sys.Mvc._ValidationUtil.$1($4.ValidationMessageId))?$get($4.ValidationMessageId):null;var $7=new Sys.Mvc.FieldContext($2);Array.addRange($7.elements,$5);$7.validationMessageElement=$6;$7.replaceValidationMessageContents=$4.ReplaceValidationMessageContents;for(var $8=0;$8<$4.ValidationRules.length;$8++){var $9=$4.ValidationRules[$8];var $A=Sys.Mvc.ValidatorRegistry.getValidator($9);if($A){var $B=Sys.Mvc.$create_Validation();$B.fieldErrorMessage=$9.ErrorMessage;$B.validator=$A;Array.add($7.validations,$B);}}$7.enableDynamicValidation();Array.add($2.fields,$7);}return $2;}
|
||||
Sys.Mvc.FormContext.prototype={$3:null,$4:null,$6:null,$7:null,$8:null,$9:null,replaceValidationSummary:false,addError:function(message){this.addErrors([message]);},addErrors:function(messages){if(!Sys.Mvc._ValidationUtil.$0(messages)){Array.addRange(this.$5,messages);this.$11();}},clearErrors:function(){Array.clear(this.$5);this.$11();},$A:function(){if(this.$7){if(this.$8){Sys.Mvc._ValidationUtil.$3(this.$8);for(var $0=0;$0<this.$5.length;$0++){var $1=document.createElement('li');Sys.Mvc._ValidationUtil.$4($1,this.$5[$0]);this.$8.appendChild($1);}}Sys.UI.DomElement.removeCssClass(this.$7,'validation-summary-valid');Sys.UI.DomElement.addCssClass(this.$7,'validation-summary-errors');}},$B:function(){var $0=this.$7;if($0){var $1=this.$8;if($1){$1.innerHTML='';}Sys.UI.DomElement.removeCssClass($0,'validation-summary-errors');Sys.UI.DomElement.addCssClass($0,'validation-summary-valid');}},enableDynamicValidation:function(){Sys.UI.DomEvent.addHandler(this.$9,'click',this.$3);Sys.UI.DomEvent.addHandler(this.$9,'submit',this.$4);},$C:function($p0){if($p0.disabled){return null;}var $0=$p0.name;if($0){var $1=$p0.tagName.toUpperCase();var $2=encodeURIComponent($0);var $3=$p0;if($1==='INPUT'){var $4=$3.type;if($4==='submit'||$4==='image'){return $3;}}else if(($1==='BUTTON')&&($0.length)&&($3.type==='submit')){return $3;}}return null;},$D:function($p0){this.$6=this.$C($p0.target);},$E:function($p0){var $0=$p0.target;var $1=this.$6;if($1&&$1.disableValidation){return;}var $2=this.validate('submit');if(!Sys.Mvc._ValidationUtil.$0($2)){$p0.preventDefault();}},$11:function(){if(!this.$5.length){this.$B();}else{this.$A();}},validate:function(eventName){var $0=this.fields;var $1=[];for(var $2=0;$2<$0.length;$2++){var $3=$0[$2];var $4=$3.validate(eventName);if($4){Array.addRange($1,$4);}}if(this.replaceValidationSummary){this.clearErrors();this.addErrors($1);}return $1;}}
|
||||
Sys.Mvc.FieldContext=function(formContext){this.$A=[];this.elements=new Array(0);this.validations=new Array(0);this.formContext=formContext;this.$6=Function.createDelegate(this,this.$D);this.$7=Function.createDelegate(this,this.$E);this.$8=Function.createDelegate(this,this.$F);this.$9=Function.createDelegate(this,this.$10);}
|
||||
Sys.Mvc.FieldContext.prototype={$6:null,$7:null,$8:null,$9:null,defaultErrorMessage:null,formContext:null,replaceValidationMessageContents:false,validationMessageElement:null,addError:function(message){this.addErrors([message]);},addErrors:function(messages){if(!Sys.Mvc._ValidationUtil.$0(messages)){Array.addRange(this.$A,messages);this.$14();}},clearErrors:function(){Array.clear(this.$A);this.$14();},$B:function(){var $0=this.validationMessageElement;if($0){if(this.replaceValidationMessageContents){Sys.Mvc._ValidationUtil.$4($0,this.$A[0]);}Sys.UI.DomElement.removeCssClass($0,'field-validation-valid');Sys.UI.DomElement.addCssClass($0,'field-validation-error');}var $1=this.elements;for(var $2=0;$2<$1.length;$2++){var $3=$1[$2];Sys.UI.DomElement.removeCssClass($3,'input-validation-valid');Sys.UI.DomElement.addCssClass($3,'input-validation-error');}},$C:function(){var $0=this.validationMessageElement;if($0){if(this.replaceValidationMessageContents){Sys.Mvc._ValidationUtil.$4($0,'');}Sys.UI.DomElement.removeCssClass($0,'field-validation-error');Sys.UI.DomElement.addCssClass($0,'field-validation-valid');}var $1=this.elements;for(var $2=0;$2<$1.length;$2++){var $3=$1[$2];Sys.UI.DomElement.removeCssClass($3,'input-validation-error');Sys.UI.DomElement.addCssClass($3,'input-validation-valid');}},$D:function($p0){if($p0.target['__MVC_HasTextChanged']||$p0.target['__MVC_HasValidationFired']){this.validate('blur');}},$E:function($p0){$p0.target['__MVC_HasTextChanged'] = true;},$F:function($p0){$p0.target['__MVC_HasTextChanged'] = true;if($p0.target['__MVC_HasValidationFired']){this.validate('input');}},$10:function($p0){if($p0.rawEvent.propertyName==='value'){$p0.target['__MVC_HasTextChanged'] = true;if($p0.target['__MVC_HasValidationFired']){this.validate('input');}}},enableDynamicValidation:function(){var $0=this.elements;for(var $1=0;$1<$0.length;$1++){var $2=$0[$1];if(Sys.Mvc._ValidationUtil.$2($2,'onpropertychange')){Sys.UI.DomEvent.addHandler($2,'propertychange',this.$9);}else{Sys.UI.DomEvent.addHandler($2,'input',this.$8);}Sys.UI.DomEvent.addHandler($2,'change',this.$7);Sys.UI.DomEvent.addHandler($2,'blur',this.$6);}},$11:function($p0,$p1){var $0=$p1||this.defaultErrorMessage;if(Boolean.isInstanceOfType($p0)){return ($p0)?null:$0;}if(String.isInstanceOfType($p0)){return (($p0).length)?$p0:$0;}return null;},$12:function(){var $0=this.elements;return ($0.length>0)?$0[0].value:null;},$13:function(){var $0=this.elements;for(var $1=0;$1<$0.length;$1++){var $2=$0[$1];$2['__MVC_HasValidationFired'] = true;}},$14:function(){if(!this.$A.length){this.$C();}else{this.$B();}},validate:function(eventName){var $0=this.validations;var $1=[];var $2=this.$12();for(var $3=0;$3<$0.length;$3++){var $4=$0[$3];var $5=Sys.Mvc.$create_ValidationContext();$5.eventName=eventName;$5.fieldContext=this;$5.validation=$4;var $6=$4.validator($2,$5);var $7=this.$11($6,$4.fieldErrorMessage);if(!Sys.Mvc._ValidationUtil.$1($7)){Array.add($1,$7);}}this.$13();this.clearErrors();this.addErrors($1);return $1;}}
|
||||
Sys.Mvc.RangeValidator=function(minimum,maximum){this.$0=minimum;this.$1=maximum;}
|
||||
Sys.Mvc.RangeValidator.create=function(rule){var $0=rule.ValidationParameters['minimum'];var $1=rule.ValidationParameters['maximum'];return Function.createDelegate(new Sys.Mvc.RangeValidator($0,$1),new Sys.Mvc.RangeValidator($0,$1).validate);}
|
||||
Sys.Mvc.RangeValidator.prototype={$0:null,$1:null,validate:function(value,context){if(Sys.Mvc._ValidationUtil.$1(value)){return true;}var $0=Number.parseLocale(value);return (!isNaN($0)&&this.$0<=$0&&$0<=this.$1);}}
|
||||
Sys.Mvc.RegularExpressionValidator=function(pattern){this.$0=pattern;}
|
||||
Sys.Mvc.RegularExpressionValidator.create=function(rule){var $0=rule.ValidationParameters['pattern'];return Function.createDelegate(new Sys.Mvc.RegularExpressionValidator($0),new Sys.Mvc.RegularExpressionValidator($0).validate);}
|
||||
Sys.Mvc.RegularExpressionValidator.prototype={$0:null,validate:function(value,context){if(Sys.Mvc._ValidationUtil.$1(value)){return true;}var $0=new RegExp(this.$0);var $1=$0.exec(value);return (!Sys.Mvc._ValidationUtil.$0($1)&&$1[0].length===value.length);}}
|
||||
Sys.Mvc.RequiredValidator=function(){}
|
||||
Sys.Mvc.RequiredValidator.create=function(rule){return Function.createDelegate(new Sys.Mvc.RequiredValidator(),new Sys.Mvc.RequiredValidator().validate);}
|
||||
Sys.Mvc.RequiredValidator.$0=function($p0){if($p0.tagName.toUpperCase()==='INPUT'){var $0=($p0.type).toUpperCase();if($0==='RADIO'){return true;}}return false;}
|
||||
Sys.Mvc.RequiredValidator.$1=function($p0){if($p0.tagName.toUpperCase()==='SELECT'){return true;}return false;}
|
||||
Sys.Mvc.RequiredValidator.$2=function($p0){if($p0.tagName.toUpperCase()==='INPUT'){var $0=($p0.type).toUpperCase();switch($0){case 'TEXT':case 'PASSWORD':case 'FILE':return true;}}if($p0.tagName.toUpperCase()==='TEXTAREA'){return true;}return false;}
|
||||
Sys.Mvc.RequiredValidator.$3=function($p0){for(var $0=0;$0<$p0.length;$0++){var $1=$p0[$0];if($1.checked){return true;}}return false;}
|
||||
Sys.Mvc.RequiredValidator.$4=function($p0){for(var $0=0;$0<$p0.length;$0++){var $1=$p0[$0];if($1.selected){if(!Sys.Mvc._ValidationUtil.$1($1.value)){return true;}}}return false;}
|
||||
Sys.Mvc.RequiredValidator.$5=function($p0){return (!Sys.Mvc._ValidationUtil.$1($p0.value));}
|
||||
Sys.Mvc.RequiredValidator.prototype={validate:function(value,context){var $0=context.fieldContext.elements;if(!$0.length){return true;}var $1=$0[0];if(Sys.Mvc.RequiredValidator.$2($1)){return Sys.Mvc.RequiredValidator.$5($1);}if(Sys.Mvc.RequiredValidator.$0($1)){return Sys.Mvc.RequiredValidator.$3($0);}if(Sys.Mvc.RequiredValidator.$1($1)){return Sys.Mvc.RequiredValidator.$4(($1).options);}return true;}}
|
||||
Sys.Mvc.StringLengthValidator=function(minLength,maxLength){this.$1=minLength;this.$0=maxLength;}
|
||||
Sys.Mvc.StringLengthValidator.create=function(rule){var $0=rule.ValidationParameters['minimumLength'];var $1=rule.ValidationParameters['maximumLength'];return Function.createDelegate(new Sys.Mvc.StringLengthValidator($0,$1),new Sys.Mvc.StringLengthValidator($0,$1).validate);}
|
||||
Sys.Mvc.StringLengthValidator.prototype={$0:0,$1:0,validate:function(value,context){if(Sys.Mvc._ValidationUtil.$1(value)){return true;}return (this.$1<=value.length&&value.length<=this.$0);}}
|
||||
Sys.Mvc._ValidationUtil=function(){}
|
||||
Sys.Mvc._ValidationUtil.$0=function($p0){return (!$p0||!$p0.length);}
|
||||
Sys.Mvc._ValidationUtil.$1=function($p0){return (!$p0||!$p0.length);}
|
||||
Sys.Mvc._ValidationUtil.$2=function($p0,$p1){return ($p1 in $p0);}
|
||||
Sys.Mvc._ValidationUtil.$3=function($p0){while($p0.firstChild){$p0.removeChild($p0.firstChild);}}
|
||||
Sys.Mvc._ValidationUtil.$4=function($p0,$p1){var $0=document.createTextNode($p1);Sys.Mvc._ValidationUtil.$3($p0);$p0.appendChild($0);}
|
||||
Sys.Mvc.ValidatorRegistry=function(){}
|
||||
Sys.Mvc.ValidatorRegistry.getValidator=function(rule){var $0=Sys.Mvc.ValidatorRegistry.validators[rule.ValidationType];return ($0)?$0(rule):null;}
|
||||
Sys.Mvc.ValidatorRegistry.$0=function(){return {required:Function.createDelegate(null,Sys.Mvc.RequiredValidator.create),stringLength:Function.createDelegate(null,Sys.Mvc.StringLengthValidator.create),regularExpression:Function.createDelegate(null,Sys.Mvc.RegularExpressionValidator.create),range:Function.createDelegate(null,Sys.Mvc.RangeValidator.create),number:Function.createDelegate(null,Sys.Mvc.NumberValidator.create)};}
|
||||
Sys.Mvc.NumberValidator.registerClass('Sys.Mvc.NumberValidator');Sys.Mvc.FormContext.registerClass('Sys.Mvc.FormContext');Sys.Mvc.FieldContext.registerClass('Sys.Mvc.FieldContext');Sys.Mvc.RangeValidator.registerClass('Sys.Mvc.RangeValidator');Sys.Mvc.RegularExpressionValidator.registerClass('Sys.Mvc.RegularExpressionValidator');Sys.Mvc.RequiredValidator.registerClass('Sys.Mvc.RequiredValidator');Sys.Mvc.StringLengthValidator.registerClass('Sys.Mvc.StringLengthValidator');Sys.Mvc._ValidationUtil.registerClass('Sys.Mvc._ValidationUtil');Sys.Mvc.ValidatorRegistry.registerClass('Sys.Mvc.ValidatorRegistry');Sys.Mvc.ValidatorRegistry.validators=Sys.Mvc.ValidatorRegistry.$0();
|
||||
// ---- Do not remove this footer ----
|
||||
// Generated using Script# v0.5.0.0 (http://projects.nikhilk.net)
|
||||
// -----------------------------------
|
||||
Sys.Application.add_load(function(){Sys.Application.remove_load(arguments.callee);Sys.Mvc.FormContext._Application_Load();});
|
|
@ -1,11 +0,0 @@
|
|||
using UsageDataAnalysisWebClient.Repositories;
|
||||
|
||||
namespace UsageDataAnalysisWebClient.Services {
|
||||
public class ExceptionGroupService {
|
||||
public ExceptionGroupService(IExceptionGroupRepository exceptionGroupRepository, IExceptionGroupMapper exceptionGroupMapper) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public interface IExceptionGroupMapper {}
|
||||
}
|
|
@ -1,282 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>
|
||||
</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{63F7336F-D21F-403B-A9C4-22E3338F08D0}</ProjectGuid>
|
||||
<ProjectTypeGuids>{F85E285D-A4E0-4152-9332-AB1D724D3325};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>UsageDataAnalysisWebClient</RootNamespace>
|
||||
<AssemblyName>UsageDataAnalysisWebClient</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<MvcBuildViews>true</MvcBuildViews>
|
||||
<UseIISExpress>false</UseIISExpress>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Elmah">
|
||||
<HintPath>..\packages\elmah.corelibrary.1.2.1\lib\Elmah.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Data.Entity" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Runtime.Serialization" />
|
||||
<Reference Include="System.Security" />
|
||||
<Reference Include="System.Web.DataVisualization" />
|
||||
<Reference Include="System.Web.DynamicData" />
|
||||
<Reference Include="System.Web.Entity" />
|
||||
<Reference Include="System.Web.ApplicationServices" />
|
||||
<Reference Include="System.ComponentModel.DataAnnotations">
|
||||
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||
</Reference>
|
||||
<Reference Include="System.Core">
|
||||
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||
</Reference>
|
||||
<Reference Include="System.Data.DataSetExtensions">
|
||||
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||
</Reference>
|
||||
<Reference Include="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 2\Assemblies\System.Web.Mvc.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Web.Routing" />
|
||||
<Reference Include="System.Xml.Linq">
|
||||
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||
</Reference>
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Web.Extensions">
|
||||
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||
</Reference>
|
||||
<Reference Include="System.Web.Abstractions" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="System.Configuration" />
|
||||
<Reference Include="System.Web.Services" />
|
||||
<Reference Include="System.EnterpriseServices" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Areas\Admin\AdminAreaRegistration.cs" />
|
||||
<Compile Include="Areas\Admin\Controllers\ElmahController.cs" />
|
||||
<Compile Include="Controllers\AccountController.cs" />
|
||||
<Compile Include="Controllers\EnvironmentController.cs" />
|
||||
<Compile Include="Controllers\ExceptionGroupController.cs" />
|
||||
<Compile Include="Controllers\FeatureController.cs" />
|
||||
<Compile Include="Controllers\HomeController.cs" />
|
||||
<Compile Include="Controllers\StabilityController.cs" />
|
||||
<Compile Include="Controllers\UsageController.cs" />
|
||||
<Compile Include="Global.asax.cs">
|
||||
<DependentUpon>Global.asax</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Membership\WebConfigMembershipProvider.cs" />
|
||||
<Compile Include="Models\AccountModels.cs" />
|
||||
<Compile Include="Models\EnvironmentDataModel.cs" />
|
||||
<Compile Include="Models\ExceptionGroupEditModel.cs" />
|
||||
<Compile Include="Models\ExceptionGroupIndexModel.cs" />
|
||||
<Compile Include="Models\ExceptionModel.cs" />
|
||||
<Compile Include="Models\FeatureIndexModel.cs" />
|
||||
<Compile Include="Models\UsageModel.cs" />
|
||||
<Compile Include="Models\UsageDataAnalysis.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>UsageDataAnalysis.edmx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Repositories\ExceptionGroupRepository.cs" />
|
||||
<Compile Include="Repositories\FeatureRepository.cs" />
|
||||
<Compile Include="Repositories\IExceptionGroupRepository.cs" />
|
||||
<Compile Include="Repositories\SourceControlRepository.cs" />
|
||||
<Compile Include="Repositories\VersionNameComparer.cs" />
|
||||
<Compile Include="Services\ExceptionGroupService.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="css\js\ftod.js" />
|
||||
<Content Include="css\js\lib\jquery-1.3.2.js" />
|
||||
<Content Include="css\js\lib\jquery-1.3.2.min.js" />
|
||||
<Content Include="css\js\minmax.js" />
|
||||
<Content Include="css\layout_2col_left_31.css" />
|
||||
<Content Include="css\patches\patch_2col_left_13.css" />
|
||||
<Content Include="css\patches\patch_2col_left_31.css" />
|
||||
<Content Include="css\patches\patch_2col_right_13.css" />
|
||||
<Content Include="css\patches\patch_2col_right_31.css" />
|
||||
<Content Include="css\screen\basemod.css" />
|
||||
<Content Include="css\screen\basemod_2col_left_13.css" />
|
||||
<Content Include="css\screen\basemod_2col_left_31.css" />
|
||||
<Content Include="css\screen\basemod_2col_right_13.css" />
|
||||
<Content Include="css\screen\basemod_2col_right_31.css" />
|
||||
<Content Include="css\screen\content.css" />
|
||||
<Content Include="css\yaml\add-ons\accessible-tabs\jquery.tabs.js" />
|
||||
<Content Include="css\yaml\add-ons\accessible-tabs\tabs.css" />
|
||||
<Content Include="css\yaml\add-ons\microformats\images\external_link.png" />
|
||||
<Content Include="css\yaml\add-ons\microformats\images\hcalendar.png" />
|
||||
<Content Include="css\yaml\add-ons\microformats\images\hcard.png" />
|
||||
<Content Include="css\yaml\add-ons\microformats\images\icon-geo.png" />
|
||||
<Content Include="css\yaml\add-ons\microformats\images\icon-hatom.png" />
|
||||
<Content Include="css\yaml\add-ons\microformats\images\icon-haudio.png" />
|
||||
<Content Include="css\yaml\add-ons\microformats\images\icon-hcalendar-add.png" />
|
||||
<Content Include="css\yaml\add-ons\microformats\images\icon-hcalendar-download.png" />
|
||||
<Content Include="css\yaml\add-ons\microformats\images\icon-hcalendar.png" />
|
||||
<Content Include="css\yaml\add-ons\microformats\images\icon-hcard-add.png" />
|
||||
<Content Include="css\yaml\add-ons\microformats\images\icon-hcard-download.png" />
|
||||
<Content Include="css\yaml\add-ons\microformats\images\icon-hcard.png" />
|
||||
<Content Include="css\yaml\add-ons\microformats\images\icon-hresume.png" />
|
||||
<Content Include="css\yaml\add-ons\microformats\images\icon-rel-tag.png" />
|
||||
<Content Include="css\yaml\add-ons\microformats\images\icon-xfn.png" />
|
||||
<Content Include="css\yaml\add-ons\microformats\images\xfn\xfn-child.png" />
|
||||
<Content Include="css\yaml\add-ons\microformats\images\xfn\xfn-colleague-met.png" />
|
||||
<Content Include="css\yaml\add-ons\microformats\images\xfn\xfn-colleague.png" />
|
||||
<Content Include="css\yaml\add-ons\microformats\images\xfn\xfn-friend-met.png" />
|
||||
<Content Include="css\yaml\add-ons\microformats\images\xfn\xfn-friend.png" />
|
||||
<Content Include="css\yaml\add-ons\microformats\images\xfn\xfn-me.png" />
|
||||
<Content Include="css\yaml\add-ons\microformats\images\xfn\xfn-parent.png" />
|
||||
<Content Include="css\yaml\add-ons\microformats\images\xfn\xfn-small.png" />
|
||||
<Content Include="css\yaml\add-ons\microformats\images\xfn\xfn-spouse.png" />
|
||||
<Content Include="css\yaml\add-ons\microformats\images\xfn\xfn-sweetheart-met.png" />
|
||||
<Content Include="css\yaml\add-ons\microformats\images\xfn\xfn-sweetheart.png" />
|
||||
<Content Include="css\yaml\add-ons\microformats\microformats.css" />
|
||||
<Content Include="css\yaml\add-ons\rtl-support\core\base-rtl.css" />
|
||||
<Content Include="css\yaml\add-ons\rtl-support\core\iehacks-rtl.css" />
|
||||
<Content Include="css\yaml\add-ons\rtl-support\core\slim_base-rtl.css" />
|
||||
<Content Include="css\yaml\add-ons\rtl-support\core\slim_iehacks-rtl.css" />
|
||||
<Content Include="css\yaml\add-ons\rtl-support\navigation\nav_shinybuttons-rtl.css" />
|
||||
<Content Include="css\yaml\add-ons\rtl-support\navigation\nav_slidingdoor-rtl.css" />
|
||||
<Content Include="css\yaml\add-ons\rtl-support\navigation\nav_vlist-rtl.css" />
|
||||
<Content Include="css\yaml\add-ons\syncheight\jquery.syncheight.js" />
|
||||
<Content Include="css\yaml\central_draft.css" />
|
||||
<Content Include="css\yaml\core\base.css" />
|
||||
<Content Include="css\yaml\core\iehacks.css" />
|
||||
<Content Include="css\yaml\core\js\yaml-focusfix.js" />
|
||||
<Content Include="css\yaml\core\slim_base.css" />
|
||||
<Content Include="css\yaml\core\slim_iehacks.css" />
|
||||
<Content Include="css\yaml\markup_draft.html" />
|
||||
<Content Include="css\yaml\navigation\images\shiny_buttons\background.png" />
|
||||
<Content Include="css\yaml\navigation\images\shiny_buttons\background_active.png" />
|
||||
<Content Include="css\yaml\navigation\images\sliding_door\round\bg.gif" />
|
||||
<Content Include="css\yaml\navigation\images\sliding_door\round\left.png" />
|
||||
<Content Include="css\yaml\navigation\images\sliding_door\round\left_on.png" />
|
||||
<Content Include="css\yaml\navigation\images\sliding_door\round\right.png" />
|
||||
<Content Include="css\yaml\navigation\images\sliding_door\round\right_on.png" />
|
||||
<Content Include="css\yaml\navigation\images\vlist\square\node.gif" />
|
||||
<Content Include="css\yaml\navigation\images\vlist\square\node_minus.gif" />
|
||||
<Content Include="css\yaml\navigation\images\vlist\square\node_plus.gif" />
|
||||
<Content Include="css\yaml\navigation\images\vlist\square\subnode.gif" />
|
||||
<Content Include="css\yaml\navigation\images\vlist\square\subnode_minus.gif" />
|
||||
<Content Include="css\yaml\navigation\images\vlist\square\subnode_plus.gif" />
|
||||
<Content Include="css\yaml\navigation\nav_shinybuttons.css" />
|
||||
<Content Include="css\yaml\navigation\nav_slidingdoor.css" />
|
||||
<Content Include="css\yaml\navigation\nav_vlist.css" />
|
||||
<Content Include="css\yaml\patches\patch_layout_draft.css" />
|
||||
<Content Include="css\yaml\patches\patch_nav_vlist.css" />
|
||||
<Content Include="css\yaml\print\print_003_draft.css" />
|
||||
<Content Include="css\yaml\print\print_020_draft.css" />
|
||||
<Content Include="css\yaml\print\print_023_draft.css" />
|
||||
<Content Include="css\yaml\print\print_100_draft.css" />
|
||||
<Content Include="css\yaml\print\print_103_draft.css" />
|
||||
<Content Include="css\yaml\print\print_120_draft.css" />
|
||||
<Content Include="css\yaml\print\print_123_draft.css" />
|
||||
<Content Include="css\yaml\print\print_draft.css" />
|
||||
<Content Include="css\yaml\screen\basemod_draft.css" />
|
||||
<Content Include="css\yaml\screen\content_default.css" />
|
||||
<Content Include="css\yaml\screen\forms.css" />
|
||||
<Content Include="css\yaml\screen\images\button_gray.png" />
|
||||
<Content Include="css\yaml\screen\images\button_red.png" />
|
||||
<Content Include="css\yaml\screen\images\button_yellow.png" />
|
||||
<Content Include="Global.asax" />
|
||||
<Content Include="images\bg_blue.png" />
|
||||
<Content Include="Scripts\jquery-1.3.2-vsdoc.js" />
|
||||
<Content Include="Scripts\jquery-1.3.2.js" />
|
||||
<Content Include="Scripts\jquery-1.3.2.min.js" />
|
||||
<Content Include="Scripts\jquery.validate-vsdoc.js" />
|
||||
<Content Include="Scripts\jquery.validate.js" />
|
||||
<Content Include="Scripts\jquery.validate.min.js" />
|
||||
<Content Include="Scripts\MicrosoftAjax.debug.js" />
|
||||
<Content Include="Scripts\MicrosoftAjax.js" />
|
||||
<Content Include="Scripts\MicrosoftMvcAjax.debug.js" />
|
||||
<Content Include="Scripts\MicrosoftMvcAjax.js" />
|
||||
<Content Include="Scripts\MicrosoftMvcValidation.debug.js" />
|
||||
<Content Include="Scripts\MicrosoftMvcValidation.js" />
|
||||
<Content Include="Views\Account\ChangePassword.aspx" />
|
||||
<Content Include="Views\Account\ChangePasswordSuccess.aspx" />
|
||||
<Content Include="Views\Account\LogOn.aspx" />
|
||||
<Content Include="Views\Account\Register.aspx" />
|
||||
<Content Include="Views\Environment\Index.aspx" />
|
||||
<Content Include="Views\ExceptionGroup\Edit.aspx" />
|
||||
<Content Include="Views\ExceptionGroup\Index.aspx" />
|
||||
<Content Include="Views\Feature\Index.aspx" />
|
||||
<Content Include="Views\Home\Index.aspx" />
|
||||
<Content Include="Views\Stability\Index.aspx" />
|
||||
<Content Include="Views\Usage\Index.aspx" />
|
||||
<Content Include="Web.config">
|
||||
<SubType>Designer</SubType>
|
||||
</Content>
|
||||
<Content Include="Web.Debug.config">
|
||||
<DependentUpon>Web.config</DependentUpon>
|
||||
</Content>
|
||||
<Content Include="Web.Release.config">
|
||||
<DependentUpon>Web.config</DependentUpon>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Views\Shared\UsageDataAnalysis.Master" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Views\Web.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EntityDeploy Include="Models\UsageDataAnalysis.edmx">
|
||||
<Generator>EntityModelCodeGenerator</Generator>
|
||||
<LastGenOutput>UsageDataAnalysis.Designer.cs</LastGenOutput>
|
||||
</EntityDeploy>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target> -->
|
||||
<Target Name="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
|
||||
<AspNetCompiler VirtualPath="temp" PhysicalPath="$(ProjectDir)" />
|
||||
</Target>
|
||||
<ProjectExtensions>
|
||||
<VisualStudio>
|
||||
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
|
||||
<WebProjectProperties>
|
||||
<UseIIS>False</UseIIS>
|
||||
<AutoAssignPort>True</AutoAssignPort>
|
||||
<DevelopmentServerPort>1398</DevelopmentServerPort>
|
||||
<DevelopmentServerVPath>/</DevelopmentServerVPath>
|
||||
<IISUrl>
|
||||
</IISUrl>
|
||||
<NTLMAuthentication>False</NTLMAuthentication>
|
||||
<UseCustomServer>False</UseCustomServer>
|
||||
<CustomServerUrl>
|
||||
</CustomServerUrl>
|
||||
<SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
|
||||
</WebProjectProperties>
|
||||
</FlavorProperties>
|
||||
</VisualStudio>
|
||||
</ProjectExtensions>
|
||||
</Project>
|
|
@ -1,52 +0,0 @@
|
|||
<%@ Page Language="C#" MasterPageFile="~/Views/Shared/UsageDataAnalysis.Master" Inherits="System.Web.Mvc.ViewPage<UsageDataAnalysisWebClient.Models.ChangePasswordModel>" %>
|
||||
|
||||
<asp:Content ID="changePasswordTitle" ContentPlaceHolderID="TitleContent" runat="server">
|
||||
Change Password
|
||||
</asp:Content>
|
||||
|
||||
<asp:Content ID="changePasswordContent" ContentPlaceHolderID="MainContent" runat="server">
|
||||
<h2>Change Password</h2>
|
||||
<p>
|
||||
Use the form below to change your password.
|
||||
</p>
|
||||
<p>
|
||||
New passwords are required to be a minimum of <%: ViewData["PasswordLength"] %> characters in length.
|
||||
</p>
|
||||
|
||||
<% using (Html.BeginForm()) { %>
|
||||
<%: Html.ValidationSummary(true, "Password change was unsuccessful. Please correct the errors and try again.") %>
|
||||
<div>
|
||||
<fieldset>
|
||||
<legend>Account Information</legend>
|
||||
|
||||
<div class="editor-label">
|
||||
<%: Html.LabelFor(m => m.OldPassword) %>
|
||||
</div>
|
||||
<div class="editor-field">
|
||||
<%: Html.PasswordFor(m => m.OldPassword) %>
|
||||
<%: Html.ValidationMessageFor(m => m.OldPassword) %>
|
||||
</div>
|
||||
|
||||
<div class="editor-label">
|
||||
<%: Html.LabelFor(m => m.NewPassword) %>
|
||||
</div>
|
||||
<div class="editor-field">
|
||||
<%: Html.PasswordFor(m => m.NewPassword) %>
|
||||
<%: Html.ValidationMessageFor(m => m.NewPassword) %>
|
||||
</div>
|
||||
|
||||
<div class="editor-label">
|
||||
<%: Html.LabelFor(m => m.ConfirmPassword) %>
|
||||
</div>
|
||||
<div class="editor-field">
|
||||
<%: Html.PasswordFor(m => m.ConfirmPassword) %>
|
||||
<%: Html.ValidationMessageFor(m => m.ConfirmPassword) %>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
<input type="submit" value="Change Password" />
|
||||
</p>
|
||||
</fieldset>
|
||||
</div>
|
||||
<% } %>
|
||||
</asp:Content>
|
|
@ -1,12 +0,0 @@
|
|||
<%@Language="C#" MasterPageFile="~/Views/Shared/UsageDataAnalysis.Master" Inherits="System.Web.Mvc.ViewPage" %>
|
||||
|
||||
<asp:Content ID="changePasswordTitle" ContentPlaceHolderID="TitleContent" runat="server">
|
||||
Change Password
|
||||
</asp:Content>
|
||||
|
||||
<asp:Content ID="changePasswordSuccessContent" ContentPlaceHolderID="MainContent" runat="server">
|
||||
<h2>Change Password</h2>
|
||||
<p>
|
||||
Your password has been changed successfully.
|
||||
</p>
|
||||
</asp:Content>
|
|
@ -1,46 +0,0 @@
|
|||
<%@ Page Language="C#" MasterPageFile="~/Views/Shared/UsageDataAnalysis.Master" Inherits="System.Web.Mvc.ViewPage<UsageDataAnalysisWebClient.Models.LogOnModel>" %>
|
||||
|
||||
<asp:Content ID="loginTitle" ContentPlaceHolderID="TitleContent" runat="server">
|
||||
Log On
|
||||
</asp:Content>
|
||||
|
||||
<asp:Content ID="loginContent" ContentPlaceHolderID="MainContent" runat="server">
|
||||
<h2>Log On</h2>
|
||||
<p>
|
||||
Please enter your username and password. <%: Html.ActionLink("Register", "Register") %> if you don't have an account.
|
||||
</p>
|
||||
|
||||
<% using (Html.BeginForm()) { %>
|
||||
<%: Html.ValidationSummary(true, "Login was unsuccessful. Please correct the errors and try again.") %>
|
||||
<div>
|
||||
<fieldset>
|
||||
<legend>Account Information</legend>
|
||||
|
||||
<div class="editor-label">
|
||||
<%: Html.LabelFor(m => m.UserName) %>
|
||||
</div>
|
||||
<div class="editor-field">
|
||||
<%: Html.TextBoxFor(m => m.UserName) %>
|
||||
<%: Html.ValidationMessageFor(m => m.UserName) %>
|
||||
</div>
|
||||
|
||||
<div class="editor-label">
|
||||
<%: Html.LabelFor(m => m.Password) %>
|
||||
</div>
|
||||
<div class="editor-field">
|
||||
<%: Html.PasswordFor(m => m.Password) %>
|
||||
<%: Html.ValidationMessageFor(m => m.Password) %>
|
||||
</div>
|
||||
|
||||
<div class="editor-label">
|
||||
<%: Html.CheckBoxFor(m => m.RememberMe) %>
|
||||
<%: Html.LabelFor(m => m.RememberMe) %>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
<input type="submit" value="Log On" />
|
||||
</p>
|
||||
</fieldset>
|
||||
</div>
|
||||
<% } %>
|
||||
</asp:Content>
|
|
@ -1,60 +0,0 @@
|
|||
<%@ Page Language="C#" MasterPageFile="~/Views/Shared/UsageDataAnalysis.Master" Inherits="System.Web.Mvc.ViewPage<UsageDataAnalysisWebClient.Models.RegisterModel>" %>
|
||||
|
||||
<asp:Content ID="registerTitle" ContentPlaceHolderID="TitleContent" runat="server">
|
||||
Register
|
||||
</asp:Content>
|
||||
|
||||
<asp:Content ID="registerContent" ContentPlaceHolderID="MainContent" runat="server">
|
||||
<h2>Create a New Account</h2>
|
||||
<p>
|
||||
Use the form below to create a new account.
|
||||
</p>
|
||||
<p>
|
||||
Passwords are required to be a minimum of <%: ViewData["PasswordLength"] %> characters in length.
|
||||
</p>
|
||||
|
||||
<% using (Html.BeginForm()) { %>
|
||||
<%: Html.ValidationSummary(true, "Account creation was unsuccessful. Please correct the errors and try again.") %>
|
||||
<div>
|
||||
<fieldset>
|
||||
<legend>Account Information</legend>
|
||||
|
||||
<div class="editor-label">
|
||||
<%: Html.LabelFor(m => m.UserName) %>
|
||||
</div>
|
||||
<div class="editor-field">
|
||||
<%: Html.TextBoxFor(m => m.UserName) %>
|
||||
<%: Html.ValidationMessageFor(m => m.UserName) %>
|
||||
</div>
|
||||
|
||||
<div class="editor-label">
|
||||
<%: Html.LabelFor(m => m.Email) %>
|
||||
</div>
|
||||
<div class="editor-field">
|
||||
<%: Html.TextBoxFor(m => m.Email) %>
|
||||
<%: Html.ValidationMessageFor(m => m.Email) %>
|
||||
</div>
|
||||
|
||||
<div class="editor-label">
|
||||
<%: Html.LabelFor(m => m.Password) %>
|
||||
</div>
|
||||
<div class="editor-field">
|
||||
<%: Html.PasswordFor(m => m.Password) %>
|
||||
<%: Html.ValidationMessageFor(m => m.Password) %>
|
||||
</div>
|
||||
|
||||
<div class="editor-label">
|
||||
<%: Html.LabelFor(m => m.ConfirmPassword) %>
|
||||
</div>
|
||||
<div class="editor-field">
|
||||
<%: Html.PasswordFor(m => m.ConfirmPassword) %>
|
||||
<%: Html.ValidationMessageFor(m => m.ConfirmPassword) %>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
<input type="submit" value="Register" />
|
||||
</p>
|
||||
</fieldset>
|
||||
</div>
|
||||
<% } %>
|
||||
</asp:Content>
|
|
@ -1,21 +0,0 @@
|
|||
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/UsageDataAnalysis.Master" Inherits="System.Web.Mvc.ViewPage<UsageDataAnalysisWebClient.Models.EnvironmentViewModel>" %>
|
||||
|
||||
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
|
||||
Environment
|
||||
</asp:Content>
|
||||
|
||||
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
|
||||
<% using (Html.BeginForm()) { %>
|
||||
Show data from <%: Html.EditorFor(model => model.StartDate)%> to <%: Html.EditorFor(model => model.EndDate)%>.
|
||||
<input type="submit" value="Go" />
|
||||
<% } %>
|
||||
<%
|
||||
foreach (var chart in Model.Charts) {
|
||||
%>
|
||||
<img src="<%: Url.Action("Chart", new { startDate = Model.StartDate, endDate = Model.EndDate, title = chart.Title, id = chart.Id }) %>"
|
||||
alt="<%: chart.Title %>" width="<%: chart.Width %>" height="<%: chart.Height %>" />
|
||||
<br />
|
||||
<%
|
||||
}
|
||||
%>
|
||||
</asp:Content>
|
|
@ -1,170 +0,0 @@
|
|||
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/UsageDataAnalysis.Master" Inherits="System.Web.Mvc.ViewPage<UsageDataAnalysisWebClient.Models.ExceptionGroupEditModel>" %>
|
||||
|
||||
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
|
||||
Edit
|
||||
</asp:Content>
|
||||
|
||||
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
|
||||
|
||||
<h2>Edit</h2>
|
||||
|
||||
<% using (Html.BeginForm()) {%>
|
||||
|
||||
<fieldset>
|
||||
<legend>Fields</legend>
|
||||
|
||||
<div class="editor-label">
|
||||
<%: Html.LabelFor(model => model.ExceptionGroupId) %>
|
||||
<%: Html.HiddenFor(model => model.ExceptionGroupId) %>
|
||||
</div>
|
||||
<div class="editor-field">
|
||||
<%: Model.ExceptionGroupId %>
|
||||
</div>
|
||||
|
||||
<div class="editor-label">
|
||||
<%= Html.LabelFor(model => model.TypeFingerprintSha256Hash) %>
|
||||
</div>
|
||||
<div class="editor-field">
|
||||
<%: Model.TypeFingerprintSha256Hash %>
|
||||
</div>
|
||||
|
||||
<div class="editor-label">
|
||||
<%: Html.LabelFor(model => model.ExceptionType) %>
|
||||
</div>
|
||||
<div class="editor-field">
|
||||
<%: Model.ExceptionType %>
|
||||
</div>
|
||||
|
||||
<div class="editor-label">
|
||||
<%= Html.LabelFor(model => model.ExceptionLocation) %>
|
||||
</div>
|
||||
<div class="editor-field">
|
||||
<%: Model.ExceptionLocation %>
|
||||
</div>
|
||||
|
||||
<div class="editor-label">
|
||||
First Occurrence:
|
||||
</div>
|
||||
<div class="editor-field">
|
||||
<a href="https://github.com/icsharpcode/SharpDevelop/commits/<%: Model.FirstOccurrenceCommitHash %>"><%: Model.FirstOccurrenceCommit %></a>
|
||||
</div>
|
||||
|
||||
<div class="editor-label">
|
||||
Last Occurrence:
|
||||
</div>
|
||||
<div class="editor-field">
|
||||
<%: Model.LastOccurrenceCommit %>
|
||||
</div>
|
||||
|
||||
<div class="editor-label">
|
||||
<%= Html.LabelFor(model => model.ExceptionFingerprint) %>
|
||||
</div>
|
||||
<pre>
|
||||
<%: Model.ExceptionFingerprint %>
|
||||
</pre>
|
||||
|
||||
<div class="editor-label">
|
||||
<%: Html.LabelFor(model => model.UserComment) %>
|
||||
</div>
|
||||
<div class="editor-field">
|
||||
<%: Html.TextBoxFor(model => model.UserComment) %>
|
||||
<%: Html.ValidationMessageFor(model => model.UserComment) %>
|
||||
</div>
|
||||
|
||||
<% if (Model.UserFixedInCommit != null) { %>
|
||||
<div class="editor-label">
|
||||
Fixed in Version:
|
||||
</div>
|
||||
<div class="editor-field">
|
||||
<a href="https://github.com/icsharpcode/SharpDevelop/commit/<%: Model.UserFixedInCommitHash %>"><%: Model.UserFixedInCommit%></a>
|
||||
</div>
|
||||
<% } %>
|
||||
|
||||
<div class="editor-label">
|
||||
<%: Html.LabelFor(model => model.UserFixedInCommitHash) %>
|
||||
</div>
|
||||
<div class="editor-field">
|
||||
<%: Html.TextBoxFor(model => model.UserFixedInCommitHash) %>
|
||||
<%: Html.ValidationMessageFor(model => model.UserFixedInCommit) %>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
<input type="submit" value="Save" />
|
||||
</p>
|
||||
</fieldset>
|
||||
|
||||
<% } %>
|
||||
|
||||
<div>
|
||||
<%:Html.ActionLink("Back to List", "Index") %>
|
||||
</div>
|
||||
|
||||
<%
|
||||
if (Model.CrashProbabilities.Count > 1) {
|
||||
%>
|
||||
<img src="<%: Url.Action("CrashProbabilityChart", new { Id = Model.ExceptionGroupId }) %>" width="800" height="300" />
|
||||
<%
|
||||
} else if (Model.CrashProbabilities.Count == 1) {
|
||||
%>
|
||||
<p>This exception occurred in only one release (<%: Model.CrashProbabilities[0].Item1%>).
|
||||
The instability in that release caused by this exception is <%: Model.CrashProbabilities[0].Item2.ToString("f2")%>%.</p>
|
||||
<%
|
||||
} else {
|
||||
%><p>This exception did not occur in any tagged release versions.</p><%
|
||||
}
|
||||
%>
|
||||
|
||||
<div>
|
||||
<%
|
||||
foreach (var instance in Model.Exceptions)
|
||||
{ %>
|
||||
<p> </p>
|
||||
<hr />
|
||||
<p> </p>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Date</th>
|
||||
<td><%: instance.ThrownAt%></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>UserID</th>
|
||||
<td><%: instance.UserId%></td>
|
||||
</tr>
|
||||
<%
|
||||
foreach (var environmentData in instance.Environment.OrderBy(e => e.Name))
|
||||
{
|
||||
%>
|
||||
<tr>
|
||||
<th><%: environmentData.Name %></th>
|
||||
<td><%: environmentData.Value %></td>
|
||||
</tr>
|
||||
<%
|
||||
}
|
||||
%>
|
||||
</table>
|
||||
<pre><%: instance.Stacktrace %></pre>
|
||||
<p>Previous feature uses:</p>
|
||||
<table>
|
||||
<tr><th>Date</th><th>Name</th><th>Activation Method</th></tr>
|
||||
<%
|
||||
foreach (var featureUse in instance.PreviousFeatureUses) {
|
||||
%>
|
||||
<tr>
|
||||
<td><%: featureUse.UseTime %></td>
|
||||
<td><%: featureUse.FeatureName %></td>
|
||||
<td><%: featureUse.ActivationMethod %></td>
|
||||
</tr>
|
||||
<%
|
||||
}
|
||||
%>
|
||||
</table>
|
||||
<% } %>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<%=Html.ActionLink("Back to List", "Index") %>
|
||||
</div>
|
||||
|
||||
</asp:Content>
|
||||
|
|
@ -1,75 +0,0 @@
|
|||
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/UsageDataAnalysis.Master" Inherits="System.Web.Mvc.ViewPage<UsageDataAnalysisWebClient.Models.ExceptionGroupIndexModel>" %>
|
||||
|
||||
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
|
||||
Index
|
||||
</asp:Content>
|
||||
|
||||
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
|
||||
|
||||
<h2>Index</h2>
|
||||
|
||||
<% using (Html.BeginForm(null, null, FormMethod.Get)) { %>
|
||||
Show exceptions from <%: Html.TextBoxFor(model => model.StartCommitHash) %>
|
||||
to <%: Html.TextBoxFor(model => model.EndCommitHash) %>
|
||||
<input type="submit" value="Go" />
|
||||
<% } %>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
<th>Type</th>
|
||||
<th>Location</th>
|
||||
<th>Users affected</th>
|
||||
<th>Occurrences</th>
|
||||
<th>First Seen</th>
|
||||
<th>Last Seen</th>
|
||||
<th>Comment</th>
|
||||
</tr>
|
||||
|
||||
<% foreach (var item in Model.Entries) { %>
|
||||
|
||||
<tr class='<%: item.UserFixedInCommitId != null ? (item.HasRepeatedAfterFixVersion ? "badRow" : "goodRow") : "normalRow" %>'>
|
||||
<%-- <td>
|
||||
<%: Html.ActionLink("Details", "Details", new { id=item.ExceptionGroupId })%> |
|
||||
<%: Html.ActionLink("Delete", "Delete", new { id=item.ExceptionGroupId })%>
|
||||
</td> --%>
|
||||
<td>
|
||||
<%: Html.ActionLink(item.ExceptionGroupId.ToString(), "Edit", new { id = item.ExceptionGroupId })%>
|
||||
</td>
|
||||
<td class="exceptionType">
|
||||
<%: item.ShortExceptionType %>
|
||||
</td>
|
||||
<td class="exceptionLocation">
|
||||
<%: item.ExceptionLocation %>
|
||||
</td>
|
||||
<td>
|
||||
<%: item.AffectedUsers %>
|
||||
</td>
|
||||
<td>
|
||||
<%: item.Occurrences %>
|
||||
</td>
|
||||
<td>
|
||||
<a href="https://github.com/icsharpcode/SharpDevelop/commits/<%: item.FirstSeenVersionHash %>"><%: item.FirstSeenVersion %></a>
|
||||
</td>
|
||||
<td>
|
||||
<%: item.LastSeenVersion %>
|
||||
</td>
|
||||
<td>
|
||||
<%: item.RichUserComment %>
|
||||
<% if (item.UserFixedInCommitHash != null)
|
||||
{ %>
|
||||
fixed in <a href="https://github.com/icsharpcode/SharpDevelop/commit/<%: item.UserFixedInCommitHash %>"><%: item.UserFixedInCommit %></a>
|
||||
<% } %>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<% } %>
|
||||
|
||||
</table>
|
||||
|
||||
<%-- <p>
|
||||
<%: Html.ActionLink("Create New", "Create") %>
|
||||
</p>--%>
|
||||
|
||||
</asp:Content>
|
||||
|
|
@ -1,39 +0,0 @@
|
|||
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/UsageDataAnalysis.Master" Inherits="System.Web.Mvc.ViewPage<UsageDataAnalysisWebClient.Models.FeatureIndexModel>" %>
|
||||
|
||||
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
|
||||
Features
|
||||
</asp:Content>
|
||||
|
||||
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
|
||||
|
||||
<h2>Features</h2>
|
||||
|
||||
<% using (Html.BeginForm(null, null, FormMethod.Get)) { %>
|
||||
Feature Name: <%: Html.TextBoxFor(model => model.FeatureFilter)%><br />
|
||||
Version: <%: Html.TextBoxFor(model => model.VersionFilter)%><br />
|
||||
<input type="submit" value="Go" />
|
||||
<% } %>
|
||||
|
||||
<% if (Model.ErrorMessage != null) { %>
|
||||
<p style="color: red"><%: Model.ErrorMessage%></p>
|
||||
<% } %>
|
||||
|
||||
<% if (Model.Entries != null) { %>
|
||||
<table>
|
||||
<tr>
|
||||
<th>Feature</th>
|
||||
<th>Use Count</th>
|
||||
<th>Userdays</th>
|
||||
</tr>
|
||||
<% foreach (var entry in Model.Entries) { %>
|
||||
<tr>
|
||||
<td><%: entry.FeatureName %></td>
|
||||
<td><%: entry.TotalUseCount %></td>
|
||||
<td><%: entry.UserDays %></td>
|
||||
</tr>
|
||||
<% } %>
|
||||
</table>
|
||||
<% } %>
|
||||
|
||||
|
||||
</asp:Content>
|
|
@ -1,11 +0,0 @@
|
|||
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/UsageDataAnalysis.Master" Inherits="System.Web.Mvc.ViewPage" %>
|
||||
|
||||
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
|
||||
Usage Data Analysis Website
|
||||
</asp:Content>
|
||||
|
||||
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
|
||||
|
||||
<h2>Usage Data Analysis Website</h2>
|
||||
Please use the menu above...
|
||||
</asp:Content>
|
|
@ -1,122 +0,0 @@
|
|||
<%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage" %>
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head runat="server">
|
||||
<title>
|
||||
<asp:ContentPlaceHolder ID="TitleContent" runat="server" />
|
||||
</title>
|
||||
|
||||
<link href="~/css/layout_2col_left_31.css" rel="stylesheet" type="text/css" />
|
||||
<!--[if lte IE 7]>
|
||||
<link href="~/css/patches/patch_2col_left_31.css" rel="stylesheet" type="text/css" />
|
||||
<![endif]-->
|
||||
|
||||
<style type="text/css">
|
||||
.editor-label
|
||||
{
|
||||
font-weight: bold;
|
||||
}
|
||||
.exceptionType
|
||||
{
|
||||
max-width: 200px;
|
||||
overflow: hidden;
|
||||
}
|
||||
.exceptionLocation
|
||||
{
|
||||
max-width: 450px;
|
||||
overflow: hidden;
|
||||
}
|
||||
.normalRow
|
||||
{
|
||||
}
|
||||
.goodRow
|
||||
{
|
||||
background-color: rgb(198,239,206);
|
||||
}
|
||||
.badRow
|
||||
{
|
||||
background-color: rgb(255,199,206);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<ul id="skiplinks">
|
||||
<li><a class="skip" href="#nav">Skip to navigation (Press Enter).</a></li>
|
||||
<li><a class="skip" href="#col1">Skip to main content (Press Enter).</a></li>
|
||||
</ul>
|
||||
|
||||
<div class="page_margins">
|
||||
<div class="page">
|
||||
<div id="header" role="banner">
|
||||
<div id="topnav" role="contentinfo">
|
||||
<span>
|
||||
<%
|
||||
if (Request.IsAuthenticated) {
|
||||
%>
|
||||
Logged in as <b>
|
||||
<%: Page.User.Identity.Name%></b> [
|
||||
<%: Html.ActionLink("Log Off", "LogOff", "Account")%>
|
||||
]
|
||||
<%
|
||||
} else {
|
||||
%>
|
||||
[
|
||||
<%: Html.ActionLink("Log On", "LogOn", "Account")%>
|
||||
]
|
||||
<%
|
||||
}
|
||||
%>
|
||||
|
||||
</span>
|
||||
</div>
|
||||
<h1>Usage Data Collector</h1>
|
||||
<span>the #develop chronicles</span>
|
||||
</div>
|
||||
<!-- begin: main navigation #nav -->
|
||||
<div id="nav" role="navigation">
|
||||
<div class="hlist">
|
||||
<ul>
|
||||
<li><%=Html.ActionLink("Home", "Index", "Home")%></li>
|
||||
<li><%=Html.ActionLink("Usage", "Index", "Usage")%></li>
|
||||
<li><%=Html.ActionLink("Environment", "Index", "Environment")%></li>
|
||||
<li><%=Html.ActionLink("Features", "Index", "Feature")%></li>
|
||||
<li><%=Html.ActionLink("Stability", "Index", "Stability")%></li>
|
||||
<li><%=Html.ActionLink("ExceptionGroups", "Index", "ExceptionGroup")%></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<!-- end: main navigation -->
|
||||
<!-- begin: main content area #main -->
|
||||
<div id="main">
|
||||
<!-- begin: #col1 - first float column -->
|
||||
<div id="col1" role="main">
|
||||
<div id="col1_content" class="clearfix">
|
||||
<asp:ContentPlaceHolder ID="MainContent" runat="server">
|
||||
</asp:ContentPlaceHolder>
|
||||
</div>
|
||||
</div>
|
||||
<!-- end: #col1 -->
|
||||
<!-- begin: #col3 static column -->
|
||||
<div id="col3" role="complementary">
|
||||
<div id="col3_content" class="clearfix">
|
||||
|
||||
</div>
|
||||
<div id="ie_clearing"> </div>
|
||||
<!-- End: IE Column Clearing -->
|
||||
</div>
|
||||
<!-- end: #col3 -->
|
||||
</div>
|
||||
<!-- end: #main -->
|
||||
<!-- begin: #footer -->
|
||||
<div id="footer" role="contentinfo">Footer with copyright notice and status information<br />
|
||||
Layout based on <a href="http://www.yaml.de/">YAML</a></div>
|
||||
<!-- end: #footer -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- full skiplink functionality in webkit browsers -->
|
||||
<script type="text/javascript" src="<%= ResolveClientUrl("~/css/yaml/core/js/yaml-focusfix.js") %>"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -1,39 +0,0 @@
|
|||
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/UsageDataAnalysis.Master" Inherits="System.Web.Mvc.ViewPage<System.Web.UI.DataVisualization.Charting.Chart>" %>
|
||||
|
||||
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
|
||||
Stability
|
||||
</asp:Content>
|
||||
|
||||
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
|
||||
|
||||
<h2>Instability</h2>
|
||||
Probability that at least one exception/unclean exit will occur in a given day for a given user<br/>
|
||||
<%
|
||||
var chart = Model;
|
||||
chart.Width = 813;
|
||||
chart.Height = 300;
|
||||
chart.RenderType = System.Web.UI.DataVisualization.Charting.RenderType.ImageTag;
|
||||
|
||||
chart.ChartAreas.Add("Series 1").AxisX.Interval = 1;
|
||||
chart.Legends.Add("Legend 1");
|
||||
|
||||
// Render chart control
|
||||
chart.Page = this;
|
||||
chart.RenderControl(new HtmlTextWriter(Page.Response.Output));
|
||||
%>
|
||||
|
||||
<h2>Crash Frequency</h2>
|
||||
Average number of crashes per hour<br />
|
||||
<%
|
||||
var chart2 = (System.Web.UI.DataVisualization.Charting.Chart)ViewData["CrashFrequency"];
|
||||
chart2.Width = 600;
|
||||
chart2.Height = 300;
|
||||
chart2.RenderType = System.Web.UI.DataVisualization.Charting.RenderType.ImageTag;
|
||||
|
||||
chart2.ChartAreas.Add("Series 1").AxisX.Interval = 1;
|
||||
|
||||
// Render chart control
|
||||
chart2.Page = this;
|
||||
chart2.RenderControl(new HtmlTextWriter(Page.Response.Output));
|
||||
%>
|
||||
</asp:Content>
|
|
@ -1,31 +0,0 @@
|
|||
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/UsageDataAnalysis.Master" Inherits="System.Web.Mvc.ViewPage<UsageDataAnalysisWebClient.Models.UsageViewModel>" %>
|
||||
|
||||
<%@ Register Assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
|
||||
Namespace="System.Web.UI.DataVisualization.Charting" TagPrefix="asp" %>
|
||||
|
||||
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
|
||||
Usage
|
||||
</asp:Content>
|
||||
|
||||
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
|
||||
<% using (Html.BeginForm()) { %>
|
||||
Show data from <%: Html.EditorFor(model => model.StartDate)%> to <%: Html.EditorFor(model => model.EndDate)%>.
|
||||
<input type="submit" value="Go" />
|
||||
<% } %>
|
||||
<h2>Number of users per day</h2>
|
||||
<%
|
||||
Model.DailyUsers.Page = this;
|
||||
Model.DailyUsers.RenderControl(new HtmlTextWriter(Page.Response.Output));
|
||||
%>
|
||||
<h2>Number of users per week</h2>
|
||||
<%
|
||||
Model.WeeklyUsers.Page = this;
|
||||
Model.WeeklyUsers.RenderControl(new HtmlTextWriter(Page.Response.Output));
|
||||
%>
|
||||
<h2>Number of users per month</h2>
|
||||
<%
|
||||
Model.MonthlyUsers.Page = this;
|
||||
Model.MonthlyUsers.RenderControl(new HtmlTextWriter(Page.Response.Output));
|
||||
%>
|
||||
</asp:Content>
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<configuration>
|
||||
<system.web>
|
||||
<httpHandlers>
|
||||
<add path="ChartImg.axd" verb="GET,HEAD" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
|
||||
<add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/>
|
||||
</httpHandlers>
|
||||
|
||||
<!--
|
||||
Enabling request validation in view pages would cause validation to occur
|
||||
after the input has already been processed by the controller. By default
|
||||
MVC performs request validation before a controller processes the input.
|
||||
To change this behavior apply the ValidateInputAttribute to a
|
||||
controller or action.
|
||||
-->
|
||||
<pages
|
||||
validateRequest="false"
|
||||
pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
|
||||
pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
|
||||
userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
|
||||
<controls>
|
||||
<add assembly="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" />
|
||||
</controls>
|
||||
</pages>
|
||||
</system.web>
|
||||
|
||||
<system.webServer>
|
||||
<validation validateIntegratedModeConfiguration="false" />
|
||||
|
||||
<handlers>
|
||||
<remove name="BlockViewHandler"/>
|
||||
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
|
||||
</handlers>
|
||||
</system.webServer>
|
||||
</configuration>
|
|
@ -1,30 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<!-- For more information on using web.config transformation visit http://go.microsoft.com/fwlink/?LinkId=125889 -->
|
||||
|
||||
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
|
||||
<!--
|
||||
In the example below, the "SetAttributes" transform will change the value of
|
||||
"connectionString" to use "ReleaseSQLServer" only when the "Match" locator
|
||||
finds an atrribute "name" that has a value of "MyDB".
|
||||
|
||||
<connectionStrings>
|
||||
<add name="MyDB"
|
||||
connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True"
|
||||
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
|
||||
</connectionStrings>
|
||||
-->
|
||||
<system.web>
|
||||
<!--
|
||||
In the example below, the "Replace" transform will replace the entire
|
||||
<customErrors> section of your web.config file.
|
||||
Note that because there is only one customErrors section under the
|
||||
<system.web> node, there is no need to use the "xdt:Locator" attribute.
|
||||
|
||||
<customErrors defaultRedirect="GenericError.htm"
|
||||
mode="RemoteOnly" xdt:Transform="Replace">
|
||||
<error statusCode="500" redirect="InternalError.htm"/>
|
||||
</customErrors>
|
||||
-->
|
||||
</system.web>
|
||||
</configuration>
|
|
@ -1,31 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<!-- For more information on using web.config transformation visit http://go.microsoft.com/fwlink/?LinkId=125889 -->
|
||||
|
||||
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
|
||||
<!--
|
||||
In the example below, the "SetAttributes" transform will change the value of
|
||||
"connectionString" to use "ReleaseSQLServer" only when the "Match" locator
|
||||
finds an atrribute "name" that has a value of "MyDB".
|
||||
|
||||
<connectionStrings>
|
||||
<add name="MyDB"
|
||||
connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True"
|
||||
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
|
||||
</connectionStrings>
|
||||
-->
|
||||
<system.web>
|
||||
<compilation xdt:Transform="RemoveAttributes(debug)" />
|
||||
<!--
|
||||
In the example below, the "Replace" transform will replace the entire
|
||||
<customErrors> section of your web.config file.
|
||||
Note that because there is only one customErrors section under the
|
||||
<system.web> node, there is no need to use the "xdt:Locator" attribute.
|
||||
|
||||
<customErrors defaultRedirect="GenericError.htm"
|
||||
mode="RemoteOnly" xdt:Transform="Replace">
|
||||
<error statusCode="500" redirect="InternalError.htm"/>
|
||||
</customErrors>
|
||||
-->
|
||||
</system.web>
|
||||
</configuration>
|
|
@ -1,115 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
For more information on how to configure your ASP.NET application, please visit
|
||||
http://go.microsoft.com/fwlink/?LinkId=152368
|
||||
-->
|
||||
<configuration>
|
||||
<configSections>
|
||||
<sectionGroup name="elmah">
|
||||
<section name="security" requirePermission="false" type="Elmah.SecuritySectionHandler, Elmah" />
|
||||
<section name="errorLog" requirePermission="false" type="Elmah.ErrorLogSectionHandler, Elmah" />
|
||||
<section name="errorMail" requirePermission="false" type="Elmah.ErrorMailSectionHandler, Elmah" />
|
||||
<section name="errorFilter" requirePermission="false" type="Elmah.ErrorFilterSectionHandler, Elmah" />
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
<elmah>
|
||||
<security allowRemoteAccess="1" />
|
||||
<errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="~/App_Data/ElmahLogs" />
|
||||
<errorFilter>
|
||||
<test>
|
||||
<equal binding="HttpStatusCode" value="404" type="Int32" />
|
||||
</test>
|
||||
</errorFilter>
|
||||
</elmah>
|
||||
<appSettings>
|
||||
<!-- FIXFOR: [DirectoryNotFoundException: Invalid temp directory in chart handler configuration [c:\TempImageFiles\].] -->
|
||||
<add key="ChartImageHandler" value="storage=file;timeout=20;Url=~/TempImages/;" />
|
||||
</appSettings>
|
||||
<system.web>
|
||||
<compilation debug="true" targetFramework="4.0">
|
||||
<assemblies>
|
||||
<add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
|
||||
<add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
|
||||
<add assembly="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
|
||||
<!-- begin http://forums.asp.net/t/1546705.aspx -->
|
||||
<add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<add assembly="System.Data.Entity.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<!-- end -->
|
||||
<add assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
|
||||
</assemblies>
|
||||
</compilation>
|
||||
<authentication mode="Forms">
|
||||
<forms loginUrl="~/Account/LogOn" timeout="2880">
|
||||
<credentials passwordFormat="Clear">
|
||||
<user name="Alex" password="Geheim" />
|
||||
</credentials>
|
||||
</forms>
|
||||
</authentication>
|
||||
<membership defaultProvider="WebConfigMembershipProvider">
|
||||
<providers>
|
||||
<clear />
|
||||
<!--<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />-->
|
||||
<add name="WebConfigMembershipProvider" type="UsageDataAnalysisWebClient.WebConfigMembershipProvider" />
|
||||
</providers>
|
||||
</membership>
|
||||
<profile>
|
||||
<providers>
|
||||
<clear />
|
||||
<add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/" />
|
||||
</providers>
|
||||
</profile>
|
||||
<roleManager enabled="false">
|
||||
<providers>
|
||||
<clear />
|
||||
<add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" />
|
||||
<add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
|
||||
</providers>
|
||||
</roleManager>
|
||||
<pages>
|
||||
<namespaces>
|
||||
<add namespace="System.Web.Mvc" />
|
||||
<add namespace="System.Web.Mvc.Ajax" />
|
||||
<add namespace="System.Web.Mvc.Html" />
|
||||
<add namespace="System.Web.Routing" />
|
||||
</namespaces>
|
||||
<controls>
|
||||
<add tagPrefix="ch" namespace="System.Web.UI.DataVisualization.Charting" assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
</controls>
|
||||
</pages>
|
||||
<httpHandlers>
|
||||
<add path="ChartImg.axd" verb="GET,HEAD" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false" />
|
||||
<add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" />
|
||||
</httpHandlers>
|
||||
<httpModules>
|
||||
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" />
|
||||
<add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" />
|
||||
<add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" />
|
||||
</httpModules>
|
||||
</system.web>
|
||||
<system.webServer>
|
||||
<validation validateIntegratedModeConfiguration="false" />
|
||||
<modules runAllManagedModulesForAllRequests="true">
|
||||
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" preCondition="managedHandler" />
|
||||
<add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" preCondition="managedHandler" />
|
||||
<add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" preCondition="managedHandler" />
|
||||
</modules>
|
||||
<handlers>
|
||||
<!-- FIXFOR: [HttpException (0x80004005): Error executing child request for ChartImg.axd.] -->
|
||||
<add name="ChartHttpHandler" preCondition="integratedMode" verb="GET,HEAD" path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<add name="Elmah" path="elmah.axd" verb="POST,GET,HEAD" type="Elmah.ErrorLogPageFactory, Elmah" preCondition="integratedMode" />
|
||||
</handlers>
|
||||
</system.webServer>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
|
||||
<bindingRedirect oldVersion="1.0.0.0" newVersion="2.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
<connectionStrings>
|
||||
<add name="udcEntities" connectionString="metadata=res://*/Models.UsageDataAnalysis.csdl|res://*/Models.UsageDataAnalysis.ssdl|res://*/Models.UsageDataAnalysis.msl;provider=System.Data.SqlClient;provider connection string="Data Source=(local)\SQLEXPRESS;Initial Catalog=UsageDataAnalysis;Integrated Security=True;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" />
|
||||
<add name="udcADO" connectionString="Data Source=(local)\SQLEXPRESS;Initial Catalog=UsageDataAnalysis;Integrated Security=True;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />
|
||||
<add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" />
|
||||
</connectionStrings>
|
||||
</configuration>
|
|
@ -1,50 +0,0 @@
|
|||
//filler text on demand
|
||||
// http://web-graphics.com/mtarchive/001667.php
|
||||
|
||||
var words=new Array('lorem','ipsum','dolor','sit','amet','consectetuer','adipiscing','elit','suspendisse','eget','diam','quis','diam','consequat','interdum');
|
||||
|
||||
function AddFillerLink(){
|
||||
if(!document.getElementById || !document.createElement) return;
|
||||
var i,l;
|
||||
for(i=0;i<arguments.length;i++){
|
||||
|
||||
if (document.getElementById(arguments[i])) { /* Check elements exists - add Reinhard Hiebl */
|
||||
l=document.createElement("a");
|
||||
l.href="#";
|
||||
l.appendChild(document.createTextNode("Add Text"));
|
||||
l.onclick=function(){AddText(this);return(false)};
|
||||
document.getElementById(arguments[i]).appendChild(l);
|
||||
b=document.createTextNode(" | ");
|
||||
document.getElementById(arguments[i]).appendChild(b);
|
||||
r=document.createElement("a");
|
||||
r.href="#";
|
||||
r.appendChild(document.createTextNode("Remove Text"));
|
||||
r.onclick=function(){RemoveText(this);return(false)};
|
||||
document.getElementById(arguments[i]).appendChild(r);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function AddText(el){
|
||||
var s="",n,i;
|
||||
n=RandomNumber(20,80);
|
||||
for(i=0;i<n;i++)
|
||||
s+=words[RandomNumber(0,words.length-1)]+" ";
|
||||
var t=document.createElement("p");
|
||||
t.setAttribute('class','added');
|
||||
t.appendChild(document.createTextNode(s));
|
||||
el.parentNode.insertBefore(t,el);
|
||||
}
|
||||
function RemoveText(el){
|
||||
var parent = el.parentNode;
|
||||
for(var i=0;i<parent.childNodes.length;i++) {
|
||||
var para = parent.childNodes[i];
|
||||
if(para.nodeName == "P" && para.getAttribute('class')=='added') {
|
||||
parent.removeChild(para);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
function RandomNumber(n1,n2){
|
||||
return(Math.floor(Math.random()*(n2-n1))+n1);
|
||||
}
|
|
@ -1,144 +0,0 @@
|
|||
// minmax.js: make IE5+/Win support CSS min/max-width/height
|
||||
// version 1.0, 08-Aug-2003
|
||||
// written by Andrew Clover <and@doxdesk.com>, use freely
|
||||
|
||||
/*@cc_on
|
||||
@if (@_win32 && @_jscript_version>4)
|
||||
|
||||
var minmax_elements;
|
||||
|
||||
minmax_props= new Array(
|
||||
new Array('min-width', 'minWidth'),
|
||||
new Array('max-width', 'maxWidth'),
|
||||
new Array('min-height','minHeight'),
|
||||
new Array('max-height','maxHeight')
|
||||
);
|
||||
|
||||
// Binding. Called on all new elements. If <body>, initialise; check all
|
||||
// elements for minmax properties
|
||||
|
||||
function minmax_bind(el) {
|
||||
var i, em, ms;
|
||||
var st= el.style, cs= el.currentStyle;
|
||||
|
||||
if (minmax_elements==window.undefined) {
|
||||
// initialise when body element has turned up, but only on IE
|
||||
if (!document.body || !document.body.currentStyle) return;
|
||||
minmax_elements= new Array();
|
||||
window.attachEvent('onresize', minmax_delayout);
|
||||
// make font size listener
|
||||
em= document.createElement('div');
|
||||
em.setAttribute('id', 'minmax_em');
|
||||
em.style.position= 'absolute'; em.style.visibility= 'hidden';
|
||||
em.style.fontSize= 'xx-large'; em.style.height= '5em';
|
||||
em.style.top='-5em'; em.style.left= '0';
|
||||
if (em.style.setExpression) {
|
||||
em.style.setExpression('width', 'minmax_checkFont()');
|
||||
document.body.insertBefore(em, document.body.firstChild);
|
||||
}
|
||||
}
|
||||
|
||||
// transform hyphenated properties the browser has not caught to camelCase
|
||||
for (i= minmax_props.length; i-->0;)
|
||||
if (cs[minmax_props[i][0]])
|
||||
st[minmax_props[i][1]]= cs[minmax_props[i][0]];
|
||||
// add element with properties to list, store optimal size values
|
||||
for (i= minmax_props.length; i-->0;) {
|
||||
ms= cs[minmax_props[i][1]];
|
||||
if (ms && ms!='auto' && ms!='none' && ms!='0' && ms!='') {
|
||||
st.minmaxWidth= cs.width; st.minmaxHeight= cs.height;
|
||||
minmax_elements[minmax_elements.length]= el;
|
||||
// will need a layout later
|
||||
minmax_delayout();
|
||||
break;
|
||||
} }
|
||||
}
|
||||
|
||||
// check for font size changes
|
||||
|
||||
var minmax_fontsize= 0;
|
||||
function minmax_checkFont() {
|
||||
var fs= document.getElementById('minmax_em').offsetHeight;
|
||||
if (minmax_fontsize!=fs && minmax_fontsize!=0)
|
||||
minmax_delayout();
|
||||
minmax_fontsize= fs;
|
||||
return '5em';
|
||||
}
|
||||
|
||||
// Layout. Called after window and font size-change. Go through elements we
|
||||
// picked out earlier and set their size to the minimum, maximum and optimum,
|
||||
// choosing whichever is appropriate
|
||||
|
||||
// Request re-layout at next available moment
|
||||
var minmax_delaying= false;
|
||||
function minmax_delayout() {
|
||||
if (minmax_delaying) return;
|
||||
minmax_delaying= true;
|
||||
window.setTimeout(minmax_layout, 0);
|
||||
}
|
||||
|
||||
function minmax_stopdelaying() {
|
||||
minmax_delaying= false;
|
||||
}
|
||||
|
||||
function minmax_layout() {
|
||||
window.setTimeout(minmax_stopdelaying, 100);
|
||||
var i, el, st, cs, optimal, inrange;
|
||||
for (i= minmax_elements.length; i-->0;) {
|
||||
el= minmax_elements[i]; st= el.style; cs= el.currentStyle;
|
||||
|
||||
// horizontal size bounding
|
||||
st.width= st.minmaxWidth; optimal= el.offsetWidth;
|
||||
inrange= true;
|
||||
if (inrange && cs.minWidth && cs.minWidth!='0' && cs.minWidth!='auto' && cs.minWidth!='') {
|
||||
st.width= cs.minWidth;
|
||||
inrange= (el.offsetWidth<optimal);
|
||||
}
|
||||
if (inrange && cs.maxWidth && cs.maxWidth!='none' && cs.maxWidth!='auto' && cs.maxWidth!='') {
|
||||
st.width= cs.maxWidth;
|
||||
inrange= (el.offsetWidth>optimal);
|
||||
}
|
||||
if (inrange) st.width= st.minmaxWidth;
|
||||
|
||||
// vertical size bounding
|
||||
st.height= st.minmaxHeight; optimal= el.offsetHeight;
|
||||
inrange= true;
|
||||
if (inrange && cs.minHeight && cs.minHeight!='0' && cs.minHeight!='auto' && cs.minHeight!='') {
|
||||
st.height= cs.minHeight;
|
||||
inrange= (el.offsetHeight<optimal);
|
||||
}
|
||||
if (inrange && cs.maxHeight && cs.maxHeight!='none' && cs.maxHeight!='auto' && cs.maxHeight!='') {
|
||||
st.height= cs.maxHeight;
|
||||
inrange= (el.offsetHeight>optimal);
|
||||
}
|
||||
if (inrange) st.height= st.minmaxHeight;
|
||||
}
|
||||
}
|
||||
|
||||
// Scanning. Check document every so often until it has finished loading. Do
|
||||
// nothing until <body> arrives, then call main init. Pass any new elements
|
||||
// found on each scan to be bound
|
||||
|
||||
var minmax_SCANDELAY= 500;
|
||||
|
||||
function minmax_scan() {
|
||||
var el;
|
||||
for (var i= 0; i<document.all.length; i++) {
|
||||
el= document.all[i];
|
||||
if (!el.minmax_bound) {
|
||||
el.minmax_bound= true;
|
||||
minmax_bind(el);
|
||||
} }
|
||||
}
|
||||
|
||||
var minmax_scanner;
|
||||
function minmax_stop() {
|
||||
window.clearInterval(minmax_scanner);
|
||||
minmax_scan();
|
||||
}
|
||||
|
||||
minmax_scan();
|
||||
minmax_scanner= window.setInterval(minmax_scan, minmax_SCANDELAY);
|
||||
window.attachEvent('onload', minmax_stop);
|
||||
|
||||
@end @*/
|
|
@ -1,28 +0,0 @@
|
|||
@charset "UTF-8";
|
||||
/**
|
||||
* "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
|
||||
*
|
||||
* (en) central stylesheet - layout example "2col_left_31"
|
||||
* (de) Zentrales Stylesheet - Beispiellayout "2col_left_31"
|
||||
*
|
||||
* @copyright Copyright 2005-2010, Dirk Jesse
|
||||
* @license CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
|
||||
* YAML-C (http://www.yaml.de/en/license/license-conditions.html)
|
||||
* @link http://www.yaml.de
|
||||
* @package yaml
|
||||
* @version 3.2.1
|
||||
* @revision $Revision: 443 $
|
||||
* @lastmodified $Date: 2009-12-31 18:05:05 +0100 (Do, 31. Dez 2009) $
|
||||
*/
|
||||
|
||||
/* import core styles | Basis-Stylesheets einbinden */
|
||||
@import url(yaml/core/base.css);
|
||||
|
||||
/* import screen layout | Screen-Layout einbinden */
|
||||
@import url(yaml/navigation/nav_shinybuttons.css);
|
||||
@import url(screen/basemod.css);
|
||||
@import url(screen/basemod_2col_left_31.css);
|
||||
@import url(screen/content.css);
|
||||
|
||||
/* import print layout | Druck-Layout einbinden */
|
||||
@import url(yaml/print/print_100_draft.css);
|
|
@ -1,53 +0,0 @@
|
|||
@charset "UTF-8";
|
||||
/**
|
||||
* "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
|
||||
*
|
||||
* (en) IE-Patch stylesheet for "2col_left_13" layout
|
||||
* (de) IE-Korrektur-Stylesheet für das Layout "2col_left_13"
|
||||
*
|
||||
* @copyright Copyright 2005-2010, Dirk Jesse
|
||||
* @license CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
|
||||
* YAML-C (http://www.yaml.de/en/license/license-conditions.html)
|
||||
* @link http://www.yaml.de
|
||||
* @package yaml
|
||||
* @version 3.2.1
|
||||
* @revision $Revision: 443 $
|
||||
* @lastmodified $Date: 2009-12-31 18:05:05 +0100 (Do, 31. Dez 2009) $
|
||||
*/
|
||||
|
||||
/* Layout-independent adjustments | Layout-unabhängige Anpassungen ----------------------------------- */
|
||||
@import url(../../../../yaml/core/iehacks.css);
|
||||
|
||||
/* Layout-dependent adjustments | Layout-abhängige Anpassungen --------------------------------------- */
|
||||
@media screen, projection
|
||||
{
|
||||
/**
|
||||
* Bugfix for IE 3-Pixel-Jog Bug
|
||||
*
|
||||
* @bugfix
|
||||
* @affected IE 5.x/Win, IE6
|
||||
* @css-for IE 5.x/Win, IE6
|
||||
* @valid yes
|
||||
*/
|
||||
|
||||
* html #col3 { height: 1%; }
|
||||
* html #col1 { margin-right: -3px; }
|
||||
* html #col3 { margin-left: 24%; }
|
||||
|
||||
/**
|
||||
* min-width/max-width workaround for IE5.x & IE6
|
||||
*
|
||||
* @workaround
|
||||
* @affected IE 5.x/Win, IE6
|
||||
* @css-for IE 5.x/Win, IE6
|
||||
* @valid no
|
||||
*/
|
||||
|
||||
* html .page_margins {
|
||||
/* Fallback if JavaScript is disabled */
|
||||
width: 80em;
|
||||
|
||||
/* JS-Expression for min-/max-width simulation */
|
||||
width: expression((document.documentElement && document.documentElement.clientHeight) ? ((document.documentElement.clientWidth < 740) ? "740px" : ((document.documentElement.clientWidth > (80 * 16 * (parseInt(this.parentNode.currentStyle.fontSize) / 100))) ? "80em" : "auto" )) : ((document.body.clientWidth < 740) ? "740px" : ((document.body.clientWidth > (80 * 16 * (parseInt(this.parentNode.currentStyle.fontSize) / 100))) ? "80em" : "auto" )));
|
||||
}
|
||||
}
|
|
@ -1,40 +0,0 @@
|
|||
@charset "UTF-8";
|
||||
/**
|
||||
* "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
|
||||
*
|
||||
* (en) IE-Patch stylesheet for "2col_left_31" layout
|
||||
* (de) IE-Korrektur-Stylesheet für das Layout "2col_left_31"
|
||||
*
|
||||
* @copyright Copyright 2005-2010, Dirk Jesse
|
||||
* @license CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
|
||||
* YAML-C (http://www.yaml.de/en/license/license-conditions.html)
|
||||
* @link http://www.yaml.de
|
||||
* @package yaml
|
||||
* @version 3.2.1
|
||||
* @revision $Revision: 443 $
|
||||
* @lastmodified $Date: 2009-12-31 18:05:05 +0100 (Do, 31. Dez 2009) $
|
||||
*/
|
||||
|
||||
/* Layout-independent adjustments | Layout-unabhängige Anpassungen ----------------------------------- */
|
||||
@import url(../../../../yaml/core/iehacks.css);
|
||||
|
||||
/* Layout-dependent adjustments | Layout-abhängige Anpassungen --------------------------------------- */
|
||||
@media screen, projection
|
||||
{
|
||||
/**
|
||||
* min-width/max-width workaround for IE5.x & IE6
|
||||
*
|
||||
* @workaround
|
||||
* @affected IE 5.x/Win, IE6
|
||||
* @css-for IE 5.x/Win, IE6
|
||||
* @valid no
|
||||
*/
|
||||
|
||||
* html .page_margins {
|
||||
/* Fallback if JavaScript is disabled */
|
||||
width: 80em;
|
||||
|
||||
/* JS-Expression for min-/max-width simulation */
|
||||
width: expression((document.documentElement && document.documentElement.clientHeight) ? ((document.documentElement.clientWidth < 740) ? "740px" : ((document.documentElement.clientWidth > (80 * 16 * (parseInt(this.parentNode.currentStyle.fontSize) / 100))) ? "80em" : "auto" )) : ((document.body.clientWidth < 740) ? "740px" : ((document.body.clientWidth > (80 * 16 * (parseInt(this.parentNode.currentStyle.fontSize) / 100))) ? "80em" : "auto" )));
|
||||
}
|
||||
}
|
|
@ -1,53 +0,0 @@
|
|||
@charset "UTF-8";
|
||||
/**
|
||||
* "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
|
||||
*
|
||||
* (en) IE-Patch stylesheet for "2col_right_13" layout
|
||||
* (de) IE-Korrektur-Stylesheet für das Layout "2col_right_13"
|
||||
*
|
||||
* @copyright Copyright 2005-2010, Dirk Jesse
|
||||
* @license CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
|
||||
* YAML-C (http://www.yaml.de/en/license/license-conditions.html)
|
||||
* @link http://www.yaml.de
|
||||
* @package yaml
|
||||
* @version 3.2.1
|
||||
* @revision $Revision: 443 $
|
||||
* @lastmodified $Date: 2009-12-31 18:05:05 +0100 (Do, 31. Dez 2009) $
|
||||
*/
|
||||
|
||||
/* Layout-independent adjustments | Layout-unabhängige Anpassungen ----------------------------------- */
|
||||
@import url(../../../../yaml/core/iehacks.css);
|
||||
|
||||
/* Layout-dependent adjustments | Layout-abhängige Anpassungen --------------------------------------- */
|
||||
@media screen, projection
|
||||
{
|
||||
/**
|
||||
* Bugfix for IE 3-Pixel-Jog Bug
|
||||
*
|
||||
* @bugfix
|
||||
* @affected IE 5.x/Win, IE6
|
||||
* @css-for IE 5.x/Win, IE6
|
||||
* @valid yes
|
||||
*/
|
||||
|
||||
* html #col3 { height: 1%; }
|
||||
* html #col1 { margin-right: -3px; }
|
||||
* html #col3 { margin-left: 74%; }
|
||||
|
||||
/**
|
||||
* min-width/max-width workaround for IE5.x & IE6
|
||||
*
|
||||
* @workaround
|
||||
* @affected IE 5.x/Win, IE6
|
||||
* @css-for IE 5.x/Win, IE6
|
||||
* @valid no
|
||||
*/
|
||||
|
||||
* html .page_margins {
|
||||
/* Fallback if JavaScript is disabled */
|
||||
width: 80em;
|
||||
|
||||
/* JS-Expression for min-/max-width simulation */
|
||||
width: expression((document.documentElement && document.documentElement.clientHeight) ? ((document.documentElement.clientWidth < 740) ? "740px" : ((document.documentElement.clientWidth > (80 * 16 * (parseInt(this.parentNode.currentStyle.fontSize) / 100))) ? "80em" : "auto" )) : ((document.body.clientWidth < 740) ? "740px" : ((document.body.clientWidth > (80 * 16 * (parseInt(this.parentNode.currentStyle.fontSize) / 100))) ? "80em" : "auto" )));
|
||||
}
|
||||
}
|
|
@ -1,40 +0,0 @@
|
|||
@charset "UTF-8";
|
||||
/**
|
||||
* "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
|
||||
*
|
||||
* (en) IE-Patch stylesheet for "2col_right_31" layout
|
||||
* (de) IE-Korrektur-Stylesheet für das Layout "2col_right_31"
|
||||
*
|
||||
* @copyright Copyright 2005-2010, Dirk Jesse
|
||||
* @license CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
|
||||
* YAML-C (http://www.yaml.de/en/license/license-conditions.html)
|
||||
* @link http://www.yaml.de
|
||||
* @package yaml
|
||||
* @version 3.2.1
|
||||
* @revision $Revision: 443 $
|
||||
* @lastmodified $Date: 2009-12-31 18:05:05 +0100 (Do, 31. Dez 2009) $
|
||||
*/
|
||||
|
||||
/* Layout-independent adjustments | Layout-unabhängige Anpassungen ----------------------------------- */
|
||||
@import url(../../../../yaml/core/iehacks.css);
|
||||
|
||||
/* Layout-dependent adjustments | Layout-abhängige Anpassungen --------------------------------------- */
|
||||
@media screen, projection
|
||||
{
|
||||
/**
|
||||
* min-width/max-width workaround for IE5.x & IE6
|
||||
*
|
||||
* @workaround
|
||||
* @affected IE 5.x/Win, IE6
|
||||
* @css-for IE 5.x/Win, IE6
|
||||
* @valid no
|
||||
*/
|
||||
|
||||
* html .page_margins {
|
||||
/* Fallback if JavaScript is disabled */
|
||||
width: 80em;
|
||||
|
||||
/* JS-Expression for min-/max-width simulation */
|
||||
width: expression((document.documentElement && document.documentElement.clientHeight) ? ((document.documentElement.clientWidth < 740) ? "740px" : ((document.documentElement.clientWidth > (80 * 16 * (parseInt(this.parentNode.currentStyle.fontSize) / 100))) ? "80em" : "auto" )) : ((document.body.clientWidth < 740) ? "740px" : ((document.body.clientWidth > (80 * 16 * (parseInt(this.parentNode.currentStyle.fontSize) / 100))) ? "80em" : "auto" )));
|
||||
}
|
||||
}
|
|
@ -1,151 +0,0 @@
|
|||
@charset "UTF-8";
|
||||
/**
|
||||
* "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
|
||||
*
|
||||
* (en) Screen layout for YAML examples
|
||||
* (de) Bildschirmlayout für YAML-Beispiele
|
||||
*
|
||||
* @copyright Copyright 2005-2010, Dirk Jesse
|
||||
* @license CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
|
||||
* YAML-C (http://www.yaml.de/en/license/license-conditions.html)
|
||||
* @link http://www.yaml.de
|
||||
* @package yaml
|
||||
* @version 3.2.1
|
||||
* @revision $Revision: 443 $
|
||||
* @lastmodified $Date: 2009-12-31 18:05:05 +0100 (Do, 31. Dez 2009) $
|
||||
*/
|
||||
|
||||
@media screen, projection
|
||||
{
|
||||
/**
|
||||
* (en) Forcing vertical scrollbars in IE8, Firefox, Webkit & Opera
|
||||
* (de) Erzwingen vertikaler Scrollbalken in IE8, Firefox, Webkit & Opera
|
||||
*
|
||||
* @workaround
|
||||
* @affected IE8, FF, Webkit, Opera
|
||||
* @css-for all
|
||||
* @valid CSS3
|
||||
*/
|
||||
|
||||
body { overflow-y: scroll; }
|
||||
|
||||
/*------------------------------------------------------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* (en) Formatting YAML's basic layout elements
|
||||
* (de) Gestaltung des YAML Basis-Layouts
|
||||
*/
|
||||
|
||||
/* (en) Marginal areas & page background */
|
||||
/* (de) Randbereiche & Seitenhintergrund */
|
||||
body { background: #4d87c7 url("../../images/bg_blue.png") repeat-x top left fixed; padding: 10px 0; }
|
||||
|
||||
/* (en) Centering layout in old IE-versions */
|
||||
/* (de) Zentrierung des Layouts in alten IE-versionen */
|
||||
body { text-align: center; }
|
||||
.page_margins { text-align:left; margin: 0 auto; }
|
||||
|
||||
/* (en) Layout: width, background, borders */
|
||||
/* (de) Layout: Breite, Hintergrund, Rahmen */
|
||||
/* .page_margins { min-width: 740px; max-width: 80em; background: #fff; } */
|
||||
.page_margins { min-width: 99%; max-width:99%; background:#fff;}
|
||||
.page { padding: 10px; }
|
||||
|
||||
/* (en) Designing main layout elements */
|
||||
/* (de) Gestaltung der Hauptelemente des Layouts */
|
||||
|
||||
#header {
|
||||
color: #000;
|
||||
background: #fff repeat-x top left;
|
||||
padding: 45px 2em 1em 20px;
|
||||
}
|
||||
|
||||
#topnav { color: #aaa; background: transparent; }
|
||||
|
||||
/* (en) adjustment of main navigation */
|
||||
/* (de) Anpassung der Hauptnavigation */
|
||||
#nav ul { margin-left: 20px; }
|
||||
|
||||
#main { background: #fff;padding:10px 0; }
|
||||
|
||||
#footer {
|
||||
color:#666;
|
||||
background: #f9f9f9;
|
||||
padding: 10px 20px;
|
||||
border-top: 5px #efefef solid;
|
||||
line-height: 1.5em;
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* (en) Formatting content container
|
||||
* (de) Formatierung der Inhalts-Container
|
||||
*
|
||||
* |-------------------------------|
|
||||
* | #header |
|
||||
* |-------------------------------|
|
||||
* | #col1 | #col3 | #col2 |
|
||||
* | 25% | flexible | 25% |
|
||||
* |-------------------------------|
|
||||
* | #footer |
|
||||
* |-------------------------------|
|
||||
*/
|
||||
|
||||
|
||||
#col1 { width: 25%; }
|
||||
#col1_content { padding: 10px 10px 10px 20px; }
|
||||
|
||||
#col2 { width: 25%; }
|
||||
#col2_content { padding: 10px 20px 10px 10px; }
|
||||
|
||||
#col3 { margin: 0 25%; }
|
||||
#col3_content { padding: 10px; }
|
||||
|
||||
/*------------------------------------------------------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* (en) Styling of layout specific elements
|
||||
* (de) Gestaltung layoutabhängiger Elemente
|
||||
*/
|
||||
|
||||
#header h1 {
|
||||
font-weight:bold;
|
||||
font-size:2.5em;
|
||||
letter-spacing:-2px;
|
||||
line-height:65%;
|
||||
color:#000;
|
||||
}
|
||||
|
||||
#header span { color:#999; }
|
||||
|
||||
#topnav a { color: #999; font-weight: normal; background:transparent; text-decoration:none; }
|
||||
#topnav a:focus,
|
||||
#topnav a:hover,
|
||||
#topnav a:active { text-decoration:underline; background-color: transparent; }
|
||||
|
||||
#footer a { color: #999; background:transparent; font-weight: bold; }
|
||||
#footer a:focus,
|
||||
#footer a:hover,
|
||||
#footer a:active {color: #4D87C7; background-color: transparent; text-decoration:underline; }
|
||||
|
||||
/**
|
||||
* ------------------------------------------------------------------------------------------------- #
|
||||
*
|
||||
* Skiplinks
|
||||
*
|
||||
* (en) Visual styling for skiplink navigation
|
||||
* (de) Visuelle Gestaltung der Skiplink-Navigation
|
||||
*
|
||||
* @section content-skiplinks
|
||||
*/
|
||||
|
||||
#skiplinks a.skip:focus,
|
||||
#skiplinks a.skip:active {
|
||||
color: #fff;
|
||||
background: #333;
|
||||
border-bottom: 1px #000 solid;
|
||||
padding: 10px 0;
|
||||
text-decoration:none;
|
||||
}
|
||||
}
|
|
@ -1,42 +0,0 @@
|
|||
@charset "UTF-8";
|
||||
/**
|
||||
* "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
|
||||
*
|
||||
* (en) Variation of screen layout (basemod.css) for layout example "2col_left_13"
|
||||
* (de) Variation des Screenlayouts (basemod.css) für Layoutbeispiel "2col_left_13"
|
||||
*
|
||||
* @copyright Copyright 2005-2010, Dirk Jesse
|
||||
* @license CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
|
||||
* YAML-C (http://www.yaml.de/en/license/license-conditions.html)
|
||||
* @link http://www.yaml.de
|
||||
* @package yaml
|
||||
* @version 3.2.1
|
||||
* @revision $Revision: 443 $
|
||||
* @lastmodified $Date: 2009-12-31 18:05:05 +0100 (Do, 31. Dez 2009) $
|
||||
*/
|
||||
|
||||
@media screen, projection
|
||||
{
|
||||
/**
|
||||
* (en) Repositioning content container
|
||||
* (de) Neupositionierung der Content Container
|
||||
*
|
||||
* |-------------------------------|
|
||||
* | #header |
|
||||
* |-------------------------------|
|
||||
* | #col1 | #col3 |
|
||||
* | 25% | flexible |
|
||||
* |-------------------------------|
|
||||
* | #footer |
|
||||
* |-------------------------------|
|
||||
*/
|
||||
|
||||
/* Fixed width for left column | Fixe Breite für Linke Spalte */
|
||||
#col1 { width: 25%; }
|
||||
|
||||
/* Hide right column | Rechte Spalte abschalten */
|
||||
#col2, #col2_content { display:none; }
|
||||
|
||||
#col3 { margin-left: 25%; margin-right: 0; }
|
||||
#col3_content { padding: 10px 20px 10px 10px; }
|
||||
}
|
|
@ -1,42 +0,0 @@
|
|||
@charset "UTF-8";
|
||||
/**
|
||||
* "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
|
||||
*
|
||||
* (en) Variation of screen layout (basemod.css) for layout example "2col_left_31"
|
||||
* (de) Variation des Screenlayouts (basemod.css) für Layoutbeispiel "2col_left_31"
|
||||
*
|
||||
* @copyright Copyright 2005-2010, Dirk Jesse
|
||||
* @license CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
|
||||
* YAML-C (http://www.yaml.de/en/license/license-conditions.html)
|
||||
* @link http://www.yaml.de
|
||||
* @package yaml
|
||||
* @version 3.2.1
|
||||
* @revision $Revision: 443 $
|
||||
* @lastmodified $Date: 2009-12-31 18:05:05 +0100 (Do, 31. Dez 2009) $
|
||||
*/
|
||||
|
||||
@media screen, projection
|
||||
{
|
||||
/**
|
||||
* (en) Repositioning content container
|
||||
* (de) Neupositionierung der Content Container
|
||||
*
|
||||
* |-------------------------------|
|
||||
* | #header |
|
||||
* |-------------------------------|
|
||||
* | #col3 | #col1 |
|
||||
* | flexible| 75% |
|
||||
* |-------------------------------|
|
||||
* | #footer |
|
||||
* |-------------------------------|
|
||||
*/
|
||||
|
||||
/* left column | linke Spalte */
|
||||
#col1 { width: 99%; float:right;}
|
||||
#col1_content { padding-left: 10px; padding-right: 20px; }
|
||||
|
||||
/* right column | Rechte Spalte */
|
||||
#col2, #col2_content { display:none; }
|
||||
|
||||
#col3, #col3_content { display:none; }
|
||||
}
|
|
@ -1,43 +0,0 @@
|
|||
@charset "UTF-8";
|
||||
/**
|
||||
* "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
|
||||
*
|
||||
* (en) Variation of screen layout (basemod.css) for layout example "2col_right_13"
|
||||
* (de) Variation des Screenlayouts (basemod.css) für Layoutbeispiel "2col_right_13"
|
||||
*
|
||||
* @copyright Copyright 2005-2010, Dirk Jesse
|
||||
* @license CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
|
||||
* YAML-C (http://www.yaml.de/en/license/license-conditions.html)
|
||||
* @link http://www.yaml.de
|
||||
* @package yaml
|
||||
* @version 3.2.1
|
||||
* @revision $Revision: 443 $
|
||||
* @lastmodified $Date: 2009-12-31 18:05:05 +0100 (Do, 31. Dez 2009) $
|
||||
*/
|
||||
|
||||
@media screen, projection
|
||||
{
|
||||
/**
|
||||
* (en) Repositioning content container
|
||||
* (de) Neupositionierung der Content Container
|
||||
*
|
||||
* |-------------------------------|
|
||||
* | #header |
|
||||
* |-------------------------------|
|
||||
* | #col1 | #col3 |
|
||||
* | 75% | flexible|
|
||||
* |-------------------------------|
|
||||
* | #footer |
|
||||
* |-------------------------------|
|
||||
*/
|
||||
|
||||
/* #col1 becomes main column | Linke float-Spalte wird zur Inhaltsspalte */
|
||||
#col1 { width: 75%; }
|
||||
|
||||
/* hide #col2 | Rechte Spalte abschalten */
|
||||
#col2, #col2_content { display:none }
|
||||
|
||||
/* #col3 moves to the right | Linken Randabstand anpassen - #col3 wird zur Randspalte */
|
||||
#col3 { margin-left:75%; margin-right:0; }
|
||||
#col3_content { padding-left: 10px; padding-right: 20px; }
|
||||
}
|
|
@ -1,44 +0,0 @@
|
|||
@charset "UTF-8";
|
||||
/**
|
||||
* "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
|
||||
*
|
||||
* (en) Variation of screen layout (basemod.css) for layout example "2col_right_31"
|
||||
* (de) Variation des Screenlayouts (basemod.css) für Layoutbeispiel "2col_right_31"
|
||||
*
|
||||
* @copyright Copyright 2005-2010, Dirk Jesse
|
||||
* @license CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
|
||||
* YAML-C (http://www.yaml.de/en/license/license-conditions.html)
|
||||
* @link http://www.yaml.de
|
||||
* @package yaml
|
||||
* @version 3.2.1
|
||||
* @revision $Revision: 443 $
|
||||
* @lastmodified $Date: 2009-12-31 18:05:05 +0100 (Do, 31. Dez 2009) $
|
||||
*/
|
||||
|
||||
@media screen, projection
|
||||
{
|
||||
/**
|
||||
* (en) Repositioning content container
|
||||
* (de) Neupositionierung der Content Container
|
||||
*
|
||||
* |-------------------------------|
|
||||
* | #header |
|
||||
* |-------------------------------|
|
||||
* | #col3 | #col1 |
|
||||
* | flexible | 25% |
|
||||
* |-------------------------------|
|
||||
* | #footer |
|
||||
* |-------------------------------|
|
||||
*/
|
||||
|
||||
/* Move #col1 to the right | #col1 nach rechts verschieben */
|
||||
#col1 { float:right; width: 25%; }
|
||||
#col1_content { padding-left: 10px; padding-right: 20px; }
|
||||
|
||||
/* Hide #col2 | #col2 abschalten */
|
||||
#col2, #col2_content { display:none }
|
||||
|
||||
/* Adjust right margin | Rechten Randabstand anpassen */
|
||||
#col3 { margin-left:0; margin-right:25%; }
|
||||
#col3_content { padding-left: 20px; padding-right: 10px; }
|
||||
}
|
|
@ -1,223 +0,0 @@
|
|||
@charset "UTF-8";
|
||||
/**
|
||||
* "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
|
||||
*
|
||||
* (en) Uniform design of standard content elements
|
||||
* (de) Einheitliche Standardformatierungen für die wichtigten Inhalts-Elemente
|
||||
*
|
||||
* @copyright Copyright 2005-2010, Dirk Jesse
|
||||
* @license CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
|
||||
* YAML-C (http://www.yaml.de/en/license/license-conditions.html)
|
||||
* @link http://www.yaml.de
|
||||
* @package yaml
|
||||
* @version 3.2.1
|
||||
* @revision $Revision:392 $
|
||||
* @lastmodified $Date:2009-07-05 12:18:40 +0200 (So, 05. Jul 2009) $
|
||||
* @appdef yaml
|
||||
*/
|
||||
|
||||
@media all
|
||||
{
|
||||
/**
|
||||
* Fonts
|
||||
*
|
||||
* (en) global settings of font-families and font-sizes
|
||||
* (de) Globale Einstellungen für Zeichensatz und Schriftgrößen
|
||||
*
|
||||
* @section content-global-settings
|
||||
*/
|
||||
|
||||
/* (en) reset font size for all elements to standard (16 Pixel) */
|
||||
/* (de) Alle Schriftgrößen auf Standardgröße (16 Pixel) zurücksetzen */
|
||||
html * { font-size:100.01%; }
|
||||
|
||||
/**
|
||||
* (en) reset monospaced elements to font size 16px in all browsers
|
||||
* (de) Schriftgröße von monospaced Elemente in allen Browsern auf 16 Pixel setzen
|
||||
*
|
||||
* @see: http://webkit.org/blog/67/strange-medium/
|
||||
*/
|
||||
|
||||
textarea, pre, code, kbd, samp, var, tt {
|
||||
font-family:Consolas, "Lucida Console", "Andale Mono", "Bitstream Vera Sans Mono", "Courier New", Courier;
|
||||
}
|
||||
|
||||
/* (en) base layout gets standard font size 12px */
|
||||
/* (de) Basis-Layout erhält Standardschriftgröße von 12 Pixeln */
|
||||
body {
|
||||
font-family:Arial, Helvetica, sans-serif;
|
||||
font-size:75.00%;
|
||||
color:#444;
|
||||
}
|
||||
|
||||
/*--- Headings | Überschriften ------------------------------------------------------------------------*/
|
||||
|
||||
h1,h2,h3,h4,h5,h6 {
|
||||
font-family:"Times New Roman", Times, serif;
|
||||
font-weight:normal;
|
||||
color:#222;
|
||||
margin:0 0 0.25em 0;
|
||||
}
|
||||
|
||||
h1 { font-size:250%; } /* 30px */
|
||||
h2 { font-size:200%; } /* 24px */
|
||||
h3 { font-size:150%; } /* 18px */
|
||||
h4 { font-size:133.33%; } /* 16px */
|
||||
h5 { font-size:116.67%; } /* 14px */
|
||||
h6 { font-size:116.67%; } /* 14px */
|
||||
|
||||
/* --- Lists | Listen -------------------------------------------------------------------------------- */
|
||||
|
||||
ul, ol, dl { line-height:1.5em; margin:0 0 1em 1em; }
|
||||
ul { list-style-type:disc; }
|
||||
ul ul { list-style-type:circle; margin-bottom:0; }
|
||||
|
||||
ol { list-style-type:decimal; }
|
||||
ol ol { list-style-type:lower-latin; margin-bottom:0; }
|
||||
|
||||
li { margin-left:0.8em; line-height:1.5em; }
|
||||
|
||||
dt { font-weight:bold; }
|
||||
dd { margin:0 0 1em 0.8em; }
|
||||
|
||||
/* --- general text formatting | Allgemeine Textauszeichnung ------------------------------------------ */
|
||||
|
||||
p { line-height:1.5em; margin:0 0 1em 0; }
|
||||
|
||||
blockquote, cite, q {
|
||||
font-family:Georgia, "Times New Roman", Times, serif;
|
||||
font-style:italic;
|
||||
}
|
||||
blockquote { margin:0 0 1em 1.6em; color:#666; }
|
||||
|
||||
strong,b { font-weight:bold; }
|
||||
em,i { font-style:italic; }
|
||||
|
||||
big { font-size:116.667%; }
|
||||
small { font-size:91.667%; }
|
||||
|
||||
pre { line-height:1.5em; margin:0 0 1em 0; }
|
||||
pre, code, kbd, tt, samp, var { font-size:100%; }
|
||||
pre, code { color:#800; }
|
||||
kbd, samp, var, tt { color:#666; font-weight:bold; }
|
||||
var, dfn { font-style:italic; }
|
||||
|
||||
acronym, abbr {
|
||||
border-bottom:1px #aaa dotted;
|
||||
font-variant:small-caps;
|
||||
letter-spacing:.07em;
|
||||
cursor:help;
|
||||
}
|
||||
|
||||
sub, sup { font-size:91.6667%; line-height:0; }
|
||||
|
||||
hr {
|
||||
color:#fff;
|
||||
background:transparent;
|
||||
margin:0 0 0.5em 0;
|
||||
padding:0 0 0.5em 0;
|
||||
border:0;
|
||||
border-bottom:1px #eee solid;
|
||||
}
|
||||
|
||||
/*--- Links ----------------------------------------------------------------------------------------- */
|
||||
|
||||
a { color:#4D87C7; background:transparent; text-decoration:none; }
|
||||
a:visited { color:#036; }
|
||||
|
||||
/* (en) maximum constrast for tab focus - change with great care */
|
||||
/* (en) Maximaler Kontrast für Tab Focus - Ändern Sie diese Regel mit Bedacht */
|
||||
a:focus { text-decoration:underline; color:#000; background: #fff; outline: 3px #f93 solid; }
|
||||
a:hover,
|
||||
a:active { color:#182E7A; text-decoration:underline; outline: 0 none; }
|
||||
|
||||
/* --- images (with optional captions) | Bilder (mit optionaler Bildunterschrift) ------------------ */
|
||||
|
||||
p.icaption_left { float:left; display:inline; margin:0 1em 0.15em 0; }
|
||||
p.icaption_right { float:right; display:inline; margin:0 0 0.15em 1em; }
|
||||
|
||||
p.icaption_left img,
|
||||
p.icaption_right img { padding:0; border:1px #888 solid; }
|
||||
|
||||
p.icaption_left strong,
|
||||
p.icaption_right strong { display:block; overflow:hidden; margin-top:2px; padding:0.3em 0.5em; background:#eee; font-weight:normal; font-size:91.667%; }
|
||||
|
||||
/**
|
||||
* ------------------------------------------------------------------------------------------------- #
|
||||
*
|
||||
* Generic Content Classes
|
||||
*
|
||||
* (en) standard classes for positioning and highlighting
|
||||
* (de) Standardklassen zur Positionierung und Hervorhebung
|
||||
*
|
||||
* @section content-generic-classes
|
||||
*/
|
||||
|
||||
.highlight { color:#c30; }
|
||||
.dimmed { color:#888; }
|
||||
|
||||
.info { background:#f8f8f8; color:#666; padding:10px; margin-bottom:0.5em; font-size:91.7%; }
|
||||
|
||||
.note { background:#efe; color:#040; border:2px #484 solid; padding:10px; margin-bottom:1em; }
|
||||
.important { background:#ffe; color:#440; border:2px #884 solid; padding:10px; margin-bottom:1em; }
|
||||
.warning { background:#fee; color:#400; border:2px #844 solid; padding:10px; margin-bottom:1em; }
|
||||
|
||||
.float_left { float:left; display:inline; margin-right:1em; margin-bottom:0.15em; }
|
||||
.float_right { float:right; display:inline; margin-left:1em; margin-bottom:0.15em; }
|
||||
.center { display:block; text-align:center; margin:0.5em auto; }
|
||||
|
||||
/**
|
||||
* ------------------------------------------------------------------------------------------------- #
|
||||
*
|
||||
* Tables | Tabellen
|
||||
*
|
||||
* (en) Generic classes for table-width and design definition
|
||||
* (de) Generische Klassen für die Tabellenbreite und Gestaltungsvorschriften für Tabellen
|
||||
*
|
||||
* @section content-tables
|
||||
*/
|
||||
|
||||
table { width:auto; border-collapse:collapse; margin-bottom:0.5em; border-top:2px #888 solid; border-bottom:2px #888 solid; }
|
||||
table caption { font-variant:small-caps; }
|
||||
table.full { width:100%; }
|
||||
table.fixed { table-layout:fixed; }
|
||||
|
||||
th,td { padding:0.5em; }
|
||||
thead th { color:#000; border-bottom:2px #800 solid; }
|
||||
tbody th { background:#e0e0e0; color:#333; }
|
||||
tbody th[scope="row"], tbody th.sub { background:#f0f0f0; }
|
||||
|
||||
tbody th { border-bottom:1px solid #fff; text-align:left; }
|
||||
tbody td { border-bottom:1px solid #eee; }
|
||||
|
||||
tbody tr:hover th[scope="row"],
|
||||
tbody tr:hover tbody th.sub { background:#f0e8e8; }
|
||||
tbody tr:hover td { background:#fff8f8; }
|
||||
|
||||
/**
|
||||
* ------------------------------------------------------------------------------------------------- #
|
||||
*
|
||||
* Miscellaneous | Sonstiges
|
||||
*
|
||||
* @section content-misc
|
||||
*/
|
||||
|
||||
/**
|
||||
* (en) Emphasizing external Hyperlinks via CSS
|
||||
* (de) Hervorhebung externer Hyperlinks mit CSS
|
||||
*
|
||||
* @section content-external-links
|
||||
* @app-yaml-default disabled
|
||||
*/
|
||||
|
||||
/*
|
||||
#main a[href^="http://www.my-domain.com"],
|
||||
#main a[href^="https://www.my-domain.com"]
|
||||
{
|
||||
padding-left:12px;
|
||||
background-image:url('your_image.gif');
|
||||
background-repeat:no-repeat;
|
||||
background-position:0 0.45em;
|
||||
}
|
||||
*/
|
||||
}
|
|
@ -1,184 +0,0 @@
|
|||
/**
|
||||
* Accessible Tabs - jQuery plugin for accessible, unobtrusive tabs
|
||||
* Build to seemlessly work with the CCS-Framework YAML (yaml.de) not depending on YAML though
|
||||
* @requires jQuery v1.0.3
|
||||
*
|
||||
* english article: http://blog.ginader.de/archives/2009/02/07/jQuery-Accessible-Tabs-How-to-make-tabs-REALLY-accessible.php
|
||||
* german article: http://blog.ginader.de/archives/2009/02/07/jQuery-Accessible-Tabs-Wie-man-Tabs-WIRKLICH-zugaenglich-macht.php
|
||||
*
|
||||
* code: http://github.com/ginader/Accessible-Tabs
|
||||
* please report issues at: http://github.com/ginader/Accessible-Tabs/issues
|
||||
*
|
||||
* Copyright (c) 2007 Dirk Ginader (ginader.de)
|
||||
* Dual licensed under the MIT and GPL licenses:
|
||||
* http://www.opensource.org/licenses/mit-license.php
|
||||
* http://www.gnu.org/licenses/gpl.html
|
||||
*
|
||||
* Version: 1.5
|
||||
*
|
||||
* History:
|
||||
* * 1.0 initial release
|
||||
* * 1.1 added a lot of Accessibility enhancements
|
||||
* * * rewrite to use "fn.extend" structure
|
||||
* * * added check for existing ids on the content containers to use to proper anchors in the tabs
|
||||
* * 1.1.1 changed the headline markup. thanks to Mike Davies for the hint.
|
||||
* * 1.5 thanks to Dirk Jesse, Ansgar Hein, David Maciejewski and Mike West for commiting patches to this release
|
||||
* * * new option syncheights that syncs the heights of the tab contents when the SyncHeight plugin
|
||||
* * is available http://blog.ginader.de/dev/jquery/syncheight/index.php
|
||||
* * * fixed the hardcoded current class
|
||||
* * * new option tabsListClass to be applied to the generated list of tabs above the content so lists
|
||||
* * inside the tabscontent can be styled differently
|
||||
* * * added clearfix and tabcounter that adds a class in the schema "tabamount{number amount of tabs}"
|
||||
* * to the ul containg the tabs so one can style the tabs to fit 100% into the width
|
||||
* * * new option "syncHeightMethodName" fixed issue: http://github.com/ginader/Accessible-Tabs/issues/2/find
|
||||
* * * new Method showAccessibleTab({index number of the tab to show starting with 0}) fixed issue: http://github.com/ginader/Accessible-Tabs/issues/3/find
|
||||
* * * added support for the Cursor Keys to come closer to the WAI ARIA Tab Panel Best Practices http://github.com/ginader/Accessible-Tabs/issues/1/find
|
||||
*/
|
||||
|
||||
|
||||
(function($) {
|
||||
var debugMode = false;
|
||||
$.fn.extend({
|
||||
getUniqueId: function(p){
|
||||
return p + new Date().getTime();
|
||||
},
|
||||
accessibleTabs: function(config) {
|
||||
var defaults = {
|
||||
wrapperClass: 'content', // Classname to apply to the div that is wrapped around the original Markup
|
||||
currentClass: 'current', // Classname to apply to the LI of the selected Tab
|
||||
tabhead: 'h3', // Tag or valid Query Selector of the Elements to Transform the Tabs-Navigation from (originals are removed)
|
||||
tabbody: '.tabbody', // Tag or valid Query Selector of the Elements to be treated as the Tab Body
|
||||
fx:'show', // can be "fadeIn", "slideDown", "show"
|
||||
fxspeed: 'normal', // speed (String|Number): "slow", "normal", or "fast") or the number of milliseconds to run the animation
|
||||
currentInfoText: 'current tab: ', // text to indicate for screenreaders which tab is the current one
|
||||
currentInfoPosition: 'prepend', // Definition where to insert the Info Text. Can be either "prepend" or "append"
|
||||
currentInfoClass: 'current-info', // Class to apply to the span wrapping the CurrentInfoText
|
||||
tabsListClass:'tabs-list', // Class to apply to the generated list of tabs above the content
|
||||
syncheights:false, // syncs the heights of the tab contents when the SyncHeight plugin is available http://blog.ginader.de/dev/jquery/syncheight/index.php
|
||||
syncHeightMethodName:'syncHeight' // set the Method name of the plugin you want to use to sync the tab contents. Defaults to the SyncHeight plugin: http://github.com/ginader/syncHeight
|
||||
};
|
||||
// cursor key codes
|
||||
/*
|
||||
backspace 8
|
||||
tab 9
|
||||
enter 13
|
||||
shift 16
|
||||
ctrl 17
|
||||
alt 18
|
||||
pause/break 19
|
||||
caps lock 20
|
||||
escape 27
|
||||
page up 33
|
||||
page down 34
|
||||
end 35
|
||||
home 36
|
||||
left arrow 37
|
||||
up arrow 38
|
||||
right arrow 39
|
||||
down arrow 40
|
||||
insert 45
|
||||
delete 46
|
||||
*/
|
||||
var keyCodes = {
|
||||
37 : -1, //LEFT
|
||||
38 : -1, //UP
|
||||
39 : +1, //RIGHT
|
||||
40 : +1 //DOWN
|
||||
};
|
||||
this.options = $.extend(defaults, config);
|
||||
var o = this;
|
||||
return this.each(function() {
|
||||
var el = $(this);
|
||||
var list = '';
|
||||
var tabCount = 0;
|
||||
|
||||
var contentAnchor = o.getUniqueId('accessibletabscontent');
|
||||
var tabsAnchor = o.getUniqueId('accessibletabs');
|
||||
$(el).wrapInner('<div class="'+o.options.wrapperClass+'"></div>');
|
||||
|
||||
$(el).find(o.options.tabhead).each(function(i){
|
||||
var id = '';
|
||||
if(i === 0){
|
||||
id =' id="'+tabsAnchor+'"';
|
||||
}
|
||||
list += '<li><a'+id+' href="#'+contentAnchor+'">'+$(this).text()+'</a></li>';
|
||||
$(this).remove();
|
||||
tabCount++;
|
||||
});
|
||||
|
||||
$(el).prepend('<ul class="clearfix '+o.options.tabsListClass+' tabamount'+tabCount+'">'+list+'</ul>');
|
||||
$(el).find(o.options.tabbody).hide();
|
||||
$(el).find(o.options.tabbody+':first').show().before('<'+o.options.tabhead+'><a tabindex="0" class="accessibletabsanchor" name="'+contentAnchor+'" id="'+contentAnchor+'">'+$(el).find("ul>li:first").text()+'</a></'+o.options.tabhead+'>');
|
||||
$(el).find("ul>li:first").addClass(o.options.currentClass)
|
||||
.find('a')[o.options.currentInfoPosition]('<span class="'+o.options.currentInfoClass+'">'+o.options.currentInfoText+'</span>');
|
||||
|
||||
if (o.options.syncheights && $.fn[o.options.syncHeightMethodName]) {
|
||||
$(el).find(o.options.tabbody)[o.options.syncHeightMethodName]();
|
||||
$(window).resize(function(){
|
||||
$(el).find(o.options.tabbody)[o.options.syncHeightMethodName]();
|
||||
});
|
||||
}
|
||||
|
||||
$(el).find('ul.'+o.options.tabsListClass+'>li>a').each(function(i){
|
||||
$(this).click(function(event){
|
||||
event.preventDefault();
|
||||
$(el).find('ul>li.'+o.options.currentClass).removeClass(o.options.currentClass)
|
||||
.find("span."+o.options.currentInfoClass).remove();
|
||||
$(this).blur();
|
||||
$(el).find(o.options.tabbody+':visible').hide();
|
||||
$(el).find(o.options.tabbody).eq(i)[o.options.fx](o.options.fxspeed);
|
||||
$( '#'+contentAnchor ).text( $(this).text() ).focus().keyup(function(event){
|
||||
if(keyCodes[event.keyCode]){
|
||||
o.showAccessibleTab(i+keyCodes[event.keyCode]);
|
||||
debug(i);
|
||||
$(this).unbind( "keyup" );
|
||||
}
|
||||
});
|
||||
$(this)[o.options.currentInfoPosition]('<span class="'+o.options.currentInfoClass+'">'+o.options.currentInfoText+'</span>')
|
||||
.parent().addClass(o.options.currentClass);
|
||||
|
||||
|
||||
// $(el).find('.accessibletabsanchor').keyup(function(event){
|
||||
// if(keyCodes[event.keyCode]){
|
||||
// o.showAccessibleTab(i+keyCodes[event.keyCode]);
|
||||
// }
|
||||
// });
|
||||
|
||||
|
||||
});
|
||||
|
||||
$(this).focus(function(event){
|
||||
debug($(this));
|
||||
$(document).keyup(function(event){
|
||||
if(keyCodes[event.keyCode]){
|
||||
o.showAccessibleTab(i+keyCodes[event.keyCode]);
|
||||
}
|
||||
});
|
||||
});
|
||||
$(this).blur(function(event){
|
||||
$(document).unbind( "keyup" );
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
});
|
||||
},
|
||||
showAccessibleTab: function(index){
|
||||
debug('showAccessibleTab');
|
||||
debug(index);
|
||||
var o = this;
|
||||
return this.each(function() {
|
||||
var el = $(this);
|
||||
var links = el.find('ul.'+o.options.tabsListClass+'>li>a');
|
||||
debug(links);
|
||||
links.eq(index).click();
|
||||
});
|
||||
}
|
||||
});
|
||||
// private Methods
|
||||
function debug(msg){
|
||||
if(debugMode && window.console && window.console.log){
|
||||
window.console.log(msg);
|
||||
}
|
||||
}
|
||||
})(jQuery);
|
|
@ -1,131 +0,0 @@
|
|||
@charset "UTF-8";
|
||||
/**
|
||||
* "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
|
||||
*
|
||||
* (en) Styles for accessible tabs plugin
|
||||
* (de) Gestaltung des Plugins für barrierefreie Tabreiter
|
||||
*
|
||||
* @copyright Copyright 2005-2010, Dirk Jesse
|
||||
* @license CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
|
||||
* YAML-C (http://www.yaml.de/en/license/license-conditions.html)
|
||||
* @link http://www.yaml.de
|
||||
* @package yaml
|
||||
* @version 3.2.1
|
||||
* @revision $Revision: 443 $
|
||||
* @lastmodified $Date: 2009-12-31 18:05:05 +0100 (Do, 31. Dez 2009) $
|
||||
*/
|
||||
|
||||
@media screen, projection
|
||||
{
|
||||
.jquery_tabs {
|
||||
display:table;
|
||||
margin:0 0 1em 0;
|
||||
width:100%;
|
||||
}
|
||||
|
||||
.jquery_tabs ul.tabs-list {
|
||||
display:block;
|
||||
font-size:1em;
|
||||
line-height:1em;
|
||||
list-style-type:none;
|
||||
margin:0;
|
||||
position:relative;
|
||||
z-index:1;
|
||||
}
|
||||
|
||||
.jquery_tabs ul.tabs-list li a {
|
||||
font-size:1em;
|
||||
line-height:1em;
|
||||
padding:5px 10px;
|
||||
}
|
||||
|
||||
.jquery_tabs .content {
|
||||
border:1px #888 solid;
|
||||
clear:both;
|
||||
padding:0.5em;
|
||||
position:relative;
|
||||
top:-1px;
|
||||
margin-bottom:-1px;
|
||||
}
|
||||
|
||||
.jquery_tabs ul.tabs-list li {
|
||||
border:0 none;
|
||||
display:inline;
|
||||
float:left;
|
||||
margin:0 0.3em 0 0;
|
||||
padding:0;
|
||||
}
|
||||
|
||||
.jquery_tabs ul.tabs-list li a {
|
||||
background:#ccc;
|
||||
border:1px solid #888;
|
||||
color:#333;
|
||||
display:block;
|
||||
float:left;
|
||||
font-weight:bold;
|
||||
margin:0;
|
||||
}
|
||||
|
||||
.jquery_tabs ul.tabs-list li a:focus,
|
||||
.jquery_tabs ul.tabs-list li a:hover,
|
||||
.jquery_tabs ul.tabs-list li a:active {
|
||||
background:#f0f0f0;
|
||||
color:#333;
|
||||
font-weight:bold;
|
||||
text-decoration:none;
|
||||
}
|
||||
|
||||
.jquery_tabs ul.tabs-list li.current a,
|
||||
.jquery_tabs ul.tabs-list li.current a:focus,
|
||||
.jquery_tabs ul.tabs-list li.current a:hover,
|
||||
.jquery_tabs ul.tabs-list li.current a:active {
|
||||
background:#fff;
|
||||
border-bottom:0 none;
|
||||
color:#000;
|
||||
font-weight:bold;
|
||||
padding-bottom:6px;
|
||||
text-decoration:none;
|
||||
}
|
||||
|
||||
.js .jquery_tabs .current-info,
|
||||
.js .jquery_tabs .accessibletabsanchor{
|
||||
left:-999em;
|
||||
position:absolute;
|
||||
}
|
||||
|
||||
/**
|
||||
* Avoid margin collapsing to enable correct sync of all tabs
|
||||
*
|
||||
* @workaround
|
||||
* @affected all browsers
|
||||
* @css-for all browsers
|
||||
* @valid yes
|
||||
*/
|
||||
|
||||
.jquery_tabs .tab-content {
|
||||
border-bottom: 1px transparent solid;
|
||||
border-top: 1px transparent solid;
|
||||
}
|
||||
|
||||
/* IE < 7 don't support transparent borders */
|
||||
* html .jquery_tabs .tab-content {
|
||||
border-bottom: 1px #fff solid;
|
||||
border-top: 1px #fff solid;
|
||||
}
|
||||
|
||||
/**
|
||||
* Containing floats adjustment and stability fixes for Internet Explorer
|
||||
*
|
||||
* @workaround
|
||||
* @affected IE 5.x/Win, IE6, IE7
|
||||
* @css-for IE 5.x/Win, IE6, IE7
|
||||
* @valid no
|
||||
*/
|
||||
|
||||
* html .jquery_tabs .content { z-index:-1; }
|
||||
|
||||
* html .jquery_tabs { zoom:1; width:auto; position:relative; }
|
||||
*+html .jquery_tabs { zoom:1; width:auto; }
|
||||
|
||||
.jquery_tabs * { zoom:1; }
|
||||
}
|
До Ширина: | Высота: | Размер: 232 B |
До Ширина: | Высота: | Размер: 633 B |
До Ширина: | Высота: | Размер: 673 B |
До Ширина: | Высота: | Размер: 4.6 KiB |
До Ширина: | Высота: | Размер: 713 B |
До Ширина: | Высота: | Размер: 1.1 KiB |
До Ширина: | Высота: | Размер: 1.1 KiB |
До Ширина: | Высота: | Размер: 1.1 KiB |
До Ширина: | Высота: | Размер: 707 B |
До Ширина: | Высота: | Размер: 707 B |
До Ширина: | Высота: | Размер: 721 B |
До Ширина: | Высота: | Размер: 1.0 KiB |