finished migration to .NET 4.5 / MVC 4

This commit is contained in:
Alexander Zeitler 2013-06-14 20:58:16 +02:00
Родитель a189446f30
Коммит cd0c7e5379
171 изменённых файлов: 101 добавлений и 39508 удалений

Просмотреть файл

@ -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.&#xD;&#xA; at System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType)&#xD;&#xA; at System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName)&#xD;&#xA; at System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController&amp; controller, IControllerFactory&amp; factory)&#xD;&#xA; at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state)&#xD;&#xA; at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state)&#xD;&#xA; at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)&#xD;&#xA; at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()&#xD;&#xA; at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&amp; completedSynchronously)" time="2012-03-04T19:41:24.0470333Z" statusCode="404">
<serverVariables>
<item name="ALL_HTTP">
<value string="HTTP_CONNECTION:keep-alive&#xD;&#xA;HTTP_ACCEPT:*/*&#xD;&#xA;HTTP_ACCEPT_CHARSET:ISO-8859-1,utf-8;q=0.7,*;q=0.3&#xD;&#xA;HTTP_ACCEPT_ENCODING:gzip,deflate,sdch&#xD;&#xA;HTTP_ACCEPT_LANGUAGE:en-US,en;q=0.8&#xD;&#xA;HTTP_HOST:localhost:1398&#xD;&#xA;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&#xD;&#xA;" />
</item>
<item name="ALL_RAW">
<value string="Connection: keep-alive&#xD;&#xA;Accept: */*&#xD;&#xA;Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3&#xD;&#xA;Accept-Encoding: gzip,deflate,sdch&#xD;&#xA;Accept-Language: en-US,en;q=0.8&#xD;&#xA;Host: localhost:1398&#xD;&#xA;User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11&#xD;&#xA;" />
</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.&#xD;&#xA; at System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType)&#xD;&#xA; at System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName)&#xD;&#xA; at System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController&amp; controller, IControllerFactory&amp; factory)&#xD;&#xA; at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state)&#xD;&#xA; at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state)&#xD;&#xA; at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)&#xD;&#xA; at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()&#xD;&#xA; at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&amp; completedSynchronously)" time="2012-03-04T19:41:26.4216368Z" statusCode="404">
<serverVariables>
<item name="ALL_HTTP">
<value string="HTTP_CONNECTION:keep-alive&#xD;&#xA;HTTP_ACCEPT:*/*&#xD;&#xA;HTTP_ACCEPT_CHARSET:ISO-8859-1,utf-8;q=0.7,*;q=0.3&#xD;&#xA;HTTP_ACCEPT_ENCODING:gzip,deflate,sdch&#xD;&#xA;HTTP_ACCEPT_LANGUAGE:en-US,en;q=0.8&#xD;&#xA;HTTP_HOST:localhost:1398&#xD;&#xA;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&#xD;&#xA;" />
</item>
<item name="ALL_RAW">
<value string="Connection: keep-alive&#xD;&#xA;Accept: */*&#xD;&#xA;Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3&#xD;&#xA;Accept-Encoding: gzip,deflate,sdch&#xD;&#xA;Accept-Language: en-US,en;q=0.8&#xD;&#xA;Host: localhost:1398&#xD;&#xA;User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11&#xD;&#xA;" />
</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.&#xD;&#xA; at System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType)&#xD;&#xA; at System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName)&#xD;&#xA; at System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController&amp; controller, IControllerFactory&amp; factory)&#xD;&#xA; at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state)&#xD;&#xA; at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state)&#xD;&#xA; at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)&#xD;&#xA; at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()&#xD;&#xA; at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&amp; completedSynchronously)" time="2012-03-04T19:42:04.7852926Z" statusCode="404">
<serverVariables>
<item name="ALL_HTTP">
<value string="HTTP_CONNECTION:keep-alive&#xD;&#xA;HTTP_ACCEPT:*/*&#xD;&#xA;HTTP_ACCEPT_CHARSET:ISO-8859-1,utf-8;q=0.7,*;q=0.3&#xD;&#xA;HTTP_ACCEPT_ENCODING:gzip,deflate,sdch&#xD;&#xA;HTTP_ACCEPT_LANGUAGE:en-US,en;q=0.8&#xD;&#xA;HTTP_HOST:localhost:1398&#xD;&#xA;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&#xD;&#xA;" />
</item>
<item name="ALL_RAW">
<value string="Connection: keep-alive&#xD;&#xA;Accept: */*&#xD;&#xA;Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3&#xD;&#xA;Accept-Encoding: gzip,deflate,sdch&#xD;&#xA;Accept-Language: en-US,en;q=0.8&#xD;&#xA;Host: localhost:1398&#xD;&#xA;User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11&#xD;&#xA;" />
</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.&#xD;&#xA; at System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType)&#xD;&#xA; at System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName)&#xD;&#xA; at System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController&amp; controller, IControllerFactory&amp; factory)&#xD;&#xA; at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state)&#xD;&#xA; at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state)&#xD;&#xA; at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)&#xD;&#xA; at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()&#xD;&#xA; at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&amp; completedSynchronously)" time="2012-03-04T19:42:11.6163022Z" statusCode="404">
<serverVariables>
<item name="ALL_HTTP">
<value string="HTTP_CONNECTION:keep-alive&#xD;&#xA;HTTP_ACCEPT:*/*&#xD;&#xA;HTTP_ACCEPT_CHARSET:ISO-8859-1,utf-8;q=0.7,*;q=0.3&#xD;&#xA;HTTP_ACCEPT_ENCODING:gzip,deflate,sdch&#xD;&#xA;HTTP_ACCEPT_LANGUAGE:en-US,en;q=0.8&#xD;&#xA;HTTP_HOST:localhost:1398&#xD;&#xA;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&#xD;&#xA;" />
</item>
<item name="ALL_RAW">
<value string="Connection: keep-alive&#xD;&#xA;Accept: */*&#xD;&#xA;Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3&#xD;&#xA;Accept-Encoding: gzip,deflate,sdch&#xD;&#xA;Accept-Language: en-US,en;q=0.8&#xD;&#xA;Host: localhost:1398&#xD;&#xA;User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11&#xD;&#xA;" />
</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.&#xD;&#xA; at System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType)&#xD;&#xA; at System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName)&#xD;&#xA; at System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController&amp; controller, IControllerFactory&amp; factory)&#xD;&#xA; at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state)&#xD;&#xA; at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state)&#xD;&#xA; at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)&#xD;&#xA; at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()&#xD;&#xA; at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&amp; completedSynchronously)" time="2012-03-04T19:42:12.8873040Z" statusCode="404">
<serverVariables>
<item name="ALL_HTTP">
<value string="HTTP_CONNECTION:keep-alive&#xD;&#xA;HTTP_ACCEPT:*/*&#xD;&#xA;HTTP_ACCEPT_CHARSET:ISO-8859-1,utf-8;q=0.7,*;q=0.3&#xD;&#xA;HTTP_ACCEPT_ENCODING:gzip,deflate,sdch&#xD;&#xA;HTTP_ACCEPT_LANGUAGE:en-US,en;q=0.8&#xD;&#xA;HTTP_HOST:localhost:1398&#xD;&#xA;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&#xD;&#xA;" />
</item>
<item name="ALL_RAW">
<value string="Connection: keep-alive&#xD;&#xA;Accept: */*&#xD;&#xA;Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3&#xD;&#xA;Accept-Encoding: gzip,deflate,sdch&#xD;&#xA;Accept-Language: en-US,en;q=0.8&#xD;&#xA;Host: localhost:1398&#xD;&#xA;User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11&#xD;&#xA;" />
</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.&#xD;&#xA; at System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType)&#xD;&#xA; at System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName)&#xD;&#xA; at System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController&amp; controller, IControllerFactory&amp; factory)&#xD;&#xA; at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state)&#xD;&#xA; at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state)&#xD;&#xA; at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)&#xD;&#xA; at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()&#xD;&#xA; at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&amp; completedSynchronously)" time="2012-03-04T19:42:12.4473034Z" statusCode="404">
<serverVariables>
<item name="ALL_HTTP">
<value string="HTTP_CONNECTION:keep-alive&#xD;&#xA;HTTP_ACCEPT:*/*&#xD;&#xA;HTTP_ACCEPT_CHARSET:ISO-8859-1,utf-8;q=0.7,*;q=0.3&#xD;&#xA;HTTP_ACCEPT_ENCODING:gzip,deflate,sdch&#xD;&#xA;HTTP_ACCEPT_LANGUAGE:en-US,en;q=0.8&#xD;&#xA;HTTP_HOST:localhost:1398&#xD;&#xA;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&#xD;&#xA;" />
</item>
<item name="ALL_RAW">
<value string="Connection: keep-alive&#xD;&#xA;Accept: */*&#xD;&#xA;Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3&#xD;&#xA;Accept-Encoding: gzip,deflate,sdch&#xD;&#xA;Accept-Language: en-US,en;q=0.8&#xD;&#xA;Host: localhost:1398&#xD;&#xA;User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11&#xD;&#xA;" />
</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.&#xD;&#xA; at System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType)&#xD;&#xA; at System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName)&#xD;&#xA; at System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController&amp; controller, IControllerFactory&amp; factory)&#xD;&#xA; at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state)&#xD;&#xA; at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state)&#xD;&#xA; at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)&#xD;&#xA; at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()&#xD;&#xA; at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&amp; completedSynchronously)" time="2012-03-04T19:42:12.6673037Z" statusCode="404">
<serverVariables>
<item name="ALL_HTTP">
<value string="HTTP_CONNECTION:keep-alive&#xD;&#xA;HTTP_ACCEPT:*/*&#xD;&#xA;HTTP_ACCEPT_CHARSET:ISO-8859-1,utf-8;q=0.7,*;q=0.3&#xD;&#xA;HTTP_ACCEPT_ENCODING:gzip,deflate,sdch&#xD;&#xA;HTTP_ACCEPT_LANGUAGE:en-US,en;q=0.8&#xD;&#xA;HTTP_HOST:localhost:1398&#xD;&#xA;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&#xD;&#xA;" />
</item>
<item name="ALL_RAW">
<value string="Connection: keep-alive&#xD;&#xA;Accept: */*&#xD;&#xA;Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3&#xD;&#xA;Accept-Encoding: gzip,deflate,sdch&#xD;&#xA;Accept-Language: en-US,en;q=0.8&#xD;&#xA;Host: localhost:1398&#xD;&#xA;User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11&#xD;&#xA;" />
</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.&#xD;&#xA; at System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType)&#xD;&#xA; at System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName)&#xD;&#xA; at System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController&amp; controller, IControllerFactory&amp; factory)&#xD;&#xA; at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state)&#xD;&#xA; at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state)&#xD;&#xA; at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)&#xD;&#xA; at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()&#xD;&#xA; at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&amp; completedSynchronously)" time="2012-03-04T19:42:13.7773053Z" statusCode="404">
<serverVariables>
<item name="ALL_HTTP">
<value string="HTTP_CONNECTION:keep-alive&#xD;&#xA;HTTP_ACCEPT:*/*&#xD;&#xA;HTTP_ACCEPT_CHARSET:ISO-8859-1,utf-8;q=0.7,*;q=0.3&#xD;&#xA;HTTP_ACCEPT_ENCODING:gzip,deflate,sdch&#xD;&#xA;HTTP_ACCEPT_LANGUAGE:en-US,en;q=0.8&#xD;&#xA;HTTP_HOST:localhost:1398&#xD;&#xA;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&#xD;&#xA;" />
</item>
<item name="ALL_RAW">
<value string="Connection: keep-alive&#xD;&#xA;Accept: */*&#xD;&#xA;Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3&#xD;&#xA;Accept-Encoding: gzip,deflate,sdch&#xD;&#xA;Accept-Language: en-US,en;q=0.8&#xD;&#xA;Host: localhost:1398&#xD;&#xA;User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11&#xD;&#xA;" />
</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.&#xD;&#xA; at System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType)&#xD;&#xA; at System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName)&#xD;&#xA; at System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController&amp; controller, IControllerFactory&amp; factory)&#xD;&#xA; at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state)&#xD;&#xA; at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state)&#xD;&#xA; at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)&#xD;&#xA; at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()&#xD;&#xA; at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&amp; completedSynchronously)" time="2012-03-04T19:42:13.0773043Z" statusCode="404">
<serverVariables>
<item name="ALL_HTTP">
<value string="HTTP_CONNECTION:keep-alive&#xD;&#xA;HTTP_ACCEPT:*/*&#xD;&#xA;HTTP_ACCEPT_CHARSET:ISO-8859-1,utf-8;q=0.7,*;q=0.3&#xD;&#xA;HTTP_ACCEPT_ENCODING:gzip,deflate,sdch&#xD;&#xA;HTTP_ACCEPT_LANGUAGE:en-US,en;q=0.8&#xD;&#xA;HTTP_HOST:localhost:1398&#xD;&#xA;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&#xD;&#xA;" />
</item>
<item name="ALL_RAW">
<value string="Connection: keep-alive&#xD;&#xA;Accept: */*&#xD;&#xA;Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3&#xD;&#xA;Accept-Encoding: gzip,deflate,sdch&#xD;&#xA;Accept-Language: en-US,en;q=0.8&#xD;&#xA;Host: localhost:1398&#xD;&#xA;User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11&#xD;&#xA;" />
</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.&#xD;&#xA; at System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType)&#xD;&#xA; at System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName)&#xD;&#xA; at System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController&amp; controller, IControllerFactory&amp; factory)&#xD;&#xA; at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state)&#xD;&#xA; at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state)&#xD;&#xA; at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)&#xD;&#xA; at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()&#xD;&#xA; at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&amp; completedSynchronously)" time="2012-03-04T19:42:13.2973046Z" statusCode="404">
<serverVariables>
<item name="ALL_HTTP">
<value string="HTTP_CONNECTION:keep-alive&#xD;&#xA;HTTP_ACCEPT:*/*&#xD;&#xA;HTTP_ACCEPT_CHARSET:ISO-8859-1,utf-8;q=0.7,*;q=0.3&#xD;&#xA;HTTP_ACCEPT_ENCODING:gzip,deflate,sdch&#xD;&#xA;HTTP_ACCEPT_LANGUAGE:en-US,en;q=0.8&#xD;&#xA;HTTP_HOST:localhost:1398&#xD;&#xA;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&#xD;&#xA;" />
</item>
<item name="ALL_RAW">
<value string="Connection: keep-alive&#xD;&#xA;Accept: */*&#xD;&#xA;Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3&#xD;&#xA;Accept-Encoding: gzip,deflate,sdch&#xD;&#xA;Accept-Language: en-US,en;q=0.8&#xD;&#xA;Host: localhost:1398&#xD;&#xA;User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11&#xD;&#xA;" />
</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.&#xD;&#xA; at System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType)&#xD;&#xA; at System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName)&#xD;&#xA; at System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController&amp; controller, IControllerFactory&amp; factory)&#xD;&#xA; at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state)&#xD;&#xA; at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state)&#xD;&#xA; at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)&#xD;&#xA; at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()&#xD;&#xA; at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&amp; completedSynchronously)" time="2012-03-04T19:42:13.6073051Z" statusCode="404">
<serverVariables>
<item name="ALL_HTTP">
<value string="HTTP_CONNECTION:keep-alive&#xD;&#xA;HTTP_ACCEPT:*/*&#xD;&#xA;HTTP_ACCEPT_CHARSET:ISO-8859-1,utf-8;q=0.7,*;q=0.3&#xD;&#xA;HTTP_ACCEPT_ENCODING:gzip,deflate,sdch&#xD;&#xA;HTTP_ACCEPT_LANGUAGE:en-US,en;q=0.8&#xD;&#xA;HTTP_HOST:localhost:1398&#xD;&#xA;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&#xD;&#xA;" />
</item>
<item name="ALL_RAW">
<value string="Connection: keep-alive&#xD;&#xA;Accept: */*&#xD;&#xA;Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3&#xD;&#xA;Accept-Encoding: gzip,deflate,sdch&#xD;&#xA;Accept-Language: en-US,en;q=0.8&#xD;&#xA;Host: localhost:1398&#xD;&#xA;User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11&#xD;&#xA;" />
</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.&#xD;&#xA; at System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType)&#xD;&#xA; at System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName)&#xD;&#xA; at System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController&amp; controller, IControllerFactory&amp; factory)&#xD;&#xA; at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state)&#xD;&#xA; at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state)&#xD;&#xA; at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)&#xD;&#xA; at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()&#xD;&#xA; at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&amp; completedSynchronously)" time="2012-03-04T19:43:14.0365909Z" statusCode="404">
<serverVariables>
<item name="ALL_HTTP">
<value string="HTTP_CONNECTION:keep-alive&#xD;&#xA;HTTP_ACCEPT:*/*&#xD;&#xA;HTTP_ACCEPT_CHARSET:ISO-8859-1,utf-8;q=0.7,*;q=0.3&#xD;&#xA;HTTP_ACCEPT_ENCODING:gzip,deflate,sdch&#xD;&#xA;HTTP_ACCEPT_LANGUAGE:en-US,en;q=0.8&#xD;&#xA;HTTP_HOST:localhost:1398&#xD;&#xA;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&#xD;&#xA;" />
</item>
<item name="ALL_RAW">
<value string="Connection: keep-alive&#xD;&#xA;Accept: */*&#xD;&#xA;Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3&#xD;&#xA;Accept-Encoding: gzip,deflate,sdch&#xD;&#xA;Accept-Language: en-US,en;q=0.8&#xD;&#xA;Host: localhost:1398&#xD;&#xA;User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11&#xD;&#xA;" />
</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.&#xD;&#xA; at System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType)&#xD;&#xA; at System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName)&#xD;&#xA; at System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController&amp; controller, IControllerFactory&amp; factory)&#xD;&#xA; at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state)&#xD;&#xA; at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state)&#xD;&#xA; at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)&#xD;&#xA; at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()&#xD;&#xA; at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&amp; completedSynchronously)" time="2012-03-04T19:44:14.1534764Z" statusCode="404">
<serverVariables>
<item name="ALL_HTTP">
<value string="HTTP_CONNECTION:keep-alive&#xD;&#xA;HTTP_ACCEPT:*/*&#xD;&#xA;HTTP_ACCEPT_CHARSET:ISO-8859-1,utf-8;q=0.7,*;q=0.3&#xD;&#xA;HTTP_ACCEPT_ENCODING:gzip,deflate,sdch&#xD;&#xA;HTTP_ACCEPT_LANGUAGE:en-US,en;q=0.8&#xD;&#xA;HTTP_HOST:localhost:1398&#xD;&#xA;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&#xD;&#xA;" />
</item>
<item name="ALL_RAW">
<value string="Connection: keep-alive&#xD;&#xA;Accept: */*&#xD;&#xA;Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3&#xD;&#xA;Accept-Encoding: gzip,deflate,sdch&#xD;&#xA;Accept-Language: en-US,en;q=0.8&#xD;&#xA;Host: localhost:1398&#xD;&#xA;User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11&#xD;&#xA;" />
</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.&#xD;&#xA; at System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType)&#xD;&#xA; at System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName)&#xD;&#xA; at System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController&amp; controller, IControllerFactory&amp; factory)&#xD;&#xA; at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state)&#xD;&#xA; at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state)&#xD;&#xA; at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)&#xD;&#xA; at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()&#xD;&#xA; at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&amp; completedSynchronously)" time="2012-03-04T19:45:14.3235616Z" statusCode="404">
<serverVariables>
<item name="ALL_HTTP">
<value string="HTTP_CONNECTION:keep-alive&#xD;&#xA;HTTP_ACCEPT:*/*&#xD;&#xA;HTTP_ACCEPT_CHARSET:ISO-8859-1,utf-8;q=0.7,*;q=0.3&#xD;&#xA;HTTP_ACCEPT_ENCODING:gzip,deflate,sdch&#xD;&#xA;HTTP_ACCEPT_LANGUAGE:en-US,en;q=0.8&#xD;&#xA;HTTP_HOST:localhost:1398&#xD;&#xA;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&#xD;&#xA;" />
</item>
<item name="ALL_RAW">
<value string="Connection: keep-alive&#xD;&#xA;Accept: */*&#xD;&#xA;Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3&#xD;&#xA;Accept-Encoding: gzip,deflate,sdch&#xD;&#xA;Accept-Language: en-US,en;q=0.8&#xD;&#xA;Host: localhost:1398&#xD;&#xA;User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11&#xD;&#xA;" />
</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>&nbsp;</p>
<hr />
<p>&nbsp;</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">&nbsp;</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=&quot;Data Source=(local)\SQLEXPRESS;Initial Catalog=UsageDataAnalysis;Integrated Security=True;MultipleActiveResultSets=True&quot;" 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

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше