using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Services; using Newtonsoft.Json; using System.Data; using System.Data.Odbc; using System.Diagnostics; namespace TALAS_V5 { /// /// Zusammenfassungsbeschreibung für WebService1 /// [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] // Wenn der Aufruf dieses Webdiensts aus einem Skript zulässig sein soll, heben Sie mithilfe von ASP.NET AJAX die Kommentarmarkierung für die folgende Zeile auf. [System.Web.Script.Services.ScriptService] public class WebService1 : System.Web.Services.WebService { [WebMethod] public string Test1() { return "Hier steht ein Beispieltext "+DateTime.Now.ToLongTimeString(); } [WebMethod] public string Test2() { MapPoints mps = new MapPoints(); LoadAllPoints(out mps); //return "Hier steht ein Beispieltext " + DateTime.Now.ToLongTimeString(); return JsonConvert.SerializeObject(mps, Formatting.Indented); } public void LoadAllPoints(out MapPoints mps) { MapPoint mp; mps = new MapPoints(); mp = new MapPoint(); using (OdbcConnection con = new OdbcConnection(TalasLibary.SqlHelper.SqlConnectionString())) { OdbcCommand dataCommand = new OdbcCommand(); OdbcDataReader dataReader; con.Open(); dataCommand.Connection = con; dataCommand.CommandText = string.Format("SELECT b.STO_NAME, b.BER_NR, b.REFERENZ, POS_X, POS_Y"); dataCommand.CommandText += string.Format(" FROM stsisy_bereiche as b"); dataCommand.CommandText += string.Format(" LEFT JOIN stsisy_Ber_koord as k on b.BER_NR=k.BER_NR"); dataCommand.CommandText += string.Format(" WHERE LENGTH(REFERENZ)>0 and POS_X>0 and POS_Y>0 LIMIT 100"); dataReader = dataCommand.ExecuteReader(); while (dataReader.Read()) { mp = new MapPoint(); if (dataReader.IsDBNull(0)) mp.Name = "unbekannt"; else mp.Name = dataReader.GetString(0); mp.Name=mp.Name.Replace('"', ' '); if (dataReader.IsDBNull(2)) mp.Short = "unbekannt"; else mp.Short = dataReader.GetString(2); if (dataReader.IsDBNull(3)) mp.x = 0; else mp.x = dataReader.GetDouble(3); if (dataReader.IsDBNull(4)) mp.y = 0; else mp.y = dataReader.GetDouble(4); mps.Points.Add(mp); } } //return mps; } } public class MapPoint { public string Name { get; set; } public string Short { get; set; } public double x { get; set; } public double y { get; set; } } public class MapPoints { public string Name = "Liste aller Bereiche"; public DateTime Zeitstempel = DateTime.Now; public List Points = new List(); } }