[chronojump] Server query window almost finished! working!



commit bc54a0a0b4bcd5e898c1fd16b8c06bdff7e18ef0
Author: Xavier de Blas <xaviblas gmail com>
Date:   Sat Aug 22 03:46:08 2009 +0200

    Server query window almost finished! working!
    only needs age selection

 TODO.txt                                    |    2 +-
 chronojump_server/ChronojumpServer.cs       | 3531 ++++++++++++---------------
 chronojump_server/bin/chronojumpServer.dll  |  Bin 267776 -> 268800 bytes
 chronojump_server/chronojumpServerCSharp.cs |   15 +
 chronojump_server/howto_server_2009.txt     |   12 +-
 glade/chronojump.glade                      |    2 +-
 src/constants.cs                            |   17 +-
 src/gui/person.cs                           |   20 +-
 src/gui/queryServer.cs                      |  154 +-
 src/person.cs                               |    2 +-
 src/sqlite/server.cs                        |   18 +
 src/sqlite/stat.cs                          |    9 +-
 src/util.cs                                 |   43 +-
 13 files changed, 1784 insertions(+), 2041 deletions(-)
---
diff --git a/TODO.txt b/TODO.txt
index 4c64575..1c57ebe 100644
--- a/TODO.txt
+++ b/TODO.txt
@@ -1,6 +1,6 @@
 TODO: 
 
-continue server menu / Query
+server menu / Query: do age, put a progressBar when search
 
 updating manual. Pending:
 -graphs 6.3, 6.1  to same theme than others
diff --git a/chronojump_server/ChronojumpServer.cs b/chronojump_server/ChronojumpServer.cs
index af84813..2542a49 100644
--- a/chronojump_server/ChronojumpServer.cs
+++ b/chronojump_server/ChronojumpServer.cs
@@ -1,2007 +1,1624 @@
-// ------------------------------------------------------------------------------
-//  <autogenerated>
-//      This code was generated by a tool.
-//      Mono Runtime Version: 2.0.50727.42
-// 
-//      Changes to this file may cause incorrect behavior and will be lost if 
-//      the code is regenerated.
-//  </autogenerated>
-// ------------------------------------------------------------------------------
-
-
-
-/// <remarks/>
+// ------------------------------------------------------------------------------
+//  <autogenerated>
+//      This code was generated by a tool.
+//      Mono Runtime Version: 2.0.50727.42
+// 
+//      Changes to this file may cause incorrect behavior and will be lost if 
+//      the code is regenerated.
+//  </autogenerated>
+// ------------------------------------------------------------------------------
+
+
+
+/// <remarks/>
 /// <remarks>
 ///ChronojumpServer
