Files
nodeMap/ClientData/WebServiceMap.asmx.cs

119 lines
3.6 KiB
C#

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
{
/// <summary>
/// Zusammenfassungsbeschreibung für WebService1
/// </summary>
[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<MapPoint> Points = new List<MapPoint>();
}
}