//Este metodo retorna del webService de DAT //en un array el nombre y tipo de usuario desde la base DAT //y solo retorna el nombre en caso lo encuetre de lo contrario retorna -1 public string BuscarDAT(DUsuarios usuarios) { DEncriptar objEncriptar = new DEncriptar(); string buscarClaveEncriptada = objEncriptar.encriptarClave(usuarios.Clave); referenciaDAT.consultas objDAT = new referenciaDAT.consultas(); string devueltoLocal = objDAT.buscarLocal(usuarios.Usuario, buscarClaveEncriptada); char[] delimitadores2 = { ',' }; separadoDevueltoLocal = devueltoLocal.Split(delimitadores2); Encontrado = separadoDevueltoLocal[0].ToString(); return Encontrado; }
//este metodo retorna un JSON del webService de UTEC //pero solo retorna el tipo de usuario //en caso no lo encuentra en el servidor utec retorna -1 public string BuscarDIN(DUsuarios Usuarios) { string cadenaDevueltaDin = string.Empty; cadenaDevueltaDin = objConexion.objDIN.Login_Lab(Usuarios.Usuario, Usuarios.Clave); char[] delimitadores = { ':', ',', '{', '}', '\"' }; string[] valoresSeparados = cadenaDevueltaDin.Split(delimitadores); arrayConvertidoDIN.Clear(); foreach (string valor in valoresSeparados) { if (valor.Trim() != "") { arrayConvertidoDIN.Add(valor); } } Encontrado = arrayConvertidoDIN[1].ToString(); return Encontrado; }
/*********************************************************************************/ public void cerrarSesion(DUsuarios pUsuario) { referenciaDAT.consultas objDatIn = new referenciaDAT.consultas(); objDatIn.actualizarEstadoDetallePL(pUsuario.Usuario); }
/*********************************************************************************/ public string validar(DUsuarios usuarios) { int encontrado = -1; string nombre = ""; string datos = ""; string estado = ""; //usuarios.Usuario = usuario; //usuarios.Clave = clave; Usuario = usuarios.Usuario; Clave = usuarios.Clave; //Busca en el servidor de la DIN if (BuscarDIN(usuarios) != "-1") { encontrado = 1; } //Busca en el servidor DAT else if (usuarios.BuscarDAT(usuarios) != "-1") { encontrado = 2; } //si no lo encuntra asigna -1 else { encontrado = -1; } //Valida si lo encontro if (encontrado != -1) { //si lo encontro captura el nombre if (encontrado == 1) { usuarios.asignarNombreUTEC(); nombre = usuarios.NombreUsuario; } else if (encontrado == 2) { usuarios.asignarNombreDAT(); nombre = usuarios.Encontrado; } //busca si esta activo en un laboratorio //si retorna -1 significa que NO esta activo en un laboratorio //de lo contrario retorna el nombre de la pc donde esta activo el usuario estado = usuarios.estadoPl(usuarios); if (estado == "-1") { datos = "0,"; } else { datos = "-1," + estado + ","; } usuarios.ObtenetIpLaboratorio(); datos += nombre + "," + usuarios.NombrePC(); } else { datos = "2,Error... Usuario no existe."; } string validar = datos.Substring(0, 1).ToString(); if (validar == "0") { try { referenciaDAT.consultas objDatIn = new referenciaDAT.consultas(); objDatIn.insertarDetallePL(usuarios.Usuario, r_fecha(), r_fecha(), Environment.MachineName, LaIp.ToString(), Laboratorio.ToString()); datos = "1,Datos insertados," + Laboratorio.ToString(); } catch (Exception e) { datos = "Error Insertar Detalle, " + e.Message; } } return datos; }
//Este metodo retorna -1 en caso no esta activo en Practica Libre //de lo contrario retorna el numero de maquina en la que esta asignado public string estadoPl(DUsuarios usuario) { referenciaDAT.consultas objDAT = new referenciaDAT.consultas(); string estado = objDAT.retornaEstadoPL(usuario.Usuario); return estado; }