-///</remarks>
-[System.Web.Services.WebServiceBinding(Name="ChronojumpServerSoap", Namespace="http://server.chronojump.org/";)]
-[System.Diagnostics.DebuggerStepThroughAttribute()]
-[System.ComponentModel.DesignerCategoryAttribute("code")]
-[System.Xml.Serialization.XmlIncludeAttribute(typeof(Session))]
-[System.Xml.Serialization.XmlIncludeAttribute(typeof(EventType))]
-[System.Xml.Serialization.XmlIncludeAttribute(typeof(Event))]
-public class ChronojumpServer : System.Web.Services.Protocols.SoapHttpClientProtocol {
-    
-    private System.Threading.SendOrPostCallback ConnectDatabaseOperationCompleted;
-    
-    private System.Threading.SendOrPostCallback DisConnectDatabaseOperationCompleted;
-    
-    private System.Threading.SendOrPostCallback CanIOperationCompleted;
-    
-    private System.Threading.SendOrPostCallback StatsOperationCompleted;
-    
-    private System.Threading.SendOrPostCallback UploadSessionOperationCompleted;
-    
-    private System.Threading.SendOrPostCallback UpdateSessionOperationCompleted;
-    
-    private System.Threading.SendOrPostCallback UploadSportOperationCompleted;
-    
-    private System.Threading.SendOrPostCallback UploadJumpTypeOperationCompleted;
-    
-    private System.Threading.SendOrPostCallback UploadJumpRjTypeOperationCompleted;
-    
-    private System.Threading.SendOrPostCallback UploadRunTypeOperationCompleted;
-    
-    private System.Threading.SendOrPostCallback UploadRunIntervalTypeOperationCompleted;
-    
-    private System.Threading.SendOrPostCallback UploadPersonOperationCompleted;
-    
-    private System.Threading.SendOrPostCallback UploadPersonSessionIfNeededOperationCompleted;
-    
-    private System.Threading.SendOrPostCallback UploadPingOperationCompleted;
-    
-    private System.Threading.SendOrPostCallback UploadEvaluatorOperationCompleted;
-    
-    private System.Threading.SendOrPostCallback EditEvaluatorOperationCompleted;
-    
-    private System.Threading.SendOrPostCallback UploadJumpOperationCompleted;
-    
-    private System.Threading.SendOrPostCallback UploadJumpRjOperationCompleted;
-    
-    private System.Threading.SendOrPostCallback UploadRunOperationCompleted;
-    
-    private System.Threading.SendOrPostCallback UploadRunIOperationCompleted;
-    
-    private System.Threading.SendOrPostCallback UploadRTOperationCompleted;
-    
-    private System.Threading.SendOrPostCallback UploadPulseOperationCompleted;
-    
-    private System.Threading.SendOrPostCallback UploadMultiChronopicOperationCompleted;
-    
-    private System.Threading.SendOrPostCallback ListDirectoryOperationCompleted;
-    
-    public ChronojumpServer() {
-        this.Url = "http://server.chronojump.org:8080/chronojumpServer.asmx";;
-    }
-    
-    private event ConnectDatabaseCompletedEventHandler ConnectDatabaseCompleted;
-    
-    private event DisConnectDatabaseCompletedEventHandler DisConnectDatabaseCompleted;
-    
-    private event CanICompletedEventHandler CanICompleted;
-    
-    private event StatsCompletedEventHandler StatsCompleted;
-    
-    private event UploadSessionCompletedEventHandler UploadSessionCompleted;
-    
-    private event UpdateSessionCompletedEventHandler UpdateSessionCompleted;
-    
-    private event UploadSportCompletedEventHandler UploadSportCompleted;
-    
-    private event UploadJumpTypeCompletedEventHandler UploadJumpTypeCompleted;
-    
-    private event UploadJumpRjTypeCompletedEventHandler UploadJumpRjTypeCompleted;
-    
-    private event UploadRunTypeCompletedEventHandler UploadRunTypeCompleted;
-    
-    private event UploadRunIntervalTypeCompletedEventHandler UploadRunIntervalTypeCompleted;
-    
-    private event UploadPersonCompletedEventHandler UploadPersonCompleted;
-    
-    private event UploadPersonSessionIfNeededCompletedEventHandler UploadPersonSessionIfNeededCompleted;
-    
-    private event UploadPingCompletedEventHandler UploadPingCompleted;
-    
-    private event UploadEvaluatorCompletedEventHandler UploadEvaluatorCompleted;
-    
-    private event EditEvaluatorCompletedEventHandler EditEvaluatorCompleted;
-    
-    private event UploadJumpCompletedEventHandler UploadJumpCompleted;
-    
-    private event UploadJumpRjCompletedEventHandler UploadJumpRjCompleted;
-    
-    private event UploadRunCompletedEventHandler UploadRunCompleted;
-    
-    private event UploadRunICompletedEventHandler UploadRunICompleted;
-    
-    private event UploadRTCompletedEventHandler UploadRTCompleted;
-    
-    private event UploadPulseCompletedEventHandler UploadPulseCompleted;
-    
-    private event UploadMultiChronopicCompletedEventHandler UploadMultiChronopicCompleted;
-    
-    private event ListDirectoryCompletedEventHandler ListDirectoryCompleted;
-    
+///</remarks>
+[System.Web.Services.WebServiceBinding(Name="ChronojumpServerSoap", Namespace="http://server.chronojump.org/";)]
+[System.Diagnostics.DebuggerStepThroughAttribute()]
+[System.ComponentModel.DesignerCategoryAttribute("code")]
+[System.Xml.Serialization.XmlIncludeAttribute(typeof(Session))]
+[System.Xml.Serialization.XmlIncludeAttribute(typeof(EventType))]
+[System.Xml.Serialization.XmlIncludeAttribute(typeof(Event))]
+public class ChronojumpServer : System.Web.Services.Protocols.SoapHttpClientProtocol {
+    
+    private System.Threading.SendOrPostCallback ConnectDatabaseOperationCompleted;
+    
+    private System.Threading.SendOrPostCallback DisConnectDatabaseOperationCompleted;
+    
+    private System.Threading.SendOrPostCallback CanIOperationCompleted;
+    
+    private System.Threading.SendOrPostCallback QueryOperationCompleted;
+    
+    private System.Threading.SendOrPostCallback StatsOperationCompleted;
+    
+    private System.Threading.SendOrPostCallback UploadSessionOperationCompleted;
+    
+    private System.Threading.SendOrPostCallback UpdateSessionOperationCompleted;
+    
+    private System.Threading.SendOrPostCallback UploadSportOperationCompleted;
+    
+    private System.Threading.SendOrPostCallback UploadJumpTypeOperationCompleted;
+    
+    private System.Threading.SendOrPostCallback UploadJumpRjTypeOperationCompleted;
+    
+    private System.Threading.SendOrPostCallback UploadRunTypeOperationCompleted;
+    
+    private System.Threading.SendOrPostCallback UploadRunIntervalTypeOperationCompleted;
+    
+    private System.Threading.SendOrPostCallback UploadPersonOperationCompleted;
+    
+    private System.Threading.SendOrPostCallback UploadPersonSessionIfNeededOperationCompleted;
+    
+    private System.Threading.SendOrPostCallback UploadPingOperationCompleted;
+    
+    private System.Threading.SendOrPostCallback UploadEvaluatorOperationCompleted;
+    
+    private System.Threading.SendOrPostCallback EditEvaluatorOperationCompleted;
+    
+    private System.Threading.SendOrPostCallback UploadJumpOperationCompleted;
+    
+    private System.Threading.SendOrPostCallback UploadJumpRjOperationCompleted;
+    
+    private System.Threading.SendOrPostCallback UploadRunOperationCompleted;
+    
+    private System.Threading.SendOrPostCallback UploadRunIOperationCompleted;
+    
+    private System.Threading.SendOrPostCallback UploadRTOperationCompleted;
+    
+    private System.Threading.SendOrPostCallback UploadPulseOperationCompleted;
+    
+    private System.Threading.SendOrPostCallback UploadMultiChronopicOperationCompleted;
+    
+    private System.Threading.SendOrPostCallback ListDirectoryOperationCompleted;
+    
+    public ChronojumpServer() {
+        this.Url = "http://server.chronojump.org:8080/chronojumpServer.asmx";;
+    }
+    
+    private event ConnectDatabaseCompletedEventHandler ConnectDatabaseCompleted;
+    
+    private event DisConnectDatabaseCompletedEventHandler DisConnectDatabaseCompleted;
+    
+    private event CanICompletedEventHandler CanICompleted;
+    
+    private event QueryCompletedEventHandler QueryCompleted;
+    
+    private event StatsCompletedEventHandler StatsCompleted;
+    
+    private event UploadSessionCompletedEventHandler UploadSessionCompleted;
+    
+    private event UpdateSessionCompletedEventHandler UpdateSessionCompleted;
+    
+    private event UploadSportCompletedEventHandler UploadSportCompleted;
+    
+    private event UploadJumpTypeCompletedEventHandler UploadJumpTypeCompleted;
+    
+    private event UploadJumpRjTypeCompletedEventHandler UploadJumpRjTypeCompleted;
+    
+    private event UploadRunTypeCompletedEventHandler UploadRunTypeCompleted;
+    
+    private event UploadRunIntervalTypeCompletedEventHandler UploadRunIntervalTypeCompleted;
+    
+    private event UploadPersonCompletedEventHandler UploadPersonCompleted;
+    
+    private event UploadPersonSessionIfNeededCompletedEventHandler UploadPersonSessionIfNeededCompleted;
+    
+    private event UploadPingCompletedEventHandler UploadPingCompleted;
+    
+    private event UploadEvaluatorCompletedEventHandler UploadEvaluatorCompleted;
+    
+    private event EditEvaluatorCompletedEventHandler EditEvaluatorCompleted;
+    
+    private event UploadJumpCompletedEventHandler UploadJumpCompleted;
+    
+    private event UploadJumpRjCompletedEventHandler UploadJumpRjCompleted;
+    
+    private event UploadRunCompletedEventHandler UploadRunCompleted;
+    
+    private event UploadRunICompletedEventHandler UploadRunICompleted;
+    
+    private event UploadRTCompletedEventHandler UploadRTCompleted;
+    
+    private event UploadPulseCompletedEventHandler UploadPulseCompleted;
+    
+    private event UploadMultiChronopicCompletedEventHandler UploadMultiChronopicCompleted;
+    
+    private event ListDirectoryCompletedEventHandler ListDirectoryCompleted;
+    
     /// <remarks>
 ///Conecta BBDD
-///</remarks>
-    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/ConnectDatabase";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
-    public string ConnectDatabase() {
-        object[] results = this.Invoke("ConnectDatabase", new object[0]);
-        return ((string)(results[0]));
-    }
-    
-    public System.IAsyncResult BeginConnectDatabase(System.AsyncCallback callback, object asyncState) {
-        return this.BeginInvoke("ConnectDatabase", new object[0], callback, asyncState);
-    }
-    
-    public string EndConnectDatabase(System.IAsyncResult asyncResult) {
-        object[] results = this.EndInvoke(asyncResult);
-        return ((string)(results[0]));
-    }
-    
-    public void ConnectDatabaseAsync() {
-        this.ConnectDatabaseAsync(null);
-    }
-    
-    public void ConnectDatabaseAsync(object userState) {
-        if ((this.ConnectDatabaseOperationCompleted == null)) {
-            this.ConnectDatabaseOperationCompleted = new System.Threading.SendOrPostCallback(this.OnConnectDatabaseCompleted);
-        }
-        this.InvokeAsync("ConnectDatabase", new object[0], this.ConnectDatabaseOperationCompleted, userState);
-    }
-    
-    private void OnConnectDatabaseCompleted(object arg) {
-        if ((this.ConnectDatabaseCompleted != null)) {
-            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
-            this.ConnectDatabaseCompleted(this, new ConnectDatabaseCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
-        }
-    }
-    
+///</remarks>
+    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/ConnectDatabase";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
+    public string ConnectDatabase() {
+        object[] results = this.Invoke("ConnectDatabase", new object[0]);
+        return ((string)(results[0]));
+    }
+    
+    public System.IAsyncResult BeginConnectDatabase(System.AsyncCallback callback, object asyncState) {
+        return this.BeginInvoke("ConnectDatabase", new object[0], callback, asyncState);
+    }
+    
+    public string EndConnectDatabase(System.IAsyncResult asyncResult) {
+        object[] results = this.EndInvoke(asyncResult);
+        return ((string)(results[0]));
+    }
+    
+    public void ConnectDatabaseAsync() {
+        this.ConnectDatabaseAsync(null);
+    }
+    
+    public void ConnectDatabaseAsync(object userState) {
+        if ((this.ConnectDatabaseOperationCompleted == null)) {
+            this.ConnectDatabaseOperationCompleted = new System.Threading.SendOrPostCallback(this.OnConnectDatabaseCompleted);
+        }
+        this.InvokeAsync("ConnectDatabase", new object[0], this.ConnectDatabaseOperationCompleted, userState);
+    }
+    
+    private void OnConnectDatabaseCompleted(object arg) {
+        if ((this.ConnectDatabaseCompleted != null)) {
+            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
+            this.ConnectDatabaseCompleted(this, new ConnectDatabaseCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
+        }
+    }
+    
     /// <remarks>
 ///Desconecta BBDD
-///</remarks>
-    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/DisConnectDatabase";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
-    public string DisConnectDatabase() {
-        object[] results = this.Invoke("DisConnectDatabase", new object[0]);
-        return ((string)(results[0]));
-    }
-    
-    public System.IAsyncResult BeginDisConnectDatabase(System.AsyncCallback callback, object asyncState) {
-        return this.BeginInvoke("DisConnectDatabase", new object[0], callback, asyncState);
-    }
-    
-    public string EndDisConnectDatabase(System.IAsyncResult asyncResult) {
-        object[] results = this.EndInvoke(asyncResult);
-        return ((string)(results[0]));
-    }
-    
-    public void DisConnectDatabaseAsync() {
-        this.DisConnectDatabaseAsync(null);
-    }
-    
-    public void DisConnectDatabaseAsync(object userState) {
-        if ((this.DisConnectDatabaseOperationCompleted == null)) {
-            this.DisConnectDatabaseOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDisConnectDatabaseCompleted);
-        }
-        this.InvokeAsync("DisConnectDatabase", new object[0], this.DisConnectDatabaseOperationCompleted, userState);
-    }
-    
-    private void OnDisConnectDatabaseCompleted(object arg) {
-        if ((this.DisConnectDatabaseCompleted != null)) {
-            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
-            this.DisConnectDatabaseCompleted(this, new DisConnectDatabaseCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
-        }
-    }
-    
+///</remarks>
+    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/DisConnectDatabase";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
+    public string DisConnectDatabase() {
+        object[] results = this.Invoke("DisConnectDatabase", new object[0]);
+        return ((string)(results[0]));
+    }
+    
+    public System.IAsyncResult BeginDisConnectDatabase(System.AsyncCallback callback, object asyncState) {
+        return this.BeginInvoke("DisConnectDatabase", new object[0], callback, asyncState);
+    }
+    
+    public string EndDisConnectDatabase(System.IAsyncResult asyncResult) {
+        object[] results = this.EndInvoke(asyncResult);
+        return ((string)(results[0]));
+    }
+    
+    public void DisConnectDatabaseAsync() {
+        this.DisConnectDatabaseAsync(null);
+    }
+    
+    public void DisConnectDatabaseAsync(object userState) {
+        if ((this.DisConnectDatabaseOperationCompleted == null)) {
+            this.DisConnectDatabaseOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDisConnectDatabaseCompleted);
+        }
+        this.InvokeAsync("DisConnectDatabase", new object[0], this.DisConnectDatabaseOperationCompleted, userState);
+    }
+    
+    private void OnDisConnectDatabaseCompleted(object arg) {
+        if ((this.DisConnectDatabaseCompleted != null)) {
+            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
+            this.DisConnectDatabaseCompleted(this, new DisConnectDatabaseCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
+        }
+    }
+    
     /// <remarks>
 ///Check actions that client can do depending on it's version)
-///</remarks>
-    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/CanI";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
-    public bool CanI(string action, double clientVersion) {
-        object[] results = this.Invoke("CanI", new object[] {
-                    action,
-                    clientVersion});
-        return ((bool)(results[0]));
-    }
-    
-    public System.IAsyncResult BeginCanI(string action, double clientVersion, System.AsyncCallback callback, object asyncState) {
-        return this.BeginInvoke("CanI", new object[] {
-                    action,
-                    clientVersion}, callback, asyncState);
-    }
-    
-    public bool EndCanI(System.IAsyncResult asyncResult) {
-        object[] results = this.EndInvoke(asyncResult);
-        return ((bool)(results[0]));
-    }
-    
-    public void CanIAsync(string action, double clientVersion) {
-        this.CanIAsync(action, clientVersion, null);
-    }
-    
-    public void CanIAsync(string action, double clientVersion, object userState) {
-        if ((this.CanIOperationCompleted == null)) {
-            this.CanIOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCanICompleted);
-        }
-        this.InvokeAsync("CanI", new object[] {
-                    action,
-                    clientVersion}, this.CanIOperationCompleted, userState);
-    }
-    
-    private void OnCanICompleted(object arg) {
-        if ((this.CanICompleted != null)) {
-            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
-            this.CanICompleted(this, new CanICompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
-        }
-    }
-    
+///</remarks>
+    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/CanI";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
+    public bool CanI(string action, double clientVersion) {
+        object[] results = this.Invoke("CanI", new object[] {
+                    action,
+                    clientVersion});
+        return ((bool)(results[0]));
+    }
+    
+    public System.IAsyncResult BeginCanI(string action, double clientVersion, System.AsyncCallback callback, object asyncState) {
+        return this.BeginInvoke("CanI", new object[] {
+                    action,
+                    clientVersion}, callback, asyncState);
+    }
+    
+    public bool EndCanI(System.IAsyncResult asyncResult) {
+        object[] results = this.EndInvoke(asyncResult);
+        return ((bool)(results[0]));
+    }
+    
+    public void CanIAsync(string action, double clientVersion) {
+        this.CanIAsync(action, clientVersion, null);
+    }
+    
+    public void CanIAsync(string action, double clientVersion, object userState) {
+        if ((this.CanIOperationCompleted == null)) {
+            this.CanIOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCanICompleted);
+        }
+        this.InvokeAsync("CanI", new object[] {
+                    action,
+                    clientVersion}, this.CanIOperationCompleted, userState);
+    }
+    
+    private void OnCanICompleted(object arg) {
+        if ((this.CanICompleted != null)) {
+            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
+            this.CanICompleted(this, new CanICompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
+        }
+    }
+    
+    /// <remarks>
+///Query
+///</remarks>
+    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/Query";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
+    public string Query(string tableName, string test, string variable, int sex, int countryID, int sportID, int speciallityID, int levelID) {
+        object[] results = this.Invoke("Query", new object[] {
+                    tableName,
+                    test,
+                    variable,
+                    sex,
+                    countryID,
+                    sportID,
+                    speciallityID,
+                    levelID});
+        return ((string)(results[0]));
+    }
+    
+    public System.IAsyncResult BeginQuery(string tableName, string test, string variable, int sex, int countryID, int sportID, int speciallityID, int levelID, System.AsyncCallback callback, object asyncState) {
+        return this.BeginInvoke("Query", new object[] {
+                    tableName,
+                    test,
+                    variable,
+                    sex,
+                    countryID,
+                    sportID,
+                    speciallityID,
+                    levelID}, callback, asyncState);
+    }
+    
+    public string EndQuery(System.IAsyncResult asyncResult) {
+        object[] results = this.EndInvoke(asyncResult);
+        return ((string)(results[0]));
+    }
+    
+    public void QueryAsync(string tableName, string test, string variable, int sex, int countryID, int sportID, int speciallityID, int levelID) {
+        this.QueryAsync(tableName, test, variable, sex, countryID, sportID, speciallityID, levelID, null);
+    }
+    
+    public void QueryAsync(string tableName, string test, string variable, int sex, int countryID, int sportID, int speciallityID, int levelID, object userState) {
+        if ((this.QueryOperationCompleted == null)) {
+            this.QueryOperationCompleted = new System.Threading.SendOrPostCallback(this.OnQueryCompleted);
+        }
+        this.InvokeAsync("Query", new object[] {
+                    tableName,
+                    test,
+                    variable,
+                    sex,
+                    countryID,
+                    sportID,
+                    speciallityID,
+                    levelID}, this.QueryOperationCompleted, userState);
+    }
+    
+    private void OnQueryCompleted(object arg) {
+        if ((this.QueryCompleted != null)) {
+            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
+            this.QueryCompleted(this, new QueryCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
+        }
+    }
+    
     /// <remarks>
 ///Stats
-///</remarks>
-    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/Stats";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
-    public string[] Stats() {
-        object[] results = this.Invoke("Stats", new object[0]);
-        return ((string[])(results[0]));
-    }
-    
-    public System.IAsyncResult BeginStats(System.AsyncCallback callback, object asyncState) {
-        return this.BeginInvoke("Stats", new object[0], callback, asyncState);
-    }
-    
-    public string[] EndStats(System.IAsyncResult asyncResult) {
-        object[] results = this.EndInvoke(asyncResult);
-        return ((string[])(results[0]));
-    }
-    
-    public void StatsAsync() {
-        this.StatsAsync(null);
-    }
-    
-    public void StatsAsync(object userState) {
-        if ((this.StatsOperationCompleted == null)) {
-            this.StatsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnStatsCompleted);
-        }
-        this.InvokeAsync("Stats", new object[0], this.StatsOperationCompleted, userState);
-    }
-    
-    private void OnStatsCompleted(object arg) {
-        if ((this.StatsCompleted != null)) {
-            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
-            this.StatsCompleted(this, new StatsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
-        }
-    }
-    
+///</remarks>
+    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/Stats";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
+    public string[] Stats() {
+        object[] results = this.Invoke("Stats", new object[0]);
+        return ((string[])(results[0]));
+    }
+    
+    public System.IAsyncResult BeginStats(System.AsyncCallback callback, object asyncState) {
+        return this.BeginInvoke("Stats", new object[0], callback, asyncState);
+    }
+    
+    public string[] EndStats(System.IAsyncResult asyncResult) {
+        object[] results = this.EndInvoke(asyncResult);
+        return ((string[])(results[0]));
+    }
+    
+    public void StatsAsync() {
+        this.StatsAsync(null);
+    }
+    
+    public void StatsAsync(object userState) {
+        if ((this.StatsOperationCompleted == null)) {
+            this.StatsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnStatsCompleted);
+        }
+        this.InvokeAsync("Stats", new object[0], this.StatsOperationCompleted, userState);
+    }
+    
+    private void OnStatsCompleted(object arg) {
+        if ((this.StatsCompleted != null)) {
+            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
+            this.StatsCompleted(this, new StatsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
+        }
+    }
+    
     /// <remarks>
 ///Upload a session
-///</remarks>
-    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/UploadSession";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
-    public int UploadSession(ServerSession mySession) {
-        object[] results = this.Invoke("UploadSession", new object[] {
-                    mySession});
-        return ((int)(results[0]));
-    }
-    
-    public System.IAsyncResult BeginUploadSession(ServerSession mySession, System.AsyncCallback callback, object asyncState) {
-        return this.BeginInvoke("UploadSession", new object[] {
-                    mySession}, callback, asyncState);
-    }
-    
-    public int EndUploadSession(System.IAsyncResult asyncResult) {
-        object[] results = this.EndInvoke(asyncResult);
-        return ((int)(results[0]));
-    }
-    
-    public void UploadSessionAsync(ServerSession mySession) {
-        this.UploadSessionAsync(mySession, null);
-    }
-    
-    public void UploadSessionAsync(ServerSession mySession, object userState) {
-        if ((this.UploadSessionOperationCompleted == null)) {
-            this.UploadSessionOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUploadSessionCompleted);
-        }
-        this.InvokeAsync("UploadSession", new object[] {
-                    mySession}, this.UploadSessionOperationCompleted, userState);
-    }
-    
-    private void OnUploadSessionCompleted(object arg) {
-        if ((this.UploadSessionCompleted != null)) {
-            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
-            this.UploadSessionCompleted(this, new UploadSessionCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
-        }
-    }
-    
+///</remarks>
+    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/UploadSession";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
+    public int UploadSession(ServerSession mySession) {
+        object[] results = this.Invoke("UploadSession", new object[] {
+                    mySession});
+        return ((int)(results[0]));
+    }
+    
+    public System.IAsyncResult BeginUploadSession(ServerSession mySession, System.AsyncCallback callback, object asyncState) {
+        return this.BeginInvoke("UploadSession", new object[] {
+                    mySession}, callback, asyncState);
+    }
+    
+    public int EndUploadSession(System.IAsyncResult asyncResult) {
+        object[] results = this.EndInvoke(asyncResult);
+        return ((int)(results[0]));
+    }
+    
+    public void UploadSessionAsync(ServerSession mySession) {
+        this.UploadSessionAsync(mySession, null);
+    }
+    
+    public void UploadSessionAsync(ServerSession mySession, object userState) {
+        if ((this.UploadSessionOperationCompleted == null)) {
+            this.UploadSessionOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUploadSessionCompleted);
+        }
+        this.InvokeAsync("UploadSession", new object[] {
+                    mySession}, this.UploadSessionOperationCompleted, userState);
+    }
+    
+    private void OnUploadSessionCompleted(object arg) {
+        if ((this.UploadSessionCompleted != null)) {
+            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
+            this.UploadSessionCompleted(this, new UploadSessionCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
+        }
+    }
+    
     /// <remarks>
 ///Update session uploadingState
-///</remarks>
-    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/UpdateSession";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
-    public int UpdateSession(int sessionID, int state) {
-        object[] results = this.Invoke("UpdateSession", new object[] {
-                    sessionID,
-                    state});
-        return ((int)(results[0]));
-    }
-    
-    public System.IAsyncResult BeginUpdateSession(int sessionID, int state, System.AsyncCallback callback, object asyncState) {
-        return this.BeginInvoke("UpdateSession", new object[] {
-                    sessionID,
-                    state}, callback, asyncState);
-    }
-    
-    public int EndUpdateSession(System.IAsyncResult asyncResult) {
-        object[] results = this.EndInvoke(asyncResult);
-        return ((int)(results[0]));
-    }
-    
-    public void UpdateSessionAsync(int sessionID, int state) {
-        this.UpdateSessionAsync(sessionID, state, null);
-    }
-    
-    public void UpdateSessionAsync(int sessionID, int state, object userState) {
-        if ((this.UpdateSessionOperationCompleted == null)) {
-            this.UpdateSessionOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateSessionCompleted);
-        }
-        this.InvokeAsync("UpdateSession", new object[] {
-                    sessionID,
-                    state}, this.UpdateSessionOperationCompleted, userState);
-    }
-    
-    private void OnUpdateSessionCompleted(object arg) {
-        if ((this.UpdateSessionCompleted != null)) {
-            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
-            this.UpdateSessionCompleted(this, new UpdateSessionCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
-        }
-    }
-    
+///</remarks>
+    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/UpdateSession";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
+    public int UpdateSession(int sessionID, int state) {
+        object[] results = this.Invoke("UpdateSession", new object[] {
+                    sessionID,
+                    state});
+        return ((int)(results[0]));
+    }
+    
+    public System.IAsyncResult BeginUpdateSession(int sessionID, int state, System.AsyncCallback callback, object asyncState) {
+        return this.BeginInvoke("UpdateSession", new object[] {
+                    sessionID,
+                    state}, callback, asyncState);
+    }
+    
+    public int EndUpdateSession(System.IAsyncResult asyncResult) {
+        object[] results = this.EndInvoke(asyncResult);
+        return ((int)(results[0]));
+    }
+    
+    public void UpdateSessionAsync(int sessionID, int state) {
+        this.UpdateSessionAsync(sessionID, state, null);
+    }
+    
+    public void UpdateSessionAsync(int sessionID, int state, object userState) {
+        if ((this.UpdateSessionOperationCompleted == null)) {
+            this.UpdateSessionOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateSessionCompleted);
+        }
+        this.InvokeAsync("UpdateSession", new object[] {
+                    sessionID,
+                    state}, this.UpdateSessionOperationCompleted, userState);
+    }
+    
+    private void OnUpdateSessionCompleted(object arg) {
+        if ((this.UpdateSessionCompleted != null)) {
+            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
+            this.UpdateSessionCompleted(this, new UpdateSessionCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
+        }
+    }
+    
     /// <remarks>
 ///Upload an sport (user defined)
-///</remarks>
-    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/UploadSport";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
-    public int UploadSport(Sport mySport) {
-        object[] results = this.Invoke("UploadSport", new object[] {
-                    mySport});
-        return ((int)(results[0]));
-    }
-    
-    public System.IAsyncResult BeginUploadSport(Sport mySport, System.AsyncCallback callback, object asyncState) {
-        return this.BeginInvoke("UploadSport", new object[] {
-                    mySport}, callback, asyncState);
-    }
-    
-    public int EndUploadSport(System.IAsyncResult asyncResult) {
-        object[] results = this.EndInvoke(asyncResult);
-        return ((int)(results[0]));
-    }
-    
-    public void UploadSportAsync(Sport mySport) {
-        this.UploadSportAsync(mySport, null);
-    }
-    
-    public void UploadSportAsync(Sport mySport, object userState) {
-        if ((this.UploadSportOperationCompleted == null)) {
-            this.UploadSportOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUploadSportCompleted);
-        }
-        this.InvokeAsync("UploadSport", new object[] {
-                    mySport}, this.UploadSportOperationCompleted, userState);
-    }
-    
-    private void OnUploadSportCompleted(object arg) {
-        if ((this.UploadSportCompleted != null)) {
-            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
-            this.UploadSportCompleted(this, new UploadSportCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
-        }
-    }
-    
+///</remarks>
+    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/UploadSport";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
+    public int UploadSport(Sport mySport) {
+        object[] results = this.Invoke("UploadSport", new object[] {
+                    mySport});
+        return ((int)(results[0]));
+    }
+    
+    public System.IAsyncResult BeginUploadSport(Sport mySport, System.AsyncCallback callback, object asyncState) {
+        return this.BeginInvoke("UploadSport", new object[] {
+                    mySport}, callback, asyncState);
+    }
+    
+    public int EndUploadSport(System.IAsyncResult asyncResult) {
+        object[] results = this.EndInvoke(asyncResult);
+        return ((int)(results[0]));
+    }
+    
+    public void UploadSportAsync(Sport mySport) {
+        this.UploadSportAsync(mySport, null);
+    }
+    
+    public void UploadSportAsync(Sport mySport, object userState) {
+        if ((this.UploadSportOperationCompleted == null)) {
+            this.UploadSportOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUploadSportCompleted);
+        }
+        this.InvokeAsync("UploadSport", new object[] {
+                    mySport}, this.UploadSportOperationCompleted, userState);
+    }
+    
+    private void OnUploadSportCompleted(object arg) {
+        if ((this.UploadSportCompleted != null)) {
+            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
+            this.UploadSportCompleted(this, new UploadSportCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
+        }
+    }
+    
     /// <remarks>
 ///Upload a jump type (user defined)
-///</remarks>
-    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/UploadJumpType";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
-    public string UploadJumpType(JumpType type, int evalSID) {
-        object[] results = this.Invoke("UploadJumpType", new object[] {
-                    type,
-                    evalSID});
-        return ((string)(results[0]));
-    }
-    
-    public System.IAsyncResult BeginUploadJumpType(JumpType type, int evalSID, System.AsyncCallback callback, object asyncState) {
-        return this.BeginInvoke("UploadJumpType", new object[] {
-                    type,
-                    evalSID}, callback, asyncState);
-    }
-    
-    public string EndUploadJumpType(System.IAsyncResult asyncResult) {
-        object[] results = this.EndInvoke(asyncResult);
-        return ((string)(results[0]));
-    }
-    
-    public void UploadJumpTypeAsync(JumpType type, int evalSID) {
-        this.UploadJumpTypeAsync(type, evalSID, null);
-    }
-    
-    public void UploadJumpTypeAsync(JumpType type, int evalSID, object userState) {
-        if ((this.UploadJumpTypeOperationCompleted == null)) {
-            this.UploadJumpTypeOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUploadJumpTypeCompleted);
-        }
-        this.InvokeAsync("UploadJumpType", new object[] {
-                    type,
-                    evalSID}, this.UploadJumpTypeOperationCompleted, userState);
-    }
-    
-    private void OnUploadJumpTypeCompleted(object arg) {
-        if ((this.UploadJumpTypeCompleted != null)) {
-            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
-            this.UploadJumpTypeCompleted(this, new UploadJumpTypeCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
-        }
-    }
-    
+///</remarks>
+    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/UploadJumpType";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
+    public string UploadJumpType(JumpType type, int evalSID) {
+        object[] results = this.Invoke("UploadJumpType", new object[] {
+                    type,
+                    evalSID});
+        return ((string)(results[0]));
+    }
+    
+    public System.IAsyncResult BeginUploadJumpType(JumpType type, int evalSID, System.AsyncCallback callback, object asyncState) {
+        return this.BeginInvoke("UploadJumpType", new object[] {
+                    type,
+                    evalSID}, callback, asyncState);
+    }
+    
+    public string EndUploadJumpType(System.IAsyncResult asyncResult) {
+        object[] results = this.EndInvoke(asyncResult);
+        return ((string)(results[0]));
+    }
+    
+    public void UploadJumpTypeAsync(JumpType type, int evalSID) {
+        this.UploadJumpTypeAsync(type, evalSID, null);
+    }
+    
+    public void UploadJumpTypeAsync(JumpType type, int evalSID, object userState) {
+        if ((this.UploadJumpTypeOperationCompleted == null)) {
+            this.UploadJumpTypeOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUploadJumpTypeCompleted);
+        }
+        this.InvokeAsync("UploadJumpType", new object[] {
+                    type,
+                    evalSID}, this.UploadJumpTypeOperationCompleted, userState);
+    }
+    
+    private void OnUploadJumpTypeCompleted(object arg) {
+        if ((this.UploadJumpTypeCompleted != null)) {
+            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
+            this.UploadJumpTypeCompleted(this, new UploadJumpTypeCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
+        }
+    }
+    
     /// <remarks>
 ///Upload a jumpRj type (user defined)
-///</remarks>
-    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/UploadJumpRjType";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
-    public string UploadJumpRjType(JumpType type, int evalSID) {
-        object[] results = this.Invoke("UploadJumpRjType", new object[] {
-                    type,
-                    evalSID});
-        return ((string)(results[0]));
-    }
-    
-    public System.IAsyncResult BeginUploadJumpRjType(JumpType type, int evalSID, System.AsyncCallback callback, object asyncState) {
-        return this.BeginInvoke("UploadJumpRjType", new object[] {
-                    type,
-                    evalSID}, callback, asyncState);
-    }
-    
-    public string EndUploadJumpRjType(System.IAsyncResult asyncResult) {
-        object[] results = this.EndInvoke(asyncResult);
-        return ((string)(results[0]));
-    }
-    
-    public void UploadJumpRjTypeAsync(JumpType type, int evalSID) {
-        this.UploadJumpRjTypeAsync(type, evalSID, null);
-    }
-    
-    public void UploadJumpRjTypeAsync(JumpType type, int evalSID, object userState) {
-        if ((this.UploadJumpRjTypeOperationCompleted == null)) {
-            this.UploadJumpRjTypeOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUploadJumpRjTypeCompleted);
-        }
-        this.InvokeAsync("UploadJumpRjType", new object[] {
-                    type,
-                    evalSID}, this.UploadJumpRjTypeOperationCompleted, userState);
-    }
-    
-    private void OnUploadJumpRjTypeCompleted(object arg) {
-        if ((this.UploadJumpRjTypeCompleted != null)) {
-            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
-            this.UploadJumpRjTypeCompleted(this, new UploadJumpRjTypeCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
-        }
-    }
-    
+///</remarks>
+    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/UploadJumpRjType";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
+    public string UploadJumpRjType(JumpType type, int evalSID) {
+        object[] results = this.Invoke("UploadJumpRjType", new object[] {
+                    type,
+                    evalSID});
+        return ((string)(results[0]));
+    }
+    
+    public System.IAsyncResult BeginUploadJumpRjType(JumpType type, int evalSID, System.AsyncCallback callback, object asyncState) {
+        return this.BeginInvoke("UploadJumpRjType", new object[] {
+                    type,
+                    evalSID}, callback, asyncState);
+    }
+    
+    public string EndUploadJumpRjType(System.IAsyncResult asyncResult) {
+        object[] results = this.EndInvoke(asyncResult);
+        return ((string)(results[0]));
+    }
+    
+    public void UploadJumpRjTypeAsync(JumpType type, int evalSID) {
+        this.UploadJumpRjTypeAsync(type, evalSID, null);
+    }
+    
+    public void UploadJumpRjTypeAsync(JumpType type, int evalSID, object userState) {
+        if ((this.UploadJumpRjTypeOperationCompleted == null)) {
+            this.UploadJumpRjTypeOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUploadJumpRjTypeCompleted);
+        }
+        this.InvokeAsync("UploadJumpRjType", new object[] {
+                    type,
+                    evalSID}, this.UploadJumpRjTypeOperationCompleted, userState);
+    }
+    
+    private void OnUploadJumpRjTypeCompleted(object arg) {
+        if ((this.UploadJumpRjTypeCompleted != null)) {
+            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
+            this.UploadJumpRjTypeCompleted(this, new UploadJumpRjTypeCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
+        }
+    }
+    
     /// <remarks>
 ///Upload a run type (user defined)
-///</remarks>
-    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/UploadRunType";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
-    public string UploadRunType(RunType type, int evalSID) {
-        object[] results = this.Invoke("UploadRunType", new object[] {
-                    type,
-                    evalSID});
-        return ((string)(results[0]));
-    }
-    
-    public System.IAsyncResult BeginUploadRunType(RunType type, int evalSID, System.AsyncCallback callback, object asyncState) {
-        return this.BeginInvoke("UploadRunType", new object[] {
-                    type,
-                    evalSID}, callback, asyncState);
-    }
-    
-    public string EndUploadRunType(System.IAsyncResult asyncResult) {
-        object[] results = this.EndInvoke(asyncResult);
-        return ((string)(results[0]));
-    }
-    
-    public void UploadRunTypeAsync(RunType type, int evalSID) {
-        this.UploadRunTypeAsync(type, evalSID, null);
-    }
-    
-    public void UploadRunTypeAsync(RunType type, int evalSID, object userState) {
-        if ((this.UploadRunTypeOperationCompleted == null)) {
-            this.UploadRunTypeOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUploadRunTypeCompleted);
-        }
-        this.InvokeAsync("UploadRunType", new object[] {
-                    type,
-                    evalSID}, this.UploadRunTypeOperationCompleted, userState);
-    }
-    
-    private void OnUploadRunTypeCompleted(object arg) {
-        if ((this.UploadRunTypeCompleted != null)) {
-            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
-            this.UploadRunTypeCompleted(this, new UploadRunTypeCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
-        }
-    }
-    
+///</remarks>
+    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/UploadRunType";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
+    public string UploadRunType(RunType type, int evalSID) {
+        object[] results = this.Invoke("UploadRunType", new object[] {
+                    type,
+                    evalSID});
+        return ((string)(results[0]));
+    }
+    
+    public System.IAsyncResult BeginUploadRunType(RunType type, int evalSID, System.AsyncCallback callback, object asyncState) {
+        return this.BeginInvoke("UploadRunType", new object[] {
+                    type,
+                    evalSID}, callback, asyncState);
+    }
+    
+    public string EndUploadRunType(System.IAsyncResult asyncResult) {
+        object[] results = this.EndInvoke(asyncResult);
+        return ((string)(results[0]));
+    }
+    
+    public void UploadRunTypeAsync(RunType type, int evalSID) {
+        this.UploadRunTypeAsync(type, evalSID, null);
+    }
+    
+    public void UploadRunTypeAsync(RunType type, int evalSID, object userState) {
+        if ((this.UploadRunTypeOperationCompleted == null)) {
+            this.UploadRunTypeOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUploadRunTypeCompleted);
+        }
+        this.InvokeAsync("UploadRunType", new object[] {
+                    type,
+                    evalSID}, this.UploadRunTypeOperationCompleted, userState);
+    }
+    
+    private void OnUploadRunTypeCompleted(object arg) {
+        if ((this.UploadRunTypeCompleted != null)) {
+            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
+            this.UploadRunTypeCompleted(this, new UploadRunTypeCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
+        }
+    }
+    
     /// <remarks>
 ///Upload a run interval type (user defined)
-///</remarks>
-    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/UploadRunIntervalType";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
-    public string UploadRunIntervalType(RunType type, int evalSID) {
-        object[] results = this.Invoke("UploadRunIntervalType", new object[] {
-                    type,
-                    evalSID});
-        return ((string)(results[0]));
-    }
-    
-    public System.IAsyncResult BeginUploadRunIntervalType(RunType type, int evalSID, System.AsyncCallback callback, object asyncState) {
-        return this.BeginInvoke("UploadRunIntervalType", new object[] {
-                    type,
-                    evalSID}, callback, asyncState);
-    }
-    
-    public string EndUploadRunIntervalType(System.IAsyncResult asyncResult) {
-        object[] results = this.EndInvoke(asyncResult);
-        return ((string)(results[0]));
-    }
-    
-    public void UploadRunIntervalTypeAsync(RunType type, int evalSID) {
-        this.UploadRunIntervalTypeAsync(type, evalSID, null);
-    }
-    
-    public void UploadRunIntervalTypeAsync(RunType type, int evalSID, object userState) {
-        if ((this.UploadRunIntervalTypeOperationCompleted == null)) {
-            this.UploadRunIntervalTypeOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUploadRunIntervalTypeCompleted);
-        }
-        this.InvokeAsync("UploadRunIntervalType", new object[] {
-                    type,
-                    evalSID}, this.UploadRunIntervalTypeOperationCompleted, userState);
-    }
-    
-    private void OnUploadRunIntervalTypeCompleted(object arg) {
-        if ((this.UploadRunIntervalTypeCompleted != null)) {
-            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
-            this.UploadRunIntervalTypeCompleted(this, new UploadRunIntervalTypeCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
-        }
-    }
-    
+///</remarks>
+    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/UploadRunIntervalType";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
+    public string UploadRunIntervalType(RunType type, int evalSID) {
+        object[] results = this.Invoke("UploadRunIntervalType", new object[] {
+                    type,
+                    evalSID});
+        return ((string)(results[0]));
+    }
+    
+    public System.IAsyncResult BeginUploadRunIntervalType(RunType type, int evalSID, System.AsyncCallback callback, object asyncState) {
+        return this.BeginInvoke("UploadRunIntervalType", new object[] {
+                    type,
+                    evalSID}, callback, asyncState);
+    }
+    
+    public string EndUploadRunIntervalType(System.IAsyncResult asyncResult) {
+        object[] results = this.EndInvoke(asyncResult);
+        return ((string)(results[0]));
+    }
+    
+    public void UploadRunIntervalTypeAsync(RunType type, int evalSID) {
+        this.UploadRunIntervalTypeAsync(type, evalSID, null);
+    }
+    
+    public void UploadRunIntervalTypeAsync(RunType type, int evalSID, object userState) {
+        if ((this.UploadRunIntervalTypeOperationCompleted == null)) {
+            this.UploadRunIntervalTypeOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUploadRunIntervalTypeCompleted);
+        }
+        this.InvokeAsync("UploadRunIntervalType", new object[] {
+                    type,
+                    evalSID}, this.UploadRunIntervalTypeOperationCompleted, userState);
+    }
+    
+    private void OnUploadRunIntervalTypeCompleted(object arg) {
+        if ((this.UploadRunIntervalTypeCompleted != null)) {
+            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
+            this.UploadRunIntervalTypeCompleted(this, new UploadRunIntervalTypeCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
+        }
+    }
+    
     /// <remarks>
 ///Upload a person
-///</remarks>
-    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/UploadPerson";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
-    public int UploadPerson(Person myPerson, int sessionID) {
-        object[] results = this.Invoke("UploadPerson", new object[] {
-                    myPerson,
-                    sessionID});
-        return ((int)(results[0]));
-    }
-    
-    public System.IAsyncResult BeginUploadPerson(Person myPerson, int sessionID, System.AsyncCallback callback, object asyncState) {
-        return this.BeginInvoke("UploadPerson", new object[] {
-                    myPerson,
-                    sessionID}, callback, asyncState);
-    }
-    
-    public int EndUploadPerson(System.IAsyncResult asyncResult) {
-        object[] results = this.EndInvoke(asyncResult);
-        return ((int)(results[0]));
-    }
-    
-    public void UploadPersonAsync(Person myPerson, int sessionID) {
-        this.UploadPersonAsync(myPerson, sessionID, null);
-    }
-    
-    public void UploadPersonAsync(Person myPerson, int sessionID, object userState) {
-        if ((this.UploadPersonOperationCompleted == null)) {
-            this.UploadPersonOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUploadPersonCompleted);
-        }
-        this.InvokeAsync("UploadPerson", new object[] {
-                    myPerson,
-                    sessionID}, this.UploadPersonOperationCompleted, userState);
-    }
-    
-    private void OnUploadPersonCompleted(object arg) {
-        if ((this.UploadPersonCompleted != null)) {
-            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
-            this.UploadPersonCompleted(this, new UploadPersonCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
-        }
-    }
-    
+///</remarks>
+    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/UploadPerson";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
+    public int UploadPerson(Person myPerson, int sessionID) {
+        object[] results = this.Invoke("UploadPerson", new object[] {
+                    myPerson,
+                    sessionID});
+        return ((int)(results[0]));
+    }
+    
+    public System.IAsyncResult BeginUploadPerson(Person myPerson, int sessionID, System.AsyncCallback callback, object asyncState) {
+        return this.BeginInvoke("UploadPerson", new object[] {
+                    myPerson,
+                    sessionID}, callback, asyncState);
+    }
+    
+    public int EndUploadPerson(System.IAsyncResult asyncResult) {
+        object[] results = this.EndInvoke(asyncResult);
+        return ((int)(results[0]));
+    }
+    
+    public void UploadPersonAsync(Person myPerson, int sessionID) {
+        this.UploadPersonAsync(myPerson, sessionID, null);
+    }
+    
+    public void UploadPersonAsync(Person myPerson, int sessionID, object userState) {
+        if ((this.UploadPersonOperationCompleted == null)) {
+            this.UploadPersonOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUploadPersonCompleted);
+        }
+        this.InvokeAsync("UploadPerson", new object[] {
+                    myPerson,
+                    sessionID}, this.UploadPersonOperationCompleted, userState);
+    }
+    
+    private void OnUploadPersonCompleted(object arg) {
+        if ((this.UploadPersonCompleted != null)) {
+            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
+            this.UploadPersonCompleted(this, new UploadPersonCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
+        }
+    }
+    
     /// <remarks>
 ///Upload person session if needed
-///</remarks>
-    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/UploadPersonSessionIfNeeded";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
-    public int UploadPersonSessionIfNeeded(int personServerID, int sessionServerID, int weight) {
-        object[] results = this.Invoke("UploadPersonSessionIfNeeded", new object[] {
-                    personServerID,
-                    sessionServerID,
-                    weight});
-        return ((int)(results[0]));
-    }
-    
-    public System.IAsyncResult BeginUploadPersonSessionIfNeeded(int personServerID, int sessionServerID, int weight, System.AsyncCallback callback, object asyncState) {
-        return this.BeginInvoke("UploadPersonSessionIfNeeded", new object[] {
-                    personServerID,
-                    sessionServerID,
-                    weight}, callback, asyncState);
-    }
-    
-    public int EndUploadPersonSessionIfNeeded(System.IAsyncResult asyncResult) {
-        object[] results = this.EndInvoke(asyncResult);
-        return ((int)(results[0]));
-    }
-    
-    public void UploadPersonSessionIfNeededAsync(int personServerID, int sessionServerID, int weight) {
-        this.UploadPersonSessionIfNeededAsync(personServerID, sessionServerID, weight, null);
-    }
-    
-    public void UploadPersonSessionIfNeededAsync(int personServerID, int sessionServerID, int weight, object userState) {
-        if ((this.UploadPersonSessionIfNeededOperationCompleted == null)) {
-            this.UploadPersonSessionIfNeededOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUploadPersonSessionIfNeededCompleted);
-        }
-        this.InvokeAsync("UploadPersonSessionIfNeeded", new object[] {
-                    personServerID,
-                    sessionServerID,
-                    weight}, this.UploadPersonSessionIfNeededOperationCompleted, userState);
-    }
-    
-    private void OnUploadPersonSessionIfNeededCompleted(object arg) {
-        if ((this.UploadPersonSessionIfNeededCompleted != null)) {
-            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
-            this.UploadPersonSessionIfNeededCompleted(this, new UploadPersonSessionIfNeededCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
-        }
-    }
-    
+///</remarks>
+    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/UploadPersonSessionIfNeeded";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
+    public int UploadPersonSessionIfNeeded(int personServerID, int sessionServerID, int weight) {
+        object[] results = this.Invoke("UploadPersonSessionIfNeeded", new object[] {
+                    personServerID,
+                    sessionServerID,
+                    weight});
+        return ((int)(results[0]));
+    }
+    
+    public System.IAsyncResult BeginUploadPersonSessionIfNeeded(int personServerID, int sessionServerID, int weight, System.AsyncCallback callback, object asyncState) {
+        return this.BeginInvoke("UploadPersonSessionIfNeeded", new object[] {
+                    personServerID,
+                    sessionServerID,
+                    weight}, callback, asyncState);
+    }
+    
+    public int EndUploadPersonSessionIfNeeded(System.IAsyncResult asyncResult) {
+        object[] results = this.EndInvoke(asyncResult);
+        return ((int)(results[0]));
+    }
+    
+    public void UploadPersonSessionIfNeededAsync(int personServerID, int sessionServerID, int weight) {
+        this.UploadPersonSessionIfNeededAsync(personServerID, sessionServerID, weight, null);
+    }
+    
+    public void UploadPersonSessionIfNeededAsync(int personServerID, int sessionServerID, int weight, object userState) {
+        if ((this.UploadPersonSessionIfNeededOperationCompleted == null)) {
+            this.UploadPersonSessionIfNeededOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUploadPersonSessionIfNeededCompleted);
+        }
+        this.InvokeAsync("UploadPersonSessionIfNeeded", new object[] {
+                    personServerID,
+                    sessionServerID,
+                    weight}, this.UploadPersonSessionIfNeededOperationCompleted, userState);
+    }
+    
+    private void OnUploadPersonSessionIfNeededCompleted(object arg) {
+        if ((this.UploadPersonSessionIfNeededCompleted != null)) {
+            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
+            this.UploadPersonSessionIfNeededCompleted(this, new UploadPersonSessionIfNeededCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
+        }
+    }
+    
     /// <remarks>
 ///Upload a ping
-///</remarks>
-    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/UploadPing";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
-    public string UploadPing(ServerPing myPing, bool doInsertion) {
-        object[] results = this.Invoke("UploadPing", new object[] {
-                    myPing,
-                    doInsertion});
-        return ((string)(results[0]));
-    }
-    
-    public System.IAsyncResult BeginUploadPing(ServerPing myPing, bool doInsertion, System.AsyncCallback callback, object asyncState) {
-        return this.BeginInvoke("UploadPing", new object[] {
-                    myPing,
-                    doInsertion}, callback, asyncState);
-    }
-    
-    public string EndUploadPing(System.IAsyncResult asyncResult) {
-        object[] results = this.EndInvoke(asyncResult);
-        return ((string)(results[0]));
-    }
-    
-    public void UploadPingAsync(ServerPing myPing, bool doInsertion) {
-        this.UploadPingAsync(myPing, doInsertion, null);
-    }
-    
-    public void UploadPingAsync(ServerPing myPing, bool doInsertion, object userState) {
-        if ((this.UploadPingOperationCompleted == null)) {
-            this.UploadPingOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUploadPingCompleted);
-        }
-        this.InvokeAsync("UploadPing", new object[] {
-                    myPing,
-                    doInsertion}, this.UploadPingOperationCompleted, userState);
-    }
-    
-    private void OnUploadPingCompleted(object arg) {
-        if ((this.UploadPingCompleted != null)) {
-            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
-            this.UploadPingCompleted(this, new UploadPingCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
-        }
-    }
-    
+///</remarks>
+    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/UploadPing";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
+    public string UploadPing(ServerPing myPing, bool doInsertion) {
+        object[] results = this.Invoke("UploadPing", new object[] {
+                    myPing,
+                    doInsertion});
+        return ((string)(results[0]));
+    }
+    
+    public System.IAsyncResult BeginUploadPing(ServerPing myPing, bool doInsertion, System.AsyncCallback callback, object asyncState) {
+        return this.BeginInvoke("UploadPing", new object[] {
+                    myPing,
+                    doInsertion}, callback, asyncState);
+    }
+    
+    public string EndUploadPing(System.IAsyncResult asyncResult) {
+        object[] results = this.EndInvoke(asyncResult);
+        return ((string)(results[0]));
+    }
+    
+    public void UploadPingAsync(ServerPing myPing, bool doInsertion) {
+        this.UploadPingAsync(myPing, doInsertion, null);
+    }
+    
+    public void UploadPingAsync(ServerPing myPing, bool doInsertion, object userState) {
+        if ((this.UploadPingOperationCompleted == null)) {
+            this.UploadPingOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUploadPingCompleted);
+        }
+        this.InvokeAsync("UploadPing", new object[] {
+                    myPing,
+                    doInsertion}, this.UploadPingOperationCompleted, userState);
+    }
+    
+    private void OnUploadPingCompleted(object arg) {
+        if ((this.UploadPingCompleted != null)) {
+            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
+            this.UploadPingCompleted(this, new UploadPingCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
+        }
+    }
+    
     /// <remarks>
 ///Upload an evaluator
-///</remarks>
-    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/UploadEvaluator";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
-    public string UploadEvaluator(ServerEvaluator myEval) {
-        object[] results = this.Invoke("UploadEvaluator", new object[] {
-                    myEval});
-        return ((string)(results[0]));
-    }
-    
-    public System.IAsyncResult BeginUploadEvaluator(ServerEvaluator myEval, System.AsyncCallback callback, object asyncState) {
-        return this.BeginInvoke("UploadEvaluator", new object[] {
-                    myEval}, callback, asyncState);
-    }
-    
-    public string EndUploadEvaluator(System.IAsyncResult asyncResult) {
-        object[] results = this.EndInvoke(asyncResult);
-        return ((string)(results[0]));
-    }
-    
-    public void UploadEvaluatorAsync(ServerEvaluator myEval) {
-        this.UploadEvaluatorAsync(myEval, null);
-    }
-    
-    public void UploadEvaluatorAsync(ServerEvaluator myEval, object userState) {
-        if ((this.UploadEvaluatorOperationCompleted == null)) {
-            this.UploadEvaluatorOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUploadEvaluatorCompleted);
-        }
-        this.InvokeAsync("UploadEvaluator", new object[] {
-                    myEval}, this.UploadEvaluatorOperationCompleted, userState);
-    }
-    
-    private void OnUploadEvaluatorCompleted(object arg) {
-        if ((this.UploadEvaluatorCompleted != null)) {
-            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
-            this.UploadEvaluatorCompleted(this, new UploadEvaluatorCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
-        }
-    }
-    
+///</remarks>
+    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/UploadEvaluator";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
+    public string UploadEvaluator(ServerEvaluator myEval) {
+        object[] results = this.Invoke("UploadEvaluator", new object[] {
+                    myEval});
+        return ((string)(results[0]));
+    }
+    
+    public System.IAsyncResult BeginUploadEvaluator(ServerEvaluator myEval, System.AsyncCallback callback, object asyncState) {
+        return this.BeginInvoke("UploadEvaluator", new object[] {
+                    myEval}, callback, asyncState);
+    }
+    
+    public string EndUploadEvaluator(System.IAsyncResult asyncResult) {
+        object[] results = this.EndInvoke(asyncResult);
+        return ((string)(results[0]));
+    }
+    
+    public void UploadEvaluatorAsync(ServerEvaluator myEval) {
+        this.UploadEvaluatorAsync(myEval, null);
+    }
+    
+    public void UploadEvaluatorAsync(ServerEvaluator myEval, object userState) {
+        if ((this.UploadEvaluatorOperationCompleted == null)) {
+            this.UploadEvaluatorOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUploadEvaluatorCompleted);
+        }
+        this.InvokeAsync("UploadEvaluator", new object[] {
+                    myEval}, this.UploadEvaluatorOperationCompleted, userState);
+    }
+    
+    private void OnUploadEvaluatorCompleted(object arg) {
+        if ((this.UploadEvaluatorCompleted != null)) {
+            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
+            this.UploadEvaluatorCompleted(this, new UploadEvaluatorCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
+        }
+    }
+    
     /// <remarks>
 ///Edit an evaluator
-///</remarks>
-    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/EditEvaluator";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
-    public bool EditEvaluator(ServerEvaluator clientEval, int evalSID) {
-        object[] results = this.Invoke("EditEvaluator", new object[] {
-                    clientEval,
-                    evalSID});
-        return ((bool)(results[0]));
-    }
-    
-    public System.IAsyncResult BeginEditEvaluator(ServerEvaluator clientEval, int evalSID, System.AsyncCallback callback, object asyncState) {
-        return this.BeginInvoke("EditEvaluator", new object[] {
-                    clientEval,
-                    evalSID}, callback, asyncState);
-    }
-    
-    public bool EndEditEvaluator(System.IAsyncResult asyncResult) {
-        object[] results = this.EndInvoke(asyncResult);
-        return ((bool)(results[0]));
-    }
-    
-    public void EditEvaluatorAsync(ServerEvaluator clientEval, int evalSID) {
-        this.EditEvaluatorAsync(clientEval, evalSID, null);
-    }
-    
-    public void EditEvaluatorAsync(ServerEvaluator clientEval, int evalSID, object userState) {
-        if ((this.EditEvaluatorOperationCompleted == null)) {
-            this.EditEvaluatorOperationCompleted = new System.Threading.SendOrPostCallback(this.OnEditEvaluatorCompleted);
-        }
-        this.InvokeAsync("EditEvaluator", new object[] {
-                    clientEval,
-                    evalSID}, this.EditEvaluatorOperationCompleted, userState);
-    }
-    
-    private void OnEditEvaluatorCompleted(object arg) {
-        if ((this.EditEvaluatorCompleted != null)) {
-            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
-            this.EditEvaluatorCompleted(this, new EditEvaluatorCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
-        }
-    }
-    
+///</remarks>
+    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/EditEvaluator";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
+    public bool EditEvaluator(ServerEvaluator clientEval, int evalSID) {
+        object[] results = this.Invoke("EditEvaluator", new object[] {
+                    clientEval,
+                    evalSID});
+        return ((bool)(results[0]));
+    }
+    
+    public System.IAsyncResult BeginEditEvaluator(ServerEvaluator clientEval, int evalSID, System.AsyncCallback callback, object asyncState) {
+        return this.BeginInvoke("EditEvaluator", new object[] {
+                    clientEval,
+                    evalSID}, callback, asyncState);
+    }
+    
+    public bool EndEditEvaluator(System.IAsyncResult asyncResult) {
+        object[] results = this.EndInvoke(asyncResult);
+        return ((bool)(results[0]));
+    }
+    
+    public void EditEvaluatorAsync(ServerEvaluator clientEval, int evalSID) {
+        this.EditEvaluatorAsync(clientEval, evalSID, null);
+    }
+    
+    public void EditEvaluatorAsync(ServerEvaluator clientEval, int evalSID, object userState) {
+        if ((this.EditEvaluatorOperationCompleted == null)) {
+            this.EditEvaluatorOperationCompleted = new System.Threading.SendOrPostCallback(this.OnEditEvaluatorCompleted);
+        }
+        this.InvokeAsync("EditEvaluator", new object[] {
+                    clientEval,
+                    evalSID}, this.EditEvaluatorOperationCompleted, userState);
+    }
+    
+    private void OnEditEvaluatorCompleted(object arg) {
+        if ((this.EditEvaluatorCompleted != null)) {
+            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
+            this.EditEvaluatorCompleted(this, new EditEvaluatorCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
+        }
+    }
+    
     /// <remarks>
 ///Upload a jump
-///</remarks>
-    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/UploadJump";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
-    public int UploadJump(Jump myTest) {
-        object[] results = this.Invoke("UploadJump", new object[] {
-                    myTest});
-        return ((int)(results[0]));
-    }
-    
-    public System.IAsyncResult BeginUploadJump(Jump myTest, System.AsyncCallback callback, object asyncState) {
-        return this.BeginInvoke("UploadJump", new object[] {
-                    myTest}, callback, asyncState);
-    }
-    
-    public int EndUploadJump(System.IAsyncResult asyncResult) {
-        object[] results = this.EndInvoke(asyncResult);
-        return ((int)(results[0]));
-    }
-    
-    public void UploadJumpAsync(Jump myTest) {
-        this.UploadJumpAsync(myTest, null);
-    }
-    
-    public void UploadJumpAsync(Jump myTest, object userState) {
-        if ((this.UploadJumpOperationCompleted == null)) {
-            this.UploadJumpOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUploadJumpCompleted);
-        }
-        this.InvokeAsync("UploadJump", new object[] {
-                    myTest}, this.UploadJumpOperationCompleted, userState);
-    }
-    
-    private void OnUploadJumpCompleted(object arg) {
-        if ((this.UploadJumpCompleted != null)) {
-            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
-            this.UploadJumpCompleted(this, new UploadJumpCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
-        }
-    }
-    
+///</remarks>
+    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/UploadJump";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
+    public int UploadJump(Jump myTest) {
+        object[] results = this.Invoke("UploadJump", new object[] {
+                    myTest});
+        return ((int)(results[0]));
+    }
+    
+    public System.IAsyncResult BeginUploadJump(Jump myTest, System.AsyncCallback callback, object asyncState) {
+        return this.BeginInvoke("UploadJump", new object[] {
+                    myTest}, callback, asyncState);
+    }
+    
+    public int EndUploadJump(System.IAsyncResult asyncResult) {
+        object[] results = this.EndInvoke(asyncResult);
+        return ((int)(results[0]));
+    }
+    
+    public void UploadJumpAsync(Jump myTest) {
+        this.UploadJumpAsync(myTest, null);
+    }
+    
+    public void UploadJumpAsync(Jump myTest, object userState) {
+        if ((this.UploadJumpOperationCompleted == null)) {
+            this.UploadJumpOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUploadJumpCompleted);
+        }
+        this.InvokeAsync("UploadJump", new object[] {
+                    myTest}, this.UploadJumpOperationCompleted, userState);
+    }
+    
+    private void OnUploadJumpCompleted(object arg) {
+        if ((this.UploadJumpCompleted != null)) {
+            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
+            this.UploadJumpCompleted(this, new UploadJumpCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
+        }
+    }
+    
     /// <remarks>
 ///Upload a jumpRj
-///</remarks>
-    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/UploadJumpRj";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
-    public int UploadJumpRj(JumpRj myTest) {
-        object[] results = this.Invoke("UploadJumpRj", new object[] {
-                    myTest});
-        return ((int)(results[0]));
-    }
-    
-    public System.IAsyncResult BeginUploadJumpRj(JumpRj myTest, System.AsyncCallback callback, object asyncState) {
-        return this.BeginInvoke("UploadJumpRj", new object[] {
-                    myTest}, callback, asyncState);
-    }
-    
-    public int EndUploadJumpRj(System.IAsyncResult asyncResult) {
-        object[] results = this.EndInvoke(asyncResult);
-        return ((int)(results[0]));
-    }
-    
-    public void UploadJumpRjAsync(JumpRj myTest) {
-        this.UploadJumpRjAsync(myTest, null);
-    }
-    
-    public void UploadJumpRjAsync(JumpRj myTest, object userState) {
-        if ((this.UploadJumpRjOperationCompleted == null)) {
-            this.UploadJumpRjOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUploadJumpRjCompleted);
-        }
-        this.InvokeAsync("UploadJumpRj", new object[] {
-                    myTest}, this.UploadJumpRjOperationCompleted, userState);
-    }
-    
-    private void OnUploadJumpRjCompleted(object arg) {
-        if ((this.UploadJumpRjCompleted != null)) {
-            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
-            this.UploadJumpRjCompleted(this, new UploadJumpRjCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
-        }
-    }
-    
+///</remarks>
+    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/UploadJumpRj";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
+    public int UploadJumpRj(JumpRj myTest) {
+        object[] results = this.Invoke("UploadJumpRj", new object[] {
+                    myTest});
+        return ((int)(results[0]));
+    }
+    
+    public System.IAsyncResult BeginUploadJumpRj(JumpRj myTest, System.AsyncCallback callback, object asyncState) {
+        return this.BeginInvoke("UploadJumpRj", new object[] {
+                    myTest}, callback, asyncState);
+    }
+    
+    public int EndUploadJumpRj(System.IAsyncResult asyncResult) {
+        object[] results = this.EndInvoke(asyncResult);
+        return ((int)(results[0]));
+    }
+    
+    public void UploadJumpRjAsync(JumpRj myTest) {
+        this.UploadJumpRjAsync(myTest, null);
+    }
+    
+    public void UploadJumpRjAsync(JumpRj myTest, object userState) {
+        if ((this.UploadJumpRjOperationCompleted == null)) {
+            this.UploadJumpRjOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUploadJumpRjCompleted);
+        }
+        this.InvokeAsync("UploadJumpRj", new object[] {
+                    myTest}, this.UploadJumpRjOperationCompleted, userState);
+    }
+    
+    private void OnUploadJumpRjCompleted(object arg) {
+        if ((this.UploadJumpRjCompleted != null)) {
+            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
+            this.UploadJumpRjCompleted(this, new UploadJumpRjCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
+        }
+    }
+    
     /// <remarks>
 ///Upload a run
-///</remarks>
-    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/UploadRun";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
-    public int UploadRun(Run myTest) {
-        object[] results = this.Invoke("UploadRun", new object[] {
-                    myTest});
-        return ((int)(results[0]));
-    }
-    
-    public System.IAsyncResult BeginUploadRun(Run myTest, System.AsyncCallback callback, object asyncState) {
-        return this.BeginInvoke("UploadRun", new object[] {
-                    myTest}, callback, asyncState);
-    }
-    
-    public int EndUploadRun(System.IAsyncResult asyncResult) {
-        object[] results = this.EndInvoke(asyncResult);
-        return ((int)(results[0]));
-    }
-    
-    public void UploadRunAsync(Run myTest) {
-        this.UploadRunAsync(myTest, null);
-    }
-    
-    public void UploadRunAsync(Run myTest, object userState) {
-        if ((this.UploadRunOperationCompleted == null)) {
-            this.UploadRunOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUploadRunCompleted);
-        }
-        this.InvokeAsync("UploadRun", new object[] {
-                    myTest}, this.UploadRunOperationCompleted, userState);
-    }
-    
-    private void OnUploadRunCompleted(object arg) {
-        if ((this.UploadRunCompleted != null)) {
-            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
-            this.UploadRunCompleted(this, new UploadRunCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
-        }
-    }
-    
+///</remarks>
+    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/UploadRun";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
+    public int UploadRun(Run myTest) {
+        object[] results = this.Invoke("UploadRun", new object[] {
+                    myTest});
+        return ((int)(results[0]));
+    }
+    
+    public System.IAsyncResult BeginUploadRun(Run myTest, System.AsyncCallback callback, object asyncState) {
+        return this.BeginInvoke("UploadRun", new object[] {
+                    myTest}, callback, asyncState);
+    }
+    
+    public int EndUploadRun(System.IAsyncResult asyncResult) {
+        object[] results = this.EndInvoke(asyncResult);
+        return ((int)(results[0]));
+    }
+    
+    public void UploadRunAsync(Run myTest) {
+        this.UploadRunAsync(myTest, null);
+    }
+    
+    public void UploadRunAsync(Run myTest, object userState) {
+        if ((this.UploadRunOperationCompleted == null)) {
+            this.UploadRunOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUploadRunCompleted);
+        }
+        this.InvokeAsync("UploadRun", new object[] {
+                    myTest}, this.UploadRunOperationCompleted, userState);
+    }
+    
+    private void OnUploadRunCompleted(object arg) {
+        if ((this.UploadRunCompleted != null)) {
+            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
+            this.UploadRunCompleted(this, new UploadRunCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
+        }
+    }
+    
     /// <remarks>
 ///Upload a run interval
-///</remarks>
-    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/UploadRunI";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
-    public int UploadRunI(RunInterval myTest) {
-        object[] results = this.Invoke("UploadRunI", new object[] {
-                    myTest});
-        return ((int)(results[0]));
-    }
-    
-    public System.IAsyncResult BeginUploadRunI(RunInterval myTest, System.AsyncCallback callback, object asyncState) {
-        return this.BeginInvoke("UploadRunI", new object[] {
-                    myTest}, callback, asyncState);
-    }
-    
-    public int EndUploadRunI(System.IAsyncResult asyncResult) {
-        object[] results = this.EndInvoke(asyncResult);
-        return ((int)(results[0]));
-    }
-    
-    public void UploadRunIAsync(RunInterval myTest) {
-        this.UploadRunIAsync(myTest, null);
-    }
-    
-    public void UploadRunIAsync(RunInterval myTest, object userState) {
-        if ((this.UploadRunIOperationCompleted == null)) {
-            this.UploadRunIOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUploadRunICompleted);
-        }
-        this.InvokeAsync("UploadRunI", new object[] {
-                    myTest}, this.UploadRunIOperationCompleted, userState);
-    }
-    
-    private void OnUploadRunICompleted(object arg) {
-        if ((this.UploadRunICompleted != null)) {
-            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
-            this.UploadRunICompleted(this, new UploadRunICompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
-        }
-    }
-    
+///</remarks>
+    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/UploadRunI";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
+    public int UploadRunI(RunInterval myTest) {
+        object[] results = this.Invoke("UploadRunI", new object[] {
+                    myTest});
+        return ((int)(results[0]));
+    }
+    
+    public System.IAsyncResult BeginUploadRunI(RunInterval myTest, System.AsyncCallback callback, object asyncState) {
+        return this.BeginInvoke("UploadRunI", new object[] {
+                    myTest}, callback, asyncState);
+    }
+    
+    public int EndUploadRunI(System.IAsyncResult asyncResult) {
+        object[] results = this.EndInvoke(asyncResult);
+        return ((int)(results[0]));
+    }
+    
+    public void UploadRunIAsync(RunInterval myTest) {
+        this.UploadRunIAsync(myTest, null);
+    }
+    
+    public void UploadRunIAsync(RunInterval myTest, object userState) {
+        if ((this.UploadRunIOperationCompleted == null)) {
+            this.UploadRunIOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUploadRunICompleted);
+        }
+        this.InvokeAsync("UploadRunI", new object[] {
+                    myTest}, this.UploadRunIOperationCompleted, userState);
+    }
+    
+    private void OnUploadRunICompleted(object arg) {
+        if ((this.UploadRunICompleted != null)) {
+            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
+            this.UploadRunICompleted(this, new UploadRunICompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
+        }
+    }
+    
     /// <remarks>
 ///Upload a reaction time
-///</remarks>
-    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/UploadRT";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
-    public int UploadRT(ReactionTime myTest) {
-        object[] results = this.Invoke("UploadRT", new object[] {
-                    myTest});
-        return ((int)(results[0]));
-    }
-    
-    public System.IAsyncResult BeginUploadRT(ReactionTime myTest, System.AsyncCallback callback, object asyncState) {
-        return this.BeginInvoke("UploadRT", new object[] {
-                    myTest}, callback, asyncState);
-    }
-    
-    public int EndUploadRT(System.IAsyncResult asyncResult) {
-        object[] results = this.EndInvoke(asyncResult);
-        return ((int)(results[0]));
-    }
-    
-    public void UploadRTAsync(ReactionTime myTest) {
-        this.UploadRTAsync(myTest, null);
-    }
-    
-    public void UploadRTAsync(ReactionTime myTest, object userState) {
-        if ((this.UploadRTOperationCompleted == null)) {
-            this.UploadRTOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUploadRTCompleted);
-        }
-        this.InvokeAsync("UploadRT", new object[] {
-                    myTest}, this.UploadRTOperationCompleted, userState);
-    }
-    
-    private void OnUploadRTCompleted(object arg) {
-        if ((this.UploadRTCompleted != null)) {
-            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
-            this.UploadRTCompleted(this, new UploadRTCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
-        }
-    }
-    
+///</remarks>
+    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/UploadRT";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
+    public int UploadRT(ReactionTime myTest) {
+        object[] results = this.Invoke("UploadRT", new object[] {
+                    myTest});
+        return ((int)(results[0]));
+    }
+    
+    public System.IAsyncResult BeginUploadRT(ReactionTime myTest, System.AsyncCallback callback, object asyncState) {
+        return this.BeginInvoke("UploadRT", new object[] {
+                    myTest}, callback, asyncState);
+    }
+    
+    public int EndUploadRT(System.IAsyncResult asyncResult) {
+        object[] results = this.EndInvoke(asyncResult);
+        return ((int)(results[0]));
+    }
+    
+    public void UploadRTAsync(ReactionTime myTest) {
+        this.UploadRTAsync(myTest, null);
+    }
+    
+    public void UploadRTAsync(ReactionTime myTest, object userState) {
+        if ((this.UploadRTOperationCompleted == null)) {
+            this.UploadRTOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUploadRTCompleted);
+        }
+        this.InvokeAsync("UploadRT", new object[] {
+                    myTest}, this.UploadRTOperationCompleted, userState);
+    }
+    
+    private void OnUploadRTCompleted(object arg) {
+        if ((this.UploadRTCompleted != null)) {
+            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
+            this.UploadRTCompleted(this, new UploadRTCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
+        }
+    }
+    
     /// <remarks>
 ///Upload a pulse
-///</remarks>
-    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/UploadPulse";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
-    public int UploadPulse(Pulse myTest) {
-        object[] results = this.Invoke("UploadPulse", new object[] {
-                    myTest});
-        return ((int)(results[0]));
-    }
-    
-    public System.IAsyncResult BeginUploadPulse(Pulse myTest, System.AsyncCallback callback, object asyncState) {
-        return this.BeginInvoke("UploadPulse", new object[] {
-                    myTest}, callback, asyncState);
-    }
-    
-    public int EndUploadPulse(System.IAsyncResult asyncResult) {
-        object[] results = this.EndInvoke(asyncResult);
-        return ((int)(results[0]));
-    }
-    
-    public void UploadPulseAsync(Pulse myTest) {
-        this.UploadPulseAsync(myTest, null);
-    }
-    
-    public void UploadPulseAsync(Pulse myTest, object userState) {
-        if ((this.UploadPulseOperationCompleted == null)) {
-            this.UploadPulseOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUploadPulseCompleted);
-        }
-        this.InvokeAsync("UploadPulse", new object[] {
-                    myTest}, this.UploadPulseOperationCompleted, userState);
-    }
-    
-    private void OnUploadPulseCompleted(object arg) {
-        if ((this.UploadPulseCompleted != null)) {
-            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
-            this.UploadPulseCompleted(this, new UploadPulseCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
-        }
-    }
-    
+///</remarks>
+    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/UploadPulse";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
+    public int UploadPulse(Pulse myTest) {
+        object[] results = this.Invoke("UploadPulse", new object[] {
+                    myTest});
+        return ((int)(results[0]));
+    }
+    
+    public System.IAsyncResult BeginUploadPulse(Pulse myTest, System.AsyncCallback callback, object asyncState) {
+        return this.BeginInvoke("UploadPulse", new object[] {
+                    myTest}, callback, asyncState);
+    }
+    
+    public int EndUploadPulse(System.IAsyncResult asyncResult) {
+        object[] results = this.EndInvoke(asyncResult);
+        return ((int)(results[0]));
+    }
+    
+    public void UploadPulseAsync(Pulse myTest) {
+        this.UploadPulseAsync(myTest, null);
+    }
+    
+    public void UploadPulseAsync(Pulse myTest, object userState) {
+        if ((this.UploadPulseOperationCompleted == null)) {
+            this.UploadPulseOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUploadPulseCompleted);
+        }
+        this.InvokeAsync("UploadPulse", new object[] {
+                    myTest}, this.UploadPulseOperationCompleted, userState);
+    }
+    
+    private void OnUploadPulseCompleted(object arg) {
+        if ((this.UploadPulseCompleted != null)) {
+            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
+            this.UploadPulseCompleted(this, new UploadPulseCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
+        }
+    }
+    
     /// <remarks>
 ///Upload a multiChronopic
-///</remarks>
-    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/UploadMultiChronopic";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
-    public int UploadMultiChronopic(MultiChronopic myTest) {
-        object[] results = this.Invoke("UploadMultiChronopic", new object[] {
-                    myTest});
-        return ((int)(results[0]));
-    }
-    
-    public System.IAsyncResult BeginUploadMultiChronopic(MultiChronopic myTest, System.AsyncCallback callback, object asyncState) {
-        return this.BeginInvoke("UploadMultiChronopic", new object[] {
-                    myTest}, callback, asyncState);
-    }
-    
-    public int EndUploadMultiChronopic(System.IAsyncResult asyncResult) {
-        object[] results = this.EndInvoke(asyncResult);
-        return ((int)(results[0]));
-    }
-    
-    public void UploadMultiChronopicAsync(MultiChronopic myTest) {
-        this.UploadMultiChronopicAsync(myTest, null);
-    }
-    
-    public void UploadMultiChronopicAsync(MultiChronopic myTest, object userState) {
-        if ((this.UploadMultiChronopicOperationCompleted == null)) {
-            this.UploadMultiChronopicOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUploadMultiChronopicCompleted);
-        }
-        this.InvokeAsync("UploadMultiChronopic", new object[] {
-                    myTest}, this.UploadMultiChronopicOperationCompleted, userState);
-    }
-    
-    private void OnUploadMultiChronopicCompleted(object arg) {
-        if ((this.UploadMultiChronopicCompleted != null)) {
-            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
-            this.UploadMultiChronopicCompleted(this, new UploadMultiChronopicCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
-        }
-    }
-    
+///</remarks>
+    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/UploadMultiChronopic";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
+    public int UploadMultiChronopic(MultiChronopic myTest) {
+        object[] results = this.Invoke("UploadMultiChronopic", new object[] {
+                    myTest});
+        return ((int)(results[0]));
+    }
+    
+    public System.IAsyncResult BeginUploadMultiChronopic(MultiChronopic myTest, System.AsyncCallback callback, object asyncState) {
+        return this.BeginInvoke("UploadMultiChronopic", new object[] {
+                    myTest}, callback, asyncState);
+    }
+    
+    public int EndUploadMultiChronopic(System.IAsyncResult asyncResult) {
+        object[] results = this.EndInvoke(asyncResult);
+        return ((int)(results[0]));
+    }
+    
+    public void UploadMultiChronopicAsync(MultiChronopic myTest) {
+        this.UploadMultiChronopicAsync(myTest, null);
+    }
+    
+    public void UploadMultiChronopicAsync(MultiChronopic myTest, object userState) {
+        if ((this.UploadMultiChronopicOperationCompleted == null)) {
+            this.UploadMultiChronopicOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUploadMultiChronopicCompleted);
+        }
+        this.InvokeAsync("UploadMultiChronopic", new object[] {
+                    myTest}, this.UploadMultiChronopicOperationCompleted, userState);
+    }
+    
+    private void OnUploadMultiChronopicCompleted(object arg) {
+        if ((this.UploadMultiChronopicCompleted != null)) {
+            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
+            this.UploadMultiChronopicCompleted(this, new UploadMultiChronopicCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
+        }
+    }
+    
     /// <remarks>
 ///List directory files (only as a sample)
-///</remarks>
-    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/ListDirectory";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
-    public string[] ListDirectory(string path) {
-        object[] results = this.Invoke("ListDirectory", new object[] {
-                    path});
-        return ((string[])(results[0]));
-    }
-    
-    public System.IAsyncResult BeginListDirectory(string path, System.AsyncCallback callback, object asyncState) {
-        return this.BeginInvoke("ListDirectory", new object[] {
-                    path}, callback, asyncState);
-    }
-    
-    public string[] EndListDirectory(System.IAsyncResult asyncResult) {
-        object[] results = this.EndInvoke(asyncResult);
-        return ((string[])(results[0]));
-    }
-    
-    public void ListDirectoryAsync(string path) {
-        this.ListDirectoryAsync(path, null);
-    }
-    
-    public void ListDirectoryAsync(string path, object userState) {
-        if ((this.ListDirectoryOperationCompleted == null)) {
-            this.ListDirectoryOperationCompleted = new System.Threading.SendOrPostCallback(this.OnListDirectoryCompleted);
-        }
-        this.InvokeAsync("ListDirectory", new object[] {
-                    path}, this.ListDirectoryOperationCompleted, userState);
-    }
-    
-    private void OnListDirectoryCompleted(object arg) {
-        if ((this.ListDirectoryCompleted != null)) {
-            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
-            this.ListDirectoryCompleted(this, new ListDirectoryCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
-        }
-    }
-}
-
-/*
-/// <remarks/>
-[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "2.0.50727.42")]
-[System.SerializableAttribute()]
-[System.Diagnostics.DebuggerStepThroughAttribute()]
-[System.ComponentModel.DesignerCategoryAttribute("code")]
-[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://server.chronojump.org/";)]
-public partial class ServerSession : Session {
-    
-    /// <remarks/>
-    public int EvaluatorID;
-    
-    /// <remarks/>
-    public string EvaluatorCJVersion;
-    
-    /// <remarks/>
-    public string EvaluatorOS;
-    
-    /// <remarks/>
-    public string UploadedDate;
-    
-    /// <remarks/>
-    public int UploadingState;
-}
-
-/// <remarks/>
-[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "2.0.50727.42")]
-[System.SerializableAttribute()]
-[System.Diagnostics.DebuggerStepThroughAttribute()]
-[System.ComponentModel.DesignerCategoryAttribute("code")]
-[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://server.chronojump.org/";)]
-[System.Xml.Serialization.XmlIncludeAttribute(typeof(ServerSession))]
-public partial class Session {
-    
-    /// <remarks/>
-    public string Name;
-    
-    /// <remarks/>
-    public string Place;
-    
-    /// <remarks/>
-    public string Date;
-    
-    /// <remarks/>
-    public string Comments;
-    
-    /// <remarks/>
-    public int ServerUniqueID;
-    
-    /// <remarks/>
-    public int UniqueID;
-    
-    /// <remarks/>
-    public int PersonsSportID;
-    
-    /// <remarks/>
-    public int PersonsSpeciallityID;
-    
-    /// <remarks/>
-    public int PersonsPractice;
-}
-
-/// <remarks/>
-[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "2.0.50727.42")]
-[System.SerializableAttribute()]
-[System.Diagnostics.DebuggerStepThroughAttribute()]
-[System.ComponentModel.DesignerCategoryAttribute("code")]
-[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://server.chronojump.org/";)]
-public partial class Sport {
-    
-    /// <remarks/>
-    public int UniqueID;
-    
-    /// <remarks/>
-    public string Name;
-    
-    /// <remarks/>
-    public bool UserDefined;
-    
-    /// <remarks/>
-    public string GraphLink;
-    
-    /// <remarks/>
-    public bool HasSpeciallities;
-}
-
-/// <remarks/>
-[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "2.0.50727.42")]
-[System.SerializableAttribute()]
-[System.Diagnostics.DebuggerStepThroughAttribute()]
-[System.ComponentModel.DesignerCategoryAttribute("code")]
-[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://server.chronojump.org/";)]
-public partial class JumpType : EventType {
-    
-    /// <remarks/>
-    public bool StartIn;
-    
-    /// <remarks/>
-    public bool HasWeight;
-    
-    /// <remarks/>
-    public bool IsRepetitive;
-    
-    /// <remarks/>
-    public bool JumpsLimited;
-    
-    /// <remarks/>
-    public double FixedValue;
-}
-
-/// <remarks/>
-[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "2.0.50727.42")]
-[System.SerializableAttribute()]
-[System.Diagnostics.DebuggerStepThroughAttribute()]
-[System.ComponentModel.DesignerCategoryAttribute("code")]
-[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://server.chronojump.org/";)]
-[System.Xml.Serialization.XmlIncludeAttribute(typeof(JumpType))]
-[System.Xml.Serialization.XmlIncludeAttribute(typeof(RunType))]
-public partial class EventType {
-    
-    /// <remarks/>
-    public string Name;
-    
-    /// <remarks/>
-    public string Description;
-    
-    /// <remarks/>
-    public bool IsPredefined;
-}
-
-/// <remarks/>
-[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "2.0.50727.42")]
-[System.SerializableAttribute()]
-[System.Diagnostics.DebuggerStepThroughAttribute()]
-[System.ComponentModel.DesignerCategoryAttribute("code")]
-[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://server.chronojump.org/";)]
-public partial class RunType : EventType {
-    
-    /// <remarks/>
-    public double Distance;
-    
-    /// <remarks/>
-    public bool HasIntervals;
-    
-    /// <remarks/>
-    public bool TracksLimited;
-    
-    /// <remarks/>
-    public int FixedValue;
-    
-    /// <remarks/>
-    public bool Unlimited;
-    
-    /// <remarks/>
-    public string DistancesString;
-}
-
-/// <remarks/>
-[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "2.0.50727.42")]
-[System.SerializableAttribute()]
-[System.Diagnostics.DebuggerStepThroughAttribute()]
-[System.ComponentModel.DesignerCategoryAttribute("code")]
-[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://server.chronojump.org/";)]
-public partial class Person {
-    
-    /// <remarks/>
-    public string Name;
-    
-    /// <remarks/>
-    public string Sex;
-    
-    /// <remarks/>
-    public string DateBorn;
-    
-    /// <remarks/>
-    public int Height;
-    
-    /// <remarks/>
-    public int Weight;
-    
-    /// <remarks/>
-    public int SportID;
-    
-    /// <remarks/>
-    public int SpeciallityID;
-    
-    /// <remarks/>
-    public int Practice;
-    
-    /// <remarks/>
-    public string Description;
-    
-    /// <remarks/>
-    public int Race;
-    
-    /// <remarks/>
-    public int CountryID;
-    
-    /// <remarks/>
-    public int ServerUniqueID;
-    
-    /// <remarks/>
-    public int UniqueID;
-}
-
-/// <remarks/>
-[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "2.0.50727.42")]
-[System.SerializableAttribute()]
-[System.Diagnostics.DebuggerStepThroughAttribute()]
-[System.ComponentModel.DesignerCategoryAttribute("code")]
-[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://server.chronojump.org/";)]
-public partial class ServerPing {
-    
-    /// <remarks/>
-    public int UniqueID;
-    
-    /// <remarks/>
-    public int EvaluatorID;
-    
-    /// <remarks/>
-    public string CJVersion;
-    
-    /// <remarks/>
-    public string OSVersion;
-    
-    /// <remarks/>
-    public string IP;
-    
-    /// <remarks/>
-    public string Date;
-}
-
-/// <remarks/>
-[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "2.0.50727.42")]
-[System.SerializableAttribute()]
-[System.Diagnostics.DebuggerStepThroughAttribute()]
-[System.ComponentModel.DesignerCategoryAttribute("code")]
-[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://server.chronojump.org/";)]
-public partial class ServerEvaluator {
-    
-    /// <remarks/>
-    public int UniqueID;
-    
-    /// <remarks/>
-    public string Code;
-    
-    /// <remarks/>
-    public string Name;
-    
-    /// <remarks/>
-    public string Email;
-    
-    /// <remarks/>
-    public string DateBorn;
-    
-    /// <remarks/>
-    public int CountryID;
-    
-    /// <remarks/>
-    public string Chronometer;
-    
-    /// <remarks/>
-    public string Device;
-    
-    /// <remarks/>
-    public string Comments;
-    
-    /// <remarks/>
-    public bool Confiable;
-}
-
-/// <remarks/>
-[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "2.0.50727.42")]
-[System.SerializableAttribute()]
-[System.Diagnostics.DebuggerStepThroughAttribute()]
-[System.ComponentModel.DesignerCategoryAttribute("code")]
-[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://server.chronojump.org/";)]
-[System.Xml.Serialization.XmlIncludeAttribute(typeof(JumpRj))]
-public partial class Jump : Event {
-    
-    /// <remarks/>
-    public double Tv;
-    
-    /// <remarks/>
-    public double Tc;
-    
-    /// <remarks/>
-    public int Fall;
-    
-    /// <remarks/>
-    public double Weight;
-    
-    /// <remarks/>
-    public double Angle;
-}
-
-/// <remarks/>
-[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "2.0.50727.42")]
-[System.SerializableAttribute()]
-[System.Diagnostics.DebuggerStepThroughAttribute()]
-[System.ComponentModel.DesignerCategoryAttribute("code")]
-[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://server.chronojump.org/";)]
-[System.Xml.Serialization.XmlIncludeAttribute(typeof(Jump))]
-[System.Xml.Serialization.XmlIncludeAttribute(typeof(JumpRj))]
-[System.Xml.Serialization.XmlIncludeAttribute(typeof(Run))]
-[System.Xml.Serialization.XmlIncludeAttribute(typeof(RunInterval))]
-[System.Xml.Serialization.XmlIncludeAttribute(typeof(ReactionTime))]
-[System.Xml.Serialization.XmlIncludeAttribute(typeof(Pulse))]
-[System.Xml.Serialization.XmlIncludeAttribute(typeof(MultiChronopic))]
-public partial class Event {
-    
-    /// <remarks/>
-    public string Type;
-    
-    /// <remarks/>
-    public string Description;
-    
-    /// <remarks/>
-    public int UniqueID;
-    
-    /// <remarks/>
-    public int SessionID;
-    
-    /// <remarks/>
-    public int PersonID;
-    
-    /// <remarks/>
-    public int Simulated;
-}
-
-/// <remarks/>
-[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "2.0.50727.42")]
-[System.SerializableAttribute()]
-[System.Diagnostics.DebuggerStepThroughAttribute()]
-[System.ComponentModel.DesignerCategoryAttribute("code")]
-[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://server.chronojump.org/";)]
-public partial class JumpRj : Jump {
-    
-    /// <remarks/>
-    public string Limited;
-    
-    /// <remarks/>
-    public string TvString;
-    
-    /// <remarks/>
-    public string TcString;
-    
-    /// <remarks/>
-    public int Jumps;
-}
-
-/// <remarks/>
-[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "2.0.50727.42")]
-[System.SerializableAttribute()]
-[System.Diagnostics.DebuggerStepThroughAttribute()]
-[System.ComponentModel.DesignerCategoryAttribute("code")]
-[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://server.chronojump.org/";)]
-[System.Xml.Serialization.XmlIncludeAttribute(typeof(RunInterval))]
-public partial class Run : Event {
-    
-    /// <remarks/>
-    public double Distance;
-    
-    /// <remarks/>
-    public double Time;
-}
-
-/// <remarks/>
-[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "2.0.50727.42")]
-[System.SerializableAttribute()]
-[System.Diagnostics.DebuggerStepThroughAttribute()]
-[System.ComponentModel.DesignerCategoryAttribute("code")]
-[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://server.chronojump.org/";)]
-public partial class RunInterval : Run {
-    
-    /// <remarks/>
-    public string IntervalTimesString;
-    
-    /// <remarks/>
-    public double DistanceInterval;
-    
-    /// <remarks/>
-    public double DistanceTotal;
-    
-    /// <remarks/>
-    public double TimeTotal;
-    
-    /// <remarks/>
-    public double Tracks;
-    
-    /// <remarks/>
-    public string Limited;
-}
-
-/// <remarks/>
-[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "2.0.50727.42")]
-[System.SerializableAttribute()]
-[System.Diagnostics.DebuggerStepThroughAttribute()]
-[System.ComponentModel.DesignerCategoryAttribute("code")]
-[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://server.chronojump.org/";)]
-public partial class ReactionTime : Event {
-    
-    /// <remarks/>
-    public double Time;
-}
-
-/// <remarks/>
-[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "2.0.50727.42")]
-[System.SerializableAttribute()]
-[System.Diagnostics.DebuggerStepThroughAttribute()]
-[System.ComponentModel.DesignerCategoryAttribute("code")]
-[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://server.chronojump.org/";)]
-public partial class Pulse : Event {
-    
-    /// <remarks/>
-    public double FixedPulse;
-    
-    /// <remarks/>
-    public string TimesString;
-}
-
-/// <remarks/>
-[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "2.0.50727.42")]
-[System.SerializableAttribute()]
-[System.Diagnostics.DebuggerStepThroughAttribute()]
-[System.ComponentModel.DesignerCategoryAttribute("code")]
-[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://server.chronojump.org/";)]
-public partial class MultiChronopic : Event {
-    
-    /// <remarks/>
-    public int Cp1StartedIn;
-    
-    /// <remarks/>
-    public int Cp2StartedIn;
-    
-    /// <remarks/>
-    public int Cp3StartedIn;
-    
-    /// <remarks/>
-    public int Cp4StartedIn;
-    
-    /// <remarks/>
-    public string Cp1InStr;
-    
-    /// <remarks/>
-    public string Cp1OutStr;
-    
-    /// <remarks/>
-    public string Cp2InStr;
-    
-    /// <remarks/>
-    public string Cp2OutStr;
-    
-    /// <remarks/>
-    public string Cp3InStr;
-    
-    /// <remarks/>
-    public string Cp3OutStr;
-    
-    /// <remarks/>
-    public string Cp4InStr;
-    
-    /// <remarks/>
-    public string Cp4OutStr;
-}
-*/
-public class ConnectDatabaseCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
-    
-    private object[] results;
-    
-    internal ConnectDatabaseCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
-            base(exception, cancelled, userState) {
-        this.results = results;
-    }
-    
-    public string Result {
-        get {
-            this.RaiseExceptionIfNecessary();
-            return ((string)(this.results[0]));
-        }
-    }
-}
-
-public delegate void ConnectDatabaseCompletedEventHandler(object sender, ConnectDatabaseCompletedEventArgs args);
-
-public class DisConnectDatabaseCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
-    
-    private object[] results;
-    
-    internal DisConnectDatabaseCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
-            base(exception, cancelled, userState) {
-        this.results = results;
-    }
-    
-    public string Result {
-        get {
-            this.RaiseExceptionIfNecessary();
-            return ((string)(this.results[0]));
-        }
-    }
-}
-
-public delegate void DisConnectDatabaseCompletedEventHandler(object sender, DisConnectDatabaseCompletedEventArgs args);
-
-public class CanICompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
-    
-    private object[] results;
-    
-    internal CanICompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
-            base(exception, cancelled, userState) {
-        this.results = results;
-    }
-    
-    public bool Result {
-        get {
-            this.RaiseExceptionIfNecessary();
-            return ((bool)(this.results[0]));
-        }
-    }
-}
-
-public delegate void CanICompletedEventHandler(object sender, CanICompletedEventArgs args);
-
-public class StatsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
-    
-    private object[] results;
-    
-    internal StatsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
-            base(exception, cancelled, userState) {
-        this.results = results;
-    }
-    
-    public string[] Result {
-        get {
-            this.RaiseExceptionIfNecessary();
-            return ((string[])(this.results[0]));
-        }
-    }
-}
-
-public delegate void StatsCompletedEventHandler(object sender, StatsCompletedEventArgs args);
-
-public class UploadSessionCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
-    
-    private object[] results;
-    
-    internal UploadSessionCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
-            base(exception, cancelled, userState) {
-        this.results = results;
-    }
-    
-    public int Result {
-        get {
-            this.RaiseExceptionIfNecessary();
-            return ((int)(this.results[0]));
-        }
-    }
-}
-
-public delegate void UploadSessionCompletedEventHandler(object sender, UploadSessionCompletedEventArgs args);
-
-public class UpdateSessionCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
-    
-    private object[] results;
-    
-    internal UpdateSessionCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
-            base(exception, cancelled, userState) {
-        this.results = results;
-    }
-    
-    public int Result {
-        get {
-            this.RaiseExceptionIfNecessary();
-            return ((int)(this.results[0]));
-        }
-    }
-}
-
-public delegate void UpdateSessionCompletedEventHandler(object sender, UpdateSessionCompletedEventArgs args);
-
-public class UploadSportCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
-    
-    private object[] results;
-    
-    internal UploadSportCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
-            base(exception, cancelled, userState) {
-        this.results = results;
-    }
-    
-    public int Result {
-        get {
-            this.RaiseExceptionIfNecessary();
-            return ((int)(this.results[0]));
-        }
-    }
-}
-
-public delegate void UploadSportCompletedEventHandler(object sender, UploadSportCompletedEventArgs args);
-
-public class UploadJumpTypeCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
-    
-    private object[] results;
-    
-    internal UploadJumpTypeCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
-            base(exception, cancelled, userState) {
-        this.results = results;
-    }
-    
-    public string Result {
-        get {
-            this.RaiseExceptionIfNecessary();
-            return ((string)(this.results[0]));
-        }
-    }
-}
-
-public delegate void UploadJumpTypeCompletedEventHandler(object sender, UploadJumpTypeCompletedEventArgs args);
-
-public class UploadJumpRjTypeCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
-    
-    private object[] results;
-    
-    internal UploadJumpRjTypeCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
-            base(exception, cancelled, userState) {
-        this.results = results;
-    }
-    
-    public string Result {
-        get {
-            this.RaiseExceptionIfNecessary();
-            return ((string)(this.results[0]));
-        }
-    }
-}
-
-public delegate void UploadJumpRjTypeCompletedEventHandler(object sender, UploadJumpRjTypeCompletedEventArgs args);
-
-public class UploadRunTypeCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
-    
-    private object[] results;
-    
-    internal UploadRunTypeCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
-            base(exception, cancelled, userState) {
-        this.results = results;
-    }
-    
-    public string Result {
-        get {
-            this.RaiseExceptionIfNecessary();
-            return ((string)(this.results[0]));
-        }
-    }
-}
-
-public delegate void UploadRunTypeCompletedEventHandler(object sender, UploadRunTypeCompletedEventArgs args);
-
-public class UploadRunIntervalTypeCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
-    
-    private object[] results;
-    
-    internal UploadRunIntervalTypeCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
-            base(exception, cancelled, userState) {
-        this.results = results;
-    }
-    
-    public string Result {
-        get {
-            this.RaiseExceptionIfNecessary();
-            return ((string)(this.results[0]));
-        }
-    }
-}
-
-public delegate void UploadRunIntervalTypeCompletedEventHandler(object sender, UploadRunIntervalTypeCompletedEventArgs args);
-
-public class UploadPersonCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
-    
-    private object[] results;
-    
-    internal UploadPersonCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
-            base(exception, cancelled, userState) {
-        this.results = results;
-    }
-    
-    public int Result {
-        get {
-            this.RaiseExceptionIfNecessary();
-            return ((int)(this.results[0]));
-        }
-    }
-}
-
-public delegate void UploadPersonCompletedEventHandler(object sender, UploadPersonCompletedEventArgs args);
-
-public class UploadPersonSessionIfNeededCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
-    
-    private object[] results;
-    
-    internal UploadPersonSessionIfNeededCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
-            base(exception, cancelled, userState) {
-        this.results = results;
-    }
-    
-    public int Result {
-        get {
-            this.RaiseExceptionIfNecessary();
-            return ((int)(this.results[0]));
-        }
-    }
-}
-
-public delegate void UploadPersonSessionIfNeededCompletedEventHandler(object sender, UploadPersonSessionIfNeededCompletedEventArgs args);
-
-public class UploadPingCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
-    
-    private object[] results;
-    
-    internal UploadPingCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
-            base(exception, cancelled, userState) {
-        this.results = results;
-    }
-    
-    public string Result {
-        get {
-            this.RaiseExceptionIfNecessary();
-            return ((string)(this.results[0]));
-        }
-    }
-}
-
-public delegate void UploadPingCompletedEventHandler(object sender, UploadPingCompletedEventArgs args);
-
-public class UploadEvaluatorCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
-    
-    private object[] results;
-    
-    internal UploadEvaluatorCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
-            base(exception, cancelled, userState) {
-        this.results = results;
-    }
-    
-    public string Result {
-        get {
-            this.RaiseExceptionIfNecessary();
-            return ((string)(this.results[0]));
-        }
-    }
-}
-
-public delegate void UploadEvaluatorCompletedEventHandler(object sender, UploadEvaluatorCompletedEventArgs args);
-
-public class EditEvaluatorCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
-    
-    private object[] results;
-    
-    internal EditEvaluatorCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
-            base(exception, cancelled, userState) {
-        this.results = results;
-    }
-    
-    public bool Result {
-        get {
-            this.RaiseExceptionIfNecessary();
-            return ((bool)(this.results[0]));
-        }
-    }
-}
-
-public delegate void EditEvaluatorCompletedEventHandler(object sender, EditEvaluatorCompletedEventArgs args);
-
-public class UploadJumpCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
-    
-    private object[] results;
-    
-    internal UploadJumpCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
-            base(exception, cancelled, userState) {
-        this.results = results;
-    }
-    
-    public int Result {
-        get {
-            this.RaiseExceptionIfNecessary();
-            return ((int)(this.results[0]));
-        }
-    }
-}
-
-public delegate void UploadJumpCompletedEventHandler(object sender, UploadJumpCompletedEventArgs args);
-
-public class UploadJumpRjCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
-    
-    private object[] results;
-    
-    internal UploadJumpRjCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
-            base(exception, cancelled, userState) {
-        this.results = results;
-    }
-    
-    public int Result {
-        get {
-            this.RaiseExceptionIfNecessary();
-            return ((int)(this.results[0]));
-        }
-    }
-}
-
-public delegate void UploadJumpRjCompletedEventHandler(object sender, UploadJumpRjCompletedEventArgs args);
-
-public class UploadRunCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
-    
-    private object[] results;
-    
-    internal UploadRunCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
-            base(exception, cancelled, userState) {
-        this.results = results;
-    }
-    
-    public int Result {
-        get {
-            this.RaiseExceptionIfNecessary();
-            return ((int)(this.results[0]));
-        }
-    }
-}
-
-public delegate void UploadRunCompletedEventHandler(object sender, UploadRunCompletedEventArgs args);
-
-public class UploadRunICompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
-    
-    private object[] results;
-    
-    internal UploadRunICompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
-            base(exception, cancelled, userState) {
-        this.results = results;
-    }
-    
-    public int Result {
-        get {
-            this.RaiseExceptionIfNecessary();
-            return ((int)(this.results[0]));
-        }
-    }
-}
-
-public delegate void UploadRunICompletedEventHandler(object sender, UploadRunICompletedEventArgs args);
-
-public class UploadRTCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
-    
-    private object[] results;
-    
-    internal UploadRTCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
-            base(exception, cancelled, userState) {
-        this.results = results;
-    }
-    
-    public int Result {
-        get {
-            this.RaiseExceptionIfNecessary();
-            return ((int)(this.results[0]));
-        }
-    }
-}
-
-public delegate void UploadRTCompletedEventHandler(object sender, UploadRTCompletedEventArgs args);
-
-public class UploadPulseCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
-    
-    private object[] results;
-    
-    internal UploadPulseCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
-            base(exception, cancelled, userState) {
-        this.results = results;
-    }
-    
-    public int Result {
-        get {
-            this.RaiseExceptionIfNecessary();
-            return ((int)(this.results[0]));
-        }
-    }
-}
-
-public delegate void UploadPulseCompletedEventHandler(object sender, UploadPulseCompletedEventArgs args);
-
-public class UploadMultiChronopicCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
-    
-    private object[] results;
-    
-    internal UploadMultiChronopicCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
-            base(exception, cancelled, userState) {
-        this.results = results;
-    }
-    
-    public int Result {
-        get {
-            this.RaiseExceptionIfNecessary();
-            return ((int)(this.results[0]));
-        }
-    }
-}
-
-public delegate void UploadMultiChronopicCompletedEventHandler(object sender, UploadMultiChronopicCompletedEventArgs args);
-
-public class ListDirectoryCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
-    
-    private object[] results;
-    
-    internal ListDirectoryCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
-            base(exception, cancelled, userState) {
-        this.results = results;
-    }
-    
-    public string[] Result {
-        get {
-            this.RaiseExceptionIfNecessary();
-            return ((string[])(this.results[0]));
-        }
-    }
-}
-
-public delegate void ListDirectoryCompletedEventHandler(object sender, ListDirectoryCompletedEventArgs args);
-
+///</remarks>
+    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://server.chronojump.org/ListDirectory";, RequestNamespace="http://server.chronojump.org/";, ResponseNamespace="http://server.chronojump.org/";, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
+    public string[] ListDirectory(string path) {
+        object[] results = this.Invoke("ListDirectory", new object[] {
+                    path});
+        return ((string[])(results[0]));
+    }
+    
+    public System.IAsyncResult BeginListDirectory(string path, System.AsyncCallback callback, object asyncState) {
+        return this.BeginInvoke("ListDirectory", new object[] {
+                    path}, callback, asyncState);
+    }
+    
+    public string[] EndListDirectory(System.IAsyncResult asyncResult) {
+        object[] results = this.EndInvoke(asyncResult);
+        return ((string[])(results[0]));
+    }
+    
+    public void ListDirectoryAsync(string path) {
+        this.ListDirectoryAsync(path, null);
+    }
+    
+    public void ListDirectoryAsync(string path, object userState) {
+        if ((this.ListDirectoryOperationCompleted == null)) {
+            this.ListDirectoryOperationCompleted = new System.Threading.SendOrPostCallback(this.OnListDirectoryCompleted);
+        }
+        this.InvokeAsync("ListDirectory", new object[] {
+                    path}, this.ListDirectoryOperationCompleted, userState);
+    }
+    
+    private void OnListDirectoryCompleted(object arg) {
+        if ((this.ListDirectoryCompleted != null)) {
+            System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
+            this.ListDirectoryCompleted(this, new ListDirectoryCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
+        }
+    }
+}
+
+
+public class ConnectDatabaseCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+    
+    private object[] results;
+    
+    internal ConnectDatabaseCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+            base(exception, cancelled, userState) {
+        this.results = results;
+    }
+    
+    public string Result {
+        get {
+            this.RaiseExceptionIfNecessary();
+            return ((string)(this.results[0]));
+        }
+    }
+}
+
+public delegate void ConnectDatabaseCompletedEventHandler(object sender, ConnectDatabaseCompletedEventArgs args);
+
+public class DisConnectDatabaseCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+    
+    private object[] results;
+    
+    internal DisConnectDatabaseCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+            base(exception, cancelled, userState) {
+        this.results = results;
+    }
+    
+    public string Result {
+        get {
+            this.RaiseExceptionIfNecessary();
+            return ((string)(this.results[0]));
+        }
+    }
+}
+
+public delegate void DisConnectDatabaseCompletedEventHandler(object sender, DisConnectDatabaseCompletedEventArgs args);
+
+public class CanICompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+    
+    private object[] results;
+    
+    internal CanICompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+            base(exception, cancelled, userState) {
+        this.results = results;
+    }
+    
+    public bool Result {
+        get {
+            this.RaiseExceptionIfNecessary();
+            return ((bool)(this.results[0]));
+        }
+    }
+}
+
+public delegate void CanICompletedEventHandler(object sender, CanICompletedEventArgs args);
+
+public class QueryCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+    
+    private object[] results;
+    
+    internal QueryCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+            base(exception, cancelled, userState) {
+        this.results = results;
+    }
+    
+    public string Result {
+        get {
+            this.RaiseExceptionIfNecessary();
+            return ((string)(this.results[0]));
+        }
+    }
+}
+
+public delegate void QueryCompletedEventHandler(object sender, QueryCompletedEventArgs args);
+
+public class StatsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+    
+    private object[] results;
+    
+    internal StatsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+            base(exception, cancelled, userState) {
+        this.results = results;
+    }
+    
+    public string[] Result {
+        get {
+            this.RaiseExceptionIfNecessary();
+            return ((string[])(this.results[0]));
+        }
+    }
+}
+
+public delegate void StatsCompletedEventHandler(object sender, StatsCompletedEventArgs args);
+
+public class UploadSessionCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+    
+    private object[] results;
+    
+    internal UploadSessionCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+            base(exception, cancelled, userState) {
+        this.results = results;
+    }
+    
+    public int Result {
+        get {
+            this.RaiseExceptionIfNecessary();
+            return ((int)(this.results[0]));
+        }
+    }
+}
+
+public delegate void UploadSessionCompletedEventHandler(object sender, UploadSessionCompletedEventArgs args);
+
+public class UpdateSessionCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+    
+    private object[] results;
+    
+    internal UpdateSessionCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+            base(exception, cancelled, userState) {
+        this.results = results;
+    }
+    
+    public int Result {
+        get {
+            this.RaiseExceptionIfNecessary();
+            return ((int)(this.results[0]));
+        }
+    }
+}
+
+public delegate void UpdateSessionCompletedEventHandler(object sender, UpdateSessionCompletedEventArgs args);
+
+public class UploadSportCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+    
+    private object[] results;
+    
+    internal UploadSportCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+            base(exception, cancelled, userState) {
+        this.results = results;
+    }
+    
+    public int Result {
+        get {
+            this.RaiseExceptionIfNecessary();
+            return ((int)(this.results[0]));
+        }
+    }
+}
+
+public delegate void UploadSportCompletedEventHandler(object sender, UploadSportCompletedEventArgs args);
+
+public class UploadJumpTypeCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+    
+    private object[] results;
+    
+    internal UploadJumpTypeCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+            base(exception, cancelled, userState) {
+        this.results = results;
+    }
+    
+    public string Result {
+        get {
+            this.RaiseExceptionIfNecessary();
+            return ((string)(this.results[0]));
+        }
+    }
+}
+
+public delegate void UploadJumpTypeCompletedEventHandler(object sender, UploadJumpTypeCompletedEventArgs args);
+
+public class UploadJumpRjTypeCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+    
+    private object[] results;
+    
+    internal UploadJumpRjTypeCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+            base(exception, cancelled, userState) {
+        this.results = results;
+    }
+    
+    public string Result {
+        get {
+            this.RaiseExceptionIfNecessary();
+            return ((string)(this.results[0]));
+        }
+    }
+}
+
+public delegate void UploadJumpRjTypeCompletedEventHandler(object sender, UploadJumpRjTypeCompletedEventArgs args);
+
+public class UploadRunTypeCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+    
+    private object[] results;
+    
+    internal UploadRunTypeCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+            base(exception, cancelled, userState) {
+        this.results = results;
+    }
+    
+    public string Result {
+        get {
+            this.RaiseExceptionIfNecessary();
+            return ((string)(this.results[0]));
+        }
+    }
+}
+
+public delegate void UploadRunTypeCompletedEventHandler(object sender, UploadRunTypeCompletedEventArgs args);
+
+public class UploadRunIntervalTypeCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+    
+    private object[] results;
+    
+    internal UploadRunIntervalTypeCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+            base(exception, cancelled, userState) {
+        this.results = results;
+    }
+    
+    public string Result {
+        get {
+            this.RaiseExceptionIfNecessary();
+            return ((string)(this.results[0]));
+        }
+    }
+}
+
+public delegate void UploadRunIntervalTypeCompletedEventHandler(object sender, UploadRunIntervalTypeCompletedEventArgs args);
+
+public class UploadPersonCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+    
+    private object[] results;
+    
+    internal UploadPersonCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+            base(exception, cancelled, userState) {
+        this.results = results;
+    }
+    
+    public int Result {
+        get {
+            this.RaiseExceptionIfNecessary();
+            return ((int)(this.results[0]));
+        }
+    }
+}
+
+public delegate void UploadPersonCompletedEventHandler(object sender, UploadPersonCompletedEventArgs args);
+
+public class UploadPersonSessionIfNeededCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+    
+    private object[] results;
+    
+    internal UploadPersonSessionIfNeededCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+            base(exception, cancelled, userState) {
+        this.results = results;
+    }
+    
+    public int Result {
+        get {
+            this.RaiseExceptionIfNecessary();
+            return ((int)(this.results[0]));
+        }
+    }
+}
+
+public delegate void UploadPersonSessionIfNeededCompletedEventHandler(object sender, UploadPersonSessionIfNeededCompletedEventArgs args);
+
+public class UploadPingCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+    
+    private object[] results;
+    
+    internal UploadPingCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+            base(exception, cancelled, userState) {
+        this.results = results;
+    }
+    
+    public string Result {
+        get {
+            this.RaiseExceptionIfNecessary();
+            return ((string)(this.results[0]));
+        }
+    }
+}
+
+public delegate void UploadPingCompletedEventHandler(object sender, UploadPingCompletedEventArgs args);
+
+public class UploadEvaluatorCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+    
+    private object[] results;
+    
+    internal UploadEvaluatorCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+            base(exception, cancelled, userState) {
+        this.results = results;
+    }
+    
+    public string Result {
+        get {
+            this.RaiseExceptionIfNecessary();
+            return ((string)(this.results[0]));
+        }
+    }
+}
+
+public delegate void UploadEvaluatorCompletedEventHandler(object sender, UploadEvaluatorCompletedEventArgs args);
+
+public class EditEvaluatorCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+    
+    private object[] results;
+    
+    internal EditEvaluatorCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+            base(exception, cancelled, userState) {
+        this.results = results;
+    }
+    
+    public bool Result {
+        get {
+            this.RaiseExceptionIfNecessary();
+            return ((bool)(this.results[0]));
+        }
+    }
+}
+
+public delegate void EditEvaluatorCompletedEventHandler(object sender, EditEvaluatorCompletedEventArgs args);
+
+public class UploadJumpCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+    
+    private object[] results;
+    
+    internal UploadJumpCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+            base(exception, cancelled, userState) {
+        this.results = results;
+    }
+    
+    public int Result {
+        get {
+            this.RaiseExceptionIfNecessary();
+            return ((int)(this.results[0]));
+        }
+    }
+}
+
+public delegate void UploadJumpCompletedEventHandler(object sender, UploadJumpCompletedEventArgs args);
+
+public class UploadJumpRjCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+    
+    private object[] results;
+    
+    internal UploadJumpRjCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+            base(exception, cancelled, userState) {
+        this.results = results;
+    }
+    
+    public int Result {
+        get {
+            this.RaiseExceptionIfNecessary();
+            return ((int)(this.results[0]));
+        }
+    }
+}
+
+public delegate void UploadJumpRjCompletedEventHandler(object sender, UploadJumpRjCompletedEventArgs args);
+
+public class UploadRunCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+    
+    private object[] results;
+    
+    internal UploadRunCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+            base(exception, cancelled, userState) {
+        this.results = results;
+    }
+    
+    public int Result {
+        get {
+            this.RaiseExceptionIfNecessary();
+            return ((int)(this.results[0]));
+        }
+    }
+}
+
+public delegate void UploadRunCompletedEventHandler(object sender, UploadRunCompletedEventArgs args);
+
+public class UploadRunICompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+    
+    private object[] results;
+    
+    internal UploadRunICompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+            base(exception, cancelled, userState) {
+        this.results = results;
+    }
+    
+    public int Result {
+        get {
+            this.RaiseExceptionIfNecessary();
+            return ((int)(this.results[0]));
+        }
+    }
+}
+
+public delegate void UploadRunICompletedEventHandler(object sender, UploadRunICompletedEventArgs args);
+
+public class UploadRTCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+    
+    private object[] results;
+    
+    internal UploadRTCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+            base(exception, cancelled, userState) {
+        this.results = results;
+    }
+    
+    public int Result {
+        get {
+            this.RaiseExceptionIfNecessary();
+            return ((int)(this.results[0]));
+        }
+    }
+}
+
+public delegate void UploadRTCompletedEventHandler(object sender, UploadRTCompletedEventArgs args);
+
+public class UploadPulseCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+    
+    private object[] results;
+    
+    internal UploadPulseCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+            base(exception, cancelled, userState) {
+        this.results = results;
+    }
+    
+    public int Result {
+        get {
+            this.RaiseExceptionIfNecessary();
+            return ((int)(this.results[0]));
+        }
+    }
+}
+
+public delegate void UploadPulseCompletedEventHandler(object sender, UploadPulseCompletedEventArgs args);
+
+public class UploadMultiChronopicCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+    
+    private object[] results;
+    
+    internal UploadMultiChronopicCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+            base(exception, cancelled, userState) {
+        this.results = results;
+    }
+    
+    public int Result {
+        get {
+            this.RaiseExceptionIfNecessary();
+            return ((int)(this.results[0]));
+        }
+    }
+}
+
+public delegate void UploadMultiChronopicCompletedEventHandler(object sender, UploadMultiChronopicCompletedEventArgs args);
+
+public class ListDirectoryCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+    
+    private object[] results;
+    
+    internal ListDirectoryCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+            base(exception, cancelled, userState) {
+        this.results = results;
+    }
+    
+    public string[] Result {
+        get {
+            this.RaiseExceptionIfNecessary();
+            return ((string[])(this.results[0]));
+        }
+    }
+}
+
+public delegate void ListDirectoryCompletedEventHandler(object sender, ListDirectoryCompletedEventArgs args);
diff --git a/chronojump_server/bin/chronojumpServer.dll b/chronojump_server/bin/chronojumpServer.dll
index f741255..928a1e6 100755
Binary files a/chronojump_server/bin/chronojumpServer.dll and b/chronojump_server/bin/chronojumpServer.dll differ
diff --git a/chronojump_server/chronojumpServerCSharp.cs b/chronojump_server/chronojumpServerCSharp.cs
index 21726b1..9116832 100755
--- a/chronojump_server/chronojumpServerCSharp.cs
+++ b/chronojump_server/chronojumpServerCSharp.cs
@@ -51,6 +51,21 @@ public class ChronojumpServer {
 		return false;
 	}
 
+	[WebMethod(Description="Query")]
+	public string Query(string tableName, string test, string variable,
+			int sex, 
+			//string age, //interval...
+			int countryID, int sportID, int speciallityID, int levelID)
+	{
+		string str = Util.SQLBuildString(tableName, test, variable,
+				sex, 
+				//age,
+				countryID, sportID, speciallityID, levelID
+				);
+
+		return SqliteServer.Query(str);
+	}
+
 
 	[WebMethod(Description="Stats")]
 	public string [] Stats()
diff --git a/chronojump_server/howto_server_2009.txt b/chronojump_server/howto_server_2009.txt
index ae92bdf..56eef94 100644
--- a/chronojump_server/howto_server_2009.txt
+++ b/chronojump_server/howto_server_2009.txt
@@ -1,7 +1,7 @@
 
 1.- compile bin/*.dll file
 
-compiling with 'make server' creates the bin/chronojumpServer.dll
+see chronojump_server/compile_dll.txt
 
 upload to server
 
@@ -29,7 +29,7 @@ if(chronojumpServerCSharp.cs methods or callings don't changed) {
 
 3.- navigate to the page
 
-firefox http://localhost:8080/chronojumpServer.asmx
+firefox http://server.chronojump.org:8080/chronojumpServer.asmx
 
 4.- generate wsdl proxy file
 
@@ -46,11 +46,3 @@ e) save as ChronojumpServer.cs
 6.- compile client
 
 make
-
------
-instead of 80.32.81.197:8080
-do
-server.chronojump.org/   (work!)
-but if doesn't work, do:
-server.chronojump.org:8080/ (work too!, in both cases needed the end '/')
-------
diff --git a/glade/chronojump.glade b/glade/chronojump.glade
index 9fdb67b..cf35ae0 100644
--- a/glade/chronojump.glade
+++ b/glade/chronojump.glade
@@ -30144,7 +30144,7 @@ by you</property>
 			  <child>
 			    <widget class="GtkLabel" id="label758">
 			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Number of results:</property>
+			      <property name="label" translatable="yes">Results:</property>
 			      <property name="use_underline">False</property>
 			      <property name="use_markup">False</property>
 			      <property name="justify">GTK_JUSTIFY_LEFT</property>
diff --git a/src/constants.cs b/src/constants.cs
index 32a896c..4b2a9a0 100644
--- a/src/constants.cs
+++ b/src/constants.cs
@@ -40,6 +40,9 @@ public class Constants
 	//formulas
 	public static string DjIndexFormula = "Dj Index (tv-tc)/tc *100)";
 	public static string QIndexFormula = "Q index (tv/tc)";
+	public static string DjIndexFormulaOnly = "(tv-tc)*100/(tc*1.0)"; //*1.0 for having double division
+	public static string QIndexFormulaOnly = "tv/(tc*1.0)"; //*1.0 for having double division
+	
 	public const string FvIndexFormula = "F/V sj+(100%)/sj *100";
 	public const string IeIndexFormula = "IE (cmj-sj)/sj *100";
 	public const string IubIndexFormula = "IUB (abk-cmj)/cmj *100";
@@ -88,8 +91,14 @@ public class Constants
 
 	public const string UndefinedDefault = "Undefined";
 	public const string Any = "Any";
+
+	public const string M = "M";
+	public const string F = "F";
 	public const string Males = "Males";
 	public const string Females = "Females";
+	public const int AnyID = -1;
+	public const int MaleID = 1;
+	public const int FemaleID = 0;
 
 	//server	
 	public const string ServerPingTable = "SPing"; 
@@ -191,15 +200,17 @@ public class Constants
 		"(68.2*" + Catalog.GetString("height") + "(cm))" +
 	        "+ (40.8*(" + Catalog.GetString("body weight") + "+" + Catalog.GetString("extra weight") + ")) -1731.1";
 	
-	public static string RJPotencyBoscoFormula = Catalog.GetString("Peak Power") + " (Bosco)" + "\n 9.81^2*TF*TT / (4*jumps*(TT-TF))";
+	public static string RJPotencyBoscoFormula = "Peak Power" + " (Bosco)" + "\n 9.81^2*TF*TT / (4*jumps*(TT-TF))";
+	public static string RJPotencyBoscoFormulaOnly = "9.81*9.81 * tvavg*jumps * time / ( 4.0 * jumps * (time - tvavg*jumps) )"; //*4.0 for having double division
 	public static string RJPotencyBoscoName = Catalog.GetString("Peak Power") + " (Bosco)";
 
 	public static string RjIndexName = "Rj Index";
+	public static string RjIndexFormulaOnly = "(tvavg-tcavg)*100/(tcavg * 1.0)";
 	public static string QIndexName = "Q Index";
 	public static string RjIndexOnlyFormula = "(tf-tc)/tc *100)";
 	public static string QIndexOnlyFormula = "(tf/tc)";
-	public static string RJAVGSDRjIndexName = Catalog.GetString("Reactive AVG SD") + " (" + RjIndexName + ")";
-	public static string RJAVGSDQIndexName = Catalog.GetString("Reactive AVG SD") + " (" + QIndexName + ")";
+	public static string RJAVGSDRjIndexName = "Reactive AVG SD" + " (" + RjIndexName + ")";
+	public static string RJAVGSDQIndexName = "Reactive AVG SD" + " (" + QIndexName + ")";
 
 
 	//global stat types
diff --git a/src/gui/person.cs b/src/gui/person.cs
index 62a99e6..9a325c6 100644
--- a/src/gui/person.cs
+++ b/src/gui/person.cs
@@ -175,9 +175,9 @@ public class PersonRecuperateWindow {
 
 	protected string getCorrectSex (string sex) 
 	{
-		if (sex == "M") return  Catalog.GetString("Man");
+		if (sex == Constants.M) return  Catalog.GetString("Man");
 		//this "F" is in spanish, change in the future to "W"
-		else if (sex == "F") return  Catalog.GetString ("Woman");
+		else if (sex == Constants.F) return  Catalog.GetString ("Woman");
 		else { 
 			return ""; //PersonsRecuperateFromOtherSessionWindow should pass a "" for ALL PERSONS
 		}
@@ -832,7 +832,7 @@ public class PersonAddModifyWindow
 	private Person currentPerson;
 	private Session currentSession;
 	private int personID;
-	private string sex = "M";
+	private string sex = Constants.M;
 	private int weightIni;
 	int pDN;
 	
@@ -940,12 +940,12 @@ public class PersonAddModifyWindow
 		
 	void on_radiobutton_man_toggled (object o, EventArgs args)
 	{
-		sex = "M";
+		sex = Constants.M;
 	}
 	
 	void on_radiobutton_woman_toggled (object o, EventArgs args)
 	{
-		sex = "F";
+		sex = Constants.F;
 	}
 	
 	static public PersonAddModifyWindow Show (Gtk.Window parent, Session mySession, int personID, int pDN)
@@ -1092,7 +1092,7 @@ public class PersonAddModifyWindow
 			Person myPerson = SqlitePersonSession.PersonSelect(personID, currentSession.UniqueID); 
 		
 			entry1.Text = myPerson.Name;
-			if (myPerson.Sex == "M") {
+			if (myPerson.Sex == Constants.M) {
 				radiobutton_man.Active = true;
 			} else {
 				radiobutton_woman.Active = true;
@@ -1571,11 +1571,11 @@ public class PersonAddMultipleWindow {
 			entries.Add(myEntry);
 
 			
-			Gtk.RadioButton myRadioM = new Gtk.RadioButton(Catalog.GetString("M"));
+			Gtk.RadioButton myRadioM = new Gtk.RadioButton(Catalog.GetString(Constants.M));
 			myRadioM.Show();
 			radiosM.Add(myRadioM);
 			
-			Gtk.RadioButton myRadioF = new Gtk.RadioButton(myRadioM, Catalog.GetString("F"));
+			Gtk.RadioButton myRadioF = new Gtk.RadioButton(myRadioM, Catalog.GetString(Constants.F));
 			myRadioF.Show();
 			radiosF.Add(myRadioF);
 			
@@ -1697,8 +1697,8 @@ public class PersonAddMultipleWindow {
 
 	void insertPerson (string name, bool male, int weight) 
 	{
-		string sex = "F";
-		if(male) { sex = "M"; }
+		string sex = Constants.F;
+		if(male) { sex = Constants.M; }
 
 		//DateTime dateTime = DateTime.Today;
 		//now dateTime is undefined until user changes it
diff --git a/src/gui/queryServer.cs b/src/gui/queryServer.cs
index d402059..9e71963 100644
--- a/src/gui/queryServer.cs
+++ b/src/gui/queryServer.cs
@@ -83,12 +83,13 @@ public class QueryServerWindow
 		Catalog.GetString(Constants.UndefinedDefault), //needs to be defined
 	};
 	
+	//this variables have to be without Catalog, because in server can have different locale
 	private static string [] variablesJumpSimple = {
-		Catalog.GetString("TV"), 
+		"TV", 
 	};
 	private static string [] variablesJumpSimpleWithTC = {
-		Catalog.GetString("TV"), 
-		Catalog.GetString("TC"), 
+		"TV", 
+		"TC", 
 		Constants.DjIndexFormula,
 		Constants.QIndexFormula
 	};
@@ -96,13 +97,14 @@ public class QueryServerWindow
 		Catalog.GetString("Average Index"), 
 		Constants.RJPotencyBoscoFormula,
 		//Catalog.GetString("Evolution"), is same as RjIndex but showing every tc, tf
-		Constants.RJAVGSDRjIndexName,
-		Constants.RJAVGSDQIndexName
+		//Constants.RJAVGSDRjIndexName,
+		//Constants.RJAVGSDQIndexName
 	};
 	private static string [] variablesRunSimple = {
 		Catalog.GetString("Time"), 
 	};
 	
+
 	string [] sexes = {
 		Catalog.GetString(Constants.Any), 
 		Catalog.GetString(Constants.Males), 
@@ -189,7 +191,7 @@ public class QueryServerWindow
 		variables = Util.StringToStringArray(Constants.UndefinedDefault);
 		UtilGtk.ComboUpdate(combo_variables, variables, "");
 		combo_variables.Active = UtilGtk.ComboMakeActive(variables, Catalog.GetString(Constants.UndefinedDefault));
-		combo_variables.Changed += new EventHandler (on_combo_variables_changed);
+		combo_variables.Changed += new EventHandler (on_combo_other_changed);
 		UtilGtk.ComboPackShowAndSensitive(hbox_combo_variables, combo_variables);
 	}
 
@@ -226,7 +228,7 @@ public class QueryServerWindow
 		combo_countries.Active = UtilGtk.ComboMakeActive(myCountries, 
 				Catalog.GetString(Constants.CountryUndefined));
 
-		combo_countries.Changed += new EventHandler (on_combo_countries_changed);
+		combo_countries.Changed += new EventHandler (on_combo_other_changed);
 		UtilGtk.ComboPackShowAndSensitive(hbox_combo_countries, combo_countries);
 	}
 	
@@ -234,6 +236,7 @@ public class QueryServerWindow
 		combo_sexes = ComboBox.NewText ();
 		UtilGtk.ComboUpdate(combo_sexes, sexes, "");
 		combo_sexes.Active = UtilGtk.ComboMakeActive(sexes, Catalog.GetString(Constants.Any));
+		combo_sexes.Changed += new EventHandler (on_combo_other_changed);
 		UtilGtk.ComboPackShowAndSensitive(hbox_combo_sexes, combo_sexes);
 	}
 
@@ -293,6 +296,7 @@ public class QueryServerWindow
 		hbox_combo_speciallities.PackStart(combo_speciallities, true, true, 0);
 		hbox_combo_speciallities.ShowAll();
 		combo_speciallities.Sensitive = true;
+		combo_speciallities.Changed += new EventHandler (on_combo_other_changed);
 		UtilGtk.ComboPackShowAndSensitive(hbox_combo_speciallities, combo_speciallities);
 	}
 	
@@ -311,6 +315,7 @@ public class QueryServerWindow
 		hbox_combo_levels.PackStart(combo_levels, true, true, 0);
 		hbox_combo_levels.ShowAll();
 		combo_levels.Sensitive = false; //level is shown when sport is not "undefined" and not "none"
+		combo_levels.Changed += new EventHandler (on_combo_other_changed);
 		UtilGtk.ComboPackShowAndSensitive(hbox_combo_levels, combo_levels);
 	}
 
@@ -366,11 +371,8 @@ public class QueryServerWindow
 
 		on_entries_required_changed(new object(), new EventArgs());
 	}
-	
-	private void on_combo_variables_changed(object o, EventArgs args) {
-		on_entries_required_changed(new object(), new EventArgs());
-	}
 
+	
 	private void on_combo_continents_changed(object o, EventArgs args) {
 		if(UtilGtk.ComboGetActive(combo_continents) == Catalog.GetString(Constants.Any)) {
 			countries [0] = Constants.CountryUndefinedID + ":" + Constants.CountryUndefined + ":" + Catalog.GetString(Constants.CountryUndefined);
@@ -403,10 +405,6 @@ public class QueryServerWindow
 		on_entries_required_changed(new object(), new EventArgs());
 	}
 
-	private void on_combo_countries_changed(object o, EventArgs args) {
-		on_entries_required_changed(new object(), new EventArgs());
-	}
-
 	private void on_combo_sports_changed(object o, EventArgs args) {
 		ComboBox combo = o as ComboBox;
 		if (o == null)
@@ -481,39 +479,8 @@ public class QueryServerWindow
 		Log.WriteLine(sport.ToString());
 	}
 	
-
-	void sqlBuildSelect (bool requiredDataOk) 
-	{
-		if( ! requiredDataOk) {
-			TextBuffer tb = new TextBuffer (new TextTagTable());
-			tb.Text = "";
-			textview_query.Buffer = tb;
-			return;
-		}
-		
-		//TODO: convert to tableName
-		string testType = UtilGtk.ComboGetActive(combo_test_types);
-		string tableName = "";
-		int countryID = 1;
-	
-		//convert country to ID
-		//...
-		//UtilGtk.ComboGetActive(combo_countries),
-
-		string sqlString = Util.SQLBuildString(
-				tableName, 
-				UtilGtk.ComboGetActive(combo_tests),
-				UtilGtk.ComboGetActive(combo_variables),
-				UtilGtk.ComboGetActive(combo_sexes),
-				//UtilGtk.ComboGetActive(combo_age),
-				countryID,
-				UtilGtk.ComboGetActive(combo_sports),
-				UtilGtk.ComboGetActive(combo_speciallities),
-				UtilGtk.ComboGetActive(combo_levels)
-				);
-
-
-
+	private void on_combo_other_changed(object o, EventArgs args) {
+		on_entries_required_changed(new object(), new EventArgs());
 	}
 
 
@@ -548,15 +515,101 @@ public class QueryServerWindow
 		
 	
 		if(allOk) {
-			sqlBuildSelect(true);
+			textViewUpdate(sqlBuildSelect(false));
 			button_search.Sensitive = true;
 		}
 		else {
-			sqlBuildSelect(false);
+			textViewUpdate("");
 			button_search.Sensitive = false;
 		}
 	}
 
+	void textViewUpdate (string str) 
+	{
+		TextBuffer tb = new TextBuffer (new TextTagTable());
+		tb.Text = str;
+		textview_query.Buffer = tb;
+		return;
+	}
+
+	string sqlBuildSelect (bool performQuery) 
+	{
+		string testType = UtilGtk.ComboGetActive(combo_test_types);
+		string tableName = "";
+		if (testType == Catalog.GetString(Constants.JumpSimpleName))
+			tableName = Constants.JumpTable;
+		else if (testType == Catalog.GetString(Constants.JumpReactiveName))
+			tableName = Constants.JumpRjTable;
+		else if (testType == Catalog.GetString(Constants.RunSimpleName))
+			tableName = Constants.RunTable;
+		else {
+			new DialogMessage(Constants.MessageTypes.WARNING, "Problem on sqlBuildSelect");
+			return "";
+		}
+		
+		string strVariable = UtilGtk.ComboGetActive(combo_variables);
+		if(strVariable == Constants.DjIndexFormula)
+			strVariable = Constants.DjIndexFormulaOnly;
+		else if(strVariable == Constants.QIndexFormula)
+			strVariable = Constants.QIndexFormulaOnly;
+		else if(strVariable == Catalog.GetString("Average Index"))
+			strVariable = Constants.RjIndexFormulaOnly;
+		else if(strVariable == Constants.RJPotencyBoscoFormula)
+			strVariable = Constants.RJPotencyBoscoFormulaOnly;
+		
+		/*
+		   as in server maybe Catalog locale is different than in client
+		   we cannot pass a localized "Any" hoping that will match server.
+		   then if it's any, pass "" (if string) or corresponding undefined ID (if int)
+		   */
+
+		int sexID = Constants.AnyID;
+		if(UtilGtk.ComboGetActive(combo_sexes) == Catalog.GetString(Constants.Males))
+			sexID = Constants.MaleID;
+		else if(UtilGtk.ComboGetActive(combo_sexes) == Catalog.GetString(Constants.Females))
+			sexID = Constants.FemaleID;
+
+		try {
+			string sqlString = Util.SQLBuildString(
+					tableName, 
+					UtilGtk.ComboGetActive(combo_tests),
+					strVariable,
+					sexID,
+					//UtilGtk.ComboGetActive(combo_age),
+					Convert.ToInt32(Util.FindOnArray(':', 2, 0, UtilGtk.ComboGetActive(combo_countries), countries)),
+					Convert.ToInt32(Util.FindOnArray(':', 2, 0, UtilGtk.ComboGetActive(combo_sports), sports)),
+					Convert.ToInt32(Util.FindOnArray(':', 2, 0, UtilGtk.ComboGetActive(combo_speciallities), speciallities)),
+					Util.FetchID(UtilGtk.ComboGetActive(combo_levels))
+					);
+
+			if(performQuery) {
+				ChronojumpServer myServer = new ChronojumpServer();
+				myServer.ConnectDatabase();
+				string result = myServer.Query(
+					tableName, 
+					UtilGtk.ComboGetActive(combo_tests),
+					strVariable,
+					sexID,
+					//UtilGtk.ComboGetActive(combo_age),
+					Convert.ToInt32(Util.FindOnArray(':', 2, 0, UtilGtk.ComboGetActive(combo_countries), countries)),
+					Convert.ToInt32(Util.FindOnArray(':', 2, 0, UtilGtk.ComboGetActive(combo_sports), sports)),
+					Convert.ToInt32(Util.FindOnArray(':', 2, 0, UtilGtk.ComboGetActive(combo_speciallities), speciallities)),
+					Util.FetchID(UtilGtk.ComboGetActive(combo_levels))
+					);
+				myServer.DisConnectDatabase();
+
+				string [] resultFull = result.Split(new char[] {':'});
+				label_results_num.Text = resultFull[0];
+				label_results_avg.Text = resultFull[1];
+			}
+
+			return sqlString;
+		} catch {
+			//fix problem on changing continent that updates country and two signals come
+			return "";
+		}
+	}
+
 	private void fillDialog ()
 	{
 		combo_tests.Sensitive = false;
@@ -570,6 +623,7 @@ public class QueryServerWindow
 
 	protected void on_button_search_clicked (object o, EventArgs args)
 	{
+		sqlBuildSelect(true);
 	}
 	
 	protected void on_button_close_clicked (object o, EventArgs args)
diff --git a/src/person.cs b/src/person.cs
index 2ef7dc9..f04c46d 100644
--- a/src/person.cs
+++ b/src/person.cs
@@ -33,7 +33,7 @@ public partial class Person {
 	private int sportID;	//1 undefined, 2 none, 3...n other sports (check table sportType)
 	private int speciallityID;
 	private int practice;	//-1 undefined, sedentary, 1 regular practice, 2 competition, 3 (alto rendimiento)
-	private string sex; // "M" (male) , "F" (female)
+	private string sex; // "M" (male) , "F" (female) (Constants.M, Constants.F)
 	private string description;
 	private int race;
 	private int countryID;
diff --git a/src/sqlite/server.cs b/src/sqlite/server.cs
index 4c9a181..ab9dff1 100644
--- a/src/sqlite/server.cs
+++ b/src/sqlite/server.cs
@@ -179,6 +179,24 @@ class SqliteServer : Sqlite
 		return myEval;
 	}
 	
+	public static string Query(string str) {
+		dbcon.Open();
+
+		dbcmd.CommandText = str; 
+		Log.WriteLine(dbcmd.CommandText.ToString());
+		
+		SqliteDataReader reader;
+		reader = dbcmd.ExecuteReader();
+	
+		string myReturn = "0:";
+		while(reader.Read()) {
+			myReturn = reader[0].ToString() + ":" + reader[1].ToString();
+		}
+		
+		reader.Close();
+		dbcon.Close();
+		return myReturn;
+	}
 
 	public static string [] Stats() {
 		ArrayList stats = new ArrayList();
diff --git a/src/sqlite/stat.cs b/src/sqlite/stat.cs
index f0e72cd..27d0573 100644
--- a/src/sqlite/stat.cs
+++ b/src/sqlite/stat.cs
@@ -253,9 +253,9 @@ class SqliteStat : Sqlite
 	{
 		string formula = "";
 		if(indexType == "djIndex") {
-			formula = "((tv-tc)*100/(tc*1.0))"; //*1.0 for having double division
+			formula = Constants.DjIndexFormulaOnly;
 		} else if (indexType == "indexQ") {
-			formula = "(tv/(tc*1.0))"; //*1.0 for having double division
+			formula = Constants.QIndexFormulaOnly;
 		}
 		string ini = "";
 		string end = "";
@@ -366,7 +366,7 @@ class SqliteStat : Sqlite
 		
 		string orderByString = "ORDER BY ";
 		string moreSelect = "";
-		moreSelect = ini + "((tvavg-tcavg)*100/(tcavg * 1.0))" + end + " AS rj_index, tvavg, tcavg, fall"; //*1.0 for having double division
+		moreSelect = ini + Constants.RjIndexFormulaOnly + end + " AS rj_index, tvavg, tcavg, fall"; //*1.0 for having double division
 
 		//manage allJumps
 		string fromString = " FROM jumpRj, person ";
@@ -459,7 +459,8 @@ class SqliteStat : Sqlite
 		
 		string orderByString = "ORDER BY ";
 		string moreSelect = "";
-		moreSelect = ini + "9.81*9.81 * tvavg*jumps * time / ( 4.0 * jumps * (time - tvavg*jumps) )" + end + " AS potency, " + //*4.0 for having double division
+		//moreSelect = ini + "9.81*9.81 * tvavg*jumps * time / ( 4.0 * jumps * (time - tvavg*jumps) )" + end + " AS potency, " + //*4.0 for having double division
+		moreSelect = ini + Constants.RJPotencyBoscoFormulaOnly + end + " AS potency, " + //*4.0 for having double division
 			 " tvavg, tcavg, jumps, time, fall";
 
 		//manage allJumps
diff --git a/src/util.cs b/src/util.cs
index 080786f..f35e6d0 100644
--- a/src/util.cs
+++ b/src/util.cs
@@ -1123,12 +1123,47 @@ public class Util
 	}
 
 	public static string SQLBuildString (string tableName, string test, string variable,
-			string sex, 
+			int sex, 
 			//string age, //interval...
-			int countryID, string sport, string speciallity, string level)
+			int countryID, int sportID, int speciallityID, int levelID)
 	{
-		//string str = "SELECT " + tableName + "AVG(
-		return "A";
+		string strSelect = "SELECT COUNT(" + variable + "), AVG(" + variable + ")";
+		string strFrom   = " FROM " + tableName;
+		string strWhere  = " WHERE " + tableName + ".type = '" + test + "'";
+
+		string strSex = "";
+		if(sex == Constants.MaleID) 
+			strSex = " AND person.sex == '" + Constants.M + "'";
+		else if (sex == Constants.FemaleID) 
+			strSex = " AND person.sex == '" + Constants.F + "'";
+
+		//string strAge = "";
+
+		string strCountry = "";
+		if(countryID != Constants.CountryUndefinedID) 
+			strCountry = " AND person.countryID == " + countryID;
+
+		string strSport = "";
+		if(sportID != Constants.SportUndefinedID) 
+			strSport = " AND person.sportID == " + sportID;
+
+		string strSpeciallity = "";
+		if(speciallityID != Constants.SpeciallityUndefinedID) 
+			strSpeciallity = " AND person.speciallityID == " + speciallityID;
+		
+		string strLevel = "";
+		if(levelID != Constants.LevelUndefinedID) 
+			strLevel = " AND person.practice == " + levelID;
+
+		string strLast = "";
+		if(strSex.Length > 0 || //strAge.Length > 0 || 
+				strCountry.Length > 0 || strSport.Length > 0 || strSpeciallity.Length > 0 || strLevel.Length > 0) {
+			strFrom += ", person";
+			strLast = " AND " + tableName + ".personID == person.UniqueID";
+		}	
+		return strSelect + strFrom + strWhere + strSex //+ strAge
+			+ strCountry + strSport + strSpeciallity + strLevel + strLast;
+
 	}
 
 }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]