Web service GPS, Requiere agregar lo siguiente en el web.config:
<endpoint address="http://gps.rcontrol.com.mx/Tracking/wcf/RCService.svc" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IRCService" contract="RCGPSService.IRCService" name="BasicHttpBinding_IRCService" />
This commit is contained in:
162
Ashx/SIGGPSRCService.ashx
Normal file
162
Ashx/SIGGPSRCService.ashx
Normal file
@@ -0,0 +1,162 @@
|
||||
<%@ WebHandler Language="C#" Class="SIGGPSRCService" %>
|
||||
|
||||
using System;
|
||||
using System.Web;
|
||||
using System.Web.SessionState;
|
||||
using System.Data;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using Extensiones;
|
||||
using System.Collections.Specialized;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Net.Http;
|
||||
using System.Text;
|
||||
|
||||
public class SIGGPSRCService : IHttpHandler, IRequiresSessionState
|
||||
{
|
||||
private Usuario ValidaUsuarioSistema(int CveEmpresa)
|
||||
{
|
||||
Usuario UsuarioActual = null;
|
||||
ClsSisUsuarios ObjUsuarios = new ClsSisUsuarios();
|
||||
if (ObjUsuarios.GetUsuarios(1727))
|
||||
{
|
||||
if (ObjUsuarios.DtResultados.Rows.Count > 0)
|
||||
{
|
||||
var Usuario = ObjUsuarios.DtResultados.Rows[0]["Usuario"].ToString();
|
||||
var Contrasenia = ObjUsuarios.DtResultados.Rows[0]["Contraseña"].ToString();
|
||||
|
||||
UsuarioActual = ObjUsuarios.ValidaUsuario(Usuario, Contrasenia, ModExtensiones.IMEI, CveEmpresa);
|
||||
|
||||
UsuarioActual.CveEmpresa = CveEmpresa;
|
||||
UsuarioActual.CveCliente = 183798;
|
||||
|
||||
CreaObjetoEmpresa(ref UsuarioActual);
|
||||
CargaZonasHorarias(ref UsuarioActual);
|
||||
}
|
||||
}
|
||||
ObjUsuarios.Dispose();
|
||||
return UsuarioActual;
|
||||
}
|
||||
private void CreaObjetoEmpresa(ref Usuario UsuarioActual)
|
||||
{
|
||||
ClsSisEmpresas ObjEmpresa = new ClsSisEmpresas();
|
||||
if (ObjEmpresa.GetEmpresas(UsuarioActual.CveEmpresa, "-1", "-1", "-1", "-1"))
|
||||
{
|
||||
if (ObjEmpresa.GetEmpresasFuncionalidades(UsuarioActual.CveEmpresa))
|
||||
{
|
||||
System.Data.DataTable dttmp = ObjEmpresa.DtResultados;
|
||||
|
||||
var EmpresasFuncionalidades = new HybridDictionary();
|
||||
foreach (System.Data.DataRow Row in dttmp.Rows)
|
||||
EmpresasFuncionalidades.Add(Convert.ToInt32(Row["CveFuncionalidad"]), Row["Valor"].ToString());
|
||||
|
||||
ObjEmpresa.Empresa.SetFuncionalidades(EmpresasFuncionalidades);
|
||||
}
|
||||
|
||||
UsuarioActual.Empresa = ObjEmpresa.Empresa;
|
||||
}
|
||||
ObjEmpresa.Dispose();
|
||||
}
|
||||
private void CargaZonasHorarias(ref Usuario UsuarioActual)
|
||||
{
|
||||
ClsClientes ObjClientes = new ClsClientes();
|
||||
try
|
||||
{
|
||||
if (ObjClientes.GetClientes(UsuarioActual.CveCliente, "-1", "-1", "-1", "-1", "-1", "-1", -1, -1, Estatus: 1))
|
||||
{
|
||||
if (ObjClientes.DtResultados.Rows.Count == 1)
|
||||
UsuarioActual.UTCOffset = ObjClientes.DtResultados.Rows[0]["UTCOffset"].ToString().ToEntero();
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ex.ToString().GuardaLog();
|
||||
}
|
||||
finally
|
||||
{
|
||||
ObjClientes.Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
public bool IsReusable => false;
|
||||
|
||||
public void ProcessRequest(HttpContext context)
|
||||
{
|
||||
try
|
||||
{
|
||||
context.Response.ContentType = "application/json";
|
||||
IniciarTransmision(context);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ex.GuardaLog(ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
private void IniciarTransmision(HttpContext context)
|
||||
{
|
||||
var UsuarioActual = ValidaUsuarioSistema(121);
|
||||
|
||||
var WS = new RCGPSService.RCServiceClient();
|
||||
|
||||
RCGPSService.UserTokenResult Token = WS.GetUserToken(UserService, PasswordService);
|
||||
List<RCGPSService.Event> ListaEventos = new List<RCGPSService.Event>();
|
||||
|
||||
DataTable DtTrackings = null;
|
||||
var ObjGPS = new ClsGPS();
|
||||
try
|
||||
{
|
||||
if (ObjGPS.GetRCTracking(-1, -1, 1, -1, -1))
|
||||
{
|
||||
DtTrackings = ObjGPS.DtResultados.Copy();
|
||||
}
|
||||
|
||||
if (DtTrackings != null)
|
||||
{
|
||||
foreach (DataRow RowTrack in DtTrackings.Rows)
|
||||
{
|
||||
DataTable dtTracking = null;
|
||||
if (ObjGPS.GetRCTrackingDatos(RowTrack["CveRCTracking"].ToString().ToEntero()))
|
||||
{
|
||||
dtTracking = ObjGPS.DtResultados.Copy();
|
||||
}
|
||||
if (dtTracking != null)
|
||||
{
|
||||
foreach (DataRow Row in dtTracking.Rows)
|
||||
{
|
||||
ListaEventos.Add(new RCGPSService.Event()
|
||||
{
|
||||
code = "STT",
|
||||
date = Row["Fecha"].ToString().ToDateTime(),
|
||||
latitude = Row["Latitud"].ToString(),
|
||||
longitude = Row["Longitud"].ToString(),
|
||||
asset = Row["PlacasVehiculo"].ToString(),
|
||||
speed = Row["Velocidad"].ToString(),
|
||||
shipment = Row["Shipment"].ToString()
|
||||
});
|
||||
}
|
||||
}
|
||||
dtTracking.Dispose();
|
||||
dtTracking = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
this.OnError("Ocurrió un error al enviar los datos", ex);
|
||||
}
|
||||
ObjGPS.Dispose();
|
||||
DtTrackings.Dispose();
|
||||
DtTrackings = null;
|
||||
|
||||
var respuesta = WS.GPSAssetTracking(Token.token, ListaEventos.ToArray());
|
||||
|
||||
WS.Close();
|
||||
context.Response.Write(JsonConvert.SerializeObject(respuesta));
|
||||
|
||||
}
|
||||
|
||||
private string UserService => "demo_cedis_corp";
|
||||
private string PasswordService => "xxxxxxxx";
|
||||
}
|
||||
Reference in New Issue
Block a user