-- validar acceso al usuario.

This commit is contained in:
2024-06-30 23:19:12 -07:00
parent b6f8612c1b
commit 487edd186f
17 changed files with 934 additions and 905 deletions

View File

@@ -18,153 +18,152 @@ public class SIGFreightVerify : IHttpHandler, IRequiresSessionState
private Usuario ValidaUsuarioSistema(int CveEmpresa)
{
Usuario UsuarioActual = null;
ClsSisUsuarios ObjUsuarios = new ClsSisUsuarios();
if (ObjUsuarios.GetUsuarios(1727))
{
if (ObjUsuarios.DtResultados.Rows.Count > 0)
{
string NombreCadena = ClsPaginas.get_GlobalNombreCadenaConexion(141);
ClsSisUsuarioAutenticacion ObjUsuarios = new ClsSisUsuarioAutenticacion(NombreCadena: NombreCadena);
UsuarioActual = ObjUsuarios.GetUsuarioDetalle(1727);
if (UsuarioActual !=null)
{
var Usuario = ObjUsuarios.DtResultados.Rows[0]["Usuario"].ToString();
var Contrasenia = ObjUsuarios.DtResultados.Rows[0]["Contraseña"].ToString();
UsuarioActual = ObjUsuarios.ValidaUsuario(Usuario, Contrasenia, CveEmpresa: CveEmpresa);
var Contrasenia = ObjUsuarios.DtResultados.Rows[0]["Contraseña"].ToString();
UsuarioActual = ObjUsuarios.ValidaUsuario(Usuario, Contrasenia, CveEmpresa: CveEmpresa);
UsuarioActual.CveEmpresa = CveEmpresa;
UsuarioActual.CveCliente = 183798;
CreaObjetoEmpresa(ref UsuarioActual);
//CreaObjetoEmpresa(ref UsuarioActual);
CargaZonasHorarias(ref UsuarioActual);
}
}
ObjUsuarios.Dispose();
return UsuarioActual;
}
ObjUsuarios.Dispose();
return UsuarioActual;
}
private void CreaObjetoEmpresa(ref Usuario UsuarioActual)
{
ClsSisEmpresas ObjEmpresa = new ClsSisEmpresas();
if (ObjEmpresa.GetEmpresas(UsuarioActual.CveEmpresa, "-1", "-1", "-1", "-1"))
{
ClsSisEmpresas ObjEmpresa = new ClsSisEmpresas();
if (ObjEmpresa.GetEmpresas(UsuarioActual.CveEmpresa, "-1", "-1", "-1", "-1"))
if (ObjEmpresa.GetEmpresasFuncionalidades(UsuarioActual.CveEmpresa))
{
if (ObjEmpresa.GetEmpresasFuncionalidades(UsuarioActual.CveEmpresa))
{
System.Data.DataTable dttmp = ObjEmpresa.DtResultados;
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());
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.Empresa.SetFuncionalidades(EmpresasFuncionalidades);
}
ObjEmpresa.Dispose();
UsuarioActual.Empresa = ObjEmpresa.Empresa;
}
private void CargaZonasHorarias(ref Usuario UsuarioActual)
ObjEmpresa.Dispose();
}
private void CargaZonasHorarias(ref Usuario UsuarioActual)
{
ClsClientes ObjClientes = new ClsClientes();
try
{
ClsClientes ObjClientes = new ClsClientes();
try
if (ObjClientes.GetClientes(UsuarioActual.CveCliente, "-1", "-1", "-1", "-1", "-1", "-1", -1, -1, Estatus: 1))
{
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();
if (ObjClientes.DtResultados.Rows.Count == 1)
UsuarioActual.UTCOffset = ObjClientes.DtResultados.Rows[0]["UTCOffset"].ToString().ToEntero();
}
}
public bool IsReusable => false;
public void ProcessRequest(HttpContext context)
catch (Exception ex)
{
try
{
context.Response.ContentType = "text/plain";
IniciarTransmision(context);
}
catch (Exception ex)
{
ex.GuardaLog(ex.Message);
}
ex.ToString().GuardaLog();
}
private void IniciarTransmision(HttpContext context)
finally
{
var UsuarioActual = ValidaUsuarioSistema(121);
DataTable dtShipments = null;
var FVCARRIERID = "";
var SCAC = "";
var UsuarioFV = "";
var ContraseniaFV = "";
var ObjGPS = new ClsGPS();
try
{
if (ObjGPS.GetShipments(UsuarioActual.CveCliente, -1))
{
dtShipments = ObjGPS.DtResultados.FiltraParametros("TransmitirTexto = 'Si'");
}
if (ObjGPS.GetFVConfiguracion(UsuarioActual.CveCliente, -1))
{
if (ObjGPS.DtResultados.Rows.Count == 1)
{
var row = ObjGPS.DtResultados.Rows[0];
FVCARRIERID = row["fvCarrierId"].ToString().Trim();
SCAC = row["scac"].ToString().Trim();
UsuarioFV = row["Usuario"].ToString().Trim();
ContraseniaFV = row["Contrasenia"].ToString().Trim();
}
}
}
catch (Exception ex)
{
this.OnError("Ocurrió un error al obtener la configuración", ex);
}
finally
{
ObjGPS.Dispose();
var array = new JArray();
if (dtShipments != null)
{
foreach (DataRow Row in dtShipments.Rows)
{
var datos = GeneraRequestLO(UsuarioActual, Row["CveShipment"].ToString().ToEntero(), FVCARRIERID, SCAC);
if (datos != null)
{
var retorno = EnviarEventoAPI(UsuarioActual, Row["ShipmentID"].ToString(), Row["Customer"].ToString(), FVCARRIERID, UsuarioFV, ContraseniaFV, datos.ToString());
array.Add(retorno);
}
}
}
context.Response.Write(array);
}
ObjClientes.Dispose();
}
protected JObject GeneraRequestLO(Usuario UsuarioActual, int CveShipment, string FVCARRIERID, string SCAC)
{
var route_id = "";
var trailer_number = "";
var trackingAssetId = "";
double lat = 0;
double lon = 0;
}
var ObjGPS = new ClsGPS();
if (ObjGPS.GetShipmentDetail(CveShipment))
public bool IsReusable => false;
public void ProcessRequest(HttpContext context)
{
try
{
context.Response.ContentType = "text/plain";
IniciarTransmision(context);
}
catch (Exception ex)
{
ex.GuardaLog(ex.Message);
}
}
private void IniciarTransmision(HttpContext context)
{
var UsuarioActual = ValidaUsuarioSistema(121);
DataTable dtShipments = null;
var FVCARRIERID = "";
var SCAC = "";
var UsuarioFV = "";
var ContraseniaFV = "";
var ObjGPS = new ClsGPS();
try
{
if (ObjGPS.GetShipments(UsuarioActual.CveCliente, -1))
{
dtShipments = ObjGPS.DtResultados.FiltraParametros("TransmitirTexto = 'Si'");
}
if (ObjGPS.GetFVConfiguracion(UsuarioActual.CveCliente, -1))
{
if (ObjGPS.DtResultados.Rows.Count == 1)
{
var row = ObjGPS.DtResultados.Rows[0];
lat = row["Lat"].ToString().ToDouble();
lon = row["Lon"].ToString().ToDouble();
route_id = row["RouteID"].ToString();
trailer_number = row["TrailerID"].ToString();
trackingAssetId = row["AssetID"].ToString();
FVCARRIERID = row["fvCarrierId"].ToString().Trim();
SCAC = row["scac"].ToString().Trim();
UsuarioFV = row["Usuario"].ToString().Trim();
ContraseniaFV = row["Contrasenia"].ToString().Trim();
}
}
}
catch (Exception ex)
{
this.OnError("Ocurrió un error al obtener la configuración", ex);
}
finally
{
ObjGPS.Dispose();
var array = new JArray();
if (dtShipments != null)
{
foreach (DataRow Row in dtShipments.Rows)
{
var datos = GeneraRequestLO(UsuarioActual, Row["CveShipment"].ToString().ToEntero(), FVCARRIERID, SCAC);
if (datos != null)
{
var retorno = EnviarEventoAPI(UsuarioActual, Row["ShipmentID"].ToString(), Row["Customer"].ToString(), FVCARRIERID, UsuarioFV, ContraseniaFV, datos.ToString());
array.Add(retorno);
}
}
}
context.Response.Write(array);
}
}
protected JObject GeneraRequestLO(Usuario UsuarioActual, int CveShipment, string FVCARRIERID, string SCAC)
{
var route_id = "";
var trailer_number = "";
var trackingAssetId = "";
double lat = 0;
double lon = 0;
var json = new JObject()
var ObjGPS = new ClsGPS();
if (ObjGPS.GetShipmentDetail(CveShipment))
{
if (ObjGPS.DtResultados.Rows.Count == 1)
{
var row = ObjGPS.DtResultados.Rows[0];
lat = row["Lat"].ToString().ToDouble();
lon = row["Lon"].ToString().ToDouble();
route_id = row["RouteID"].ToString();
trailer_number = row["TrailerID"].ToString();
trackingAssetId = row["AssetID"].ToString();
}
}
ObjGPS.Dispose();
var json = new JObject()
{
new JProperty("carrier", new JObject()
{
@@ -203,35 +202,35 @@ public class SIGFreightVerify : IHttpHandler, IRequiresSessionState
})
};
return json;
}
return json;
}
private JObject EnviarEventoAPI(Usuario UsuarioActual, string ShipmentID, string Customer, string FVCARRIERID, string UsuarioFV, string ContraseniaFV, string Datos)
private JObject EnviarEventoAPI(Usuario UsuarioActual, string ShipmentID, string Customer, string FVCARRIERID, string UsuarioFV, string ContraseniaFV, string Datos)
{
var retorno = "[]";
var token = Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(string.Format("{0}:{1}", UsuarioFV, ContraseniaFV)));
string correlationId = GuidGenerator.GenerateTimeBasedGuid(UsuarioActual.FechaActualCliente).ToString();
HttpClient wc = new HttpClient();
try
{
var retorno = "[]";
var token = Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(string.Format("{0}:{1}", UsuarioFV, ContraseniaFV)));
string correlationId = GuidGenerator.GenerateTimeBasedGuid(UsuarioActual.FechaActualCliente).ToString();
HttpClient wc = new HttpClient();
try
{
var fvShipmentId = $"{FVCARRIERID}|{Customer}|{ShipmentID}";
var fvShipmentId = $"{FVCARRIERID}|{Customer}|{ShipmentID}";
var Url = new Uri("https://api.freightverify.com/ws/rest/v2/tl/shipment/event");
var content = new StringContent(Datos, Encoding.UTF8, "application/json");
wc.DefaultRequestHeaders.Add("Authorization", $"Basic {token}");
wc.DefaultRequestHeaders.Add("WSS-correlationId", correlationId);
wc.DefaultRequestHeaders.Add("X-WSS-fvShipmentId", fvShipmentId);
var response = wc.PostAsync(Url, content).Result;
retorno = response.Content.ReadAsStringAsync().Result;
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
wc.Dispose();
return JObject.Parse(retorno);
var Url = new Uri("https://api.freightverify.com/ws/rest/v2/tl/shipment/event");
var content = new StringContent(Datos, Encoding.UTF8, "application/json");
wc.DefaultRequestHeaders.Add("Authorization", $"Basic {token}");
wc.DefaultRequestHeaders.Add("WSS-correlationId", correlationId);
wc.DefaultRequestHeaders.Add("X-WSS-fvShipmentId", fvShipmentId);
var response = wc.PostAsync(Url, content).Result;
retorno = response.Content.ReadAsStringAsync().Result;
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
wc.Dispose();
return JObject.Parse(retorno);
}
}
namespace FluentGenerator
{