public ResponseBD login_Usuario(Select.Login l) { try { ResponseBD response = new ResponseBD(); string ConnString = ConfigurationManager.ConnectionStrings["barabaresConnectionString"].ConnectionString; using (SqlConnection SqlConn = new SqlConnection(ConnString)) { try { SqlConn.Open(); } catch (Exception ex) { Debug.WriteLine(ex.ToString()); response.Flujo = Constantes.FALLA; response.Mensaje = "Error al abrir la conexión a BD"; return response; } SqlCommand sqlCmd = new SqlCommand("USUARIO_LOGIN", SqlConn); sqlCmd.CommandType = CommandType.StoredProcedure; SqlParameter flujo = new SqlParameter("@opsFlujo", SqlDbType.VarChar) { Direction = ParameterDirection.Output, Size = 10 }; SqlParameter mensaje = new SqlParameter("@opsMsj", SqlDbType.VarChar) { Direction = ParameterDirection.Output, Size = 100 }; SqlParameter nombreUsuario = new SqlParameter("@opsNombreUsuario", SqlDbType.VarChar) { Direction = ParameterDirection.Output, Size = 100 }; SqlParameter idUsuario = new SqlParameter("@opnIdUsuario", SqlDbType.VarChar) { Direction = ParameterDirection.Output, Size = 100 }; SqlParameter token = new SqlParameter("@opsToken", SqlDbType.VarBinary) { Direction = ParameterDirection.Output, Size = 8000 }; sqlCmd.Parameters.Add("@ipsUsuario", SqlDbType.VarChar).Value = l.usuario; sqlCmd.Parameters.Add("@ipsContrasena", SqlDbType.VarChar).Value = l.contrasena; sqlCmd.Parameters.Add(flujo); sqlCmd.Parameters.Add(mensaje); sqlCmd.Parameters.Add(token); sqlCmd.Parameters.Add(nombreUsuario); sqlCmd.Parameters.Add(idUsuario); sqlCmd.ExecuteNonQuery(); response.Flujo = flujo.Value.ToString(); response.Mensaje = mensaje.Value.ToString(); //Procesar Usuario //nombreUsuario.ToString() //Int32.Parse(idUsuario.ToString()) SqlConn.Close(); if (flujo.Value.ToString().Equals(Constantes.OK)) { string token_bd = ""; foreach (Byte b in (Byte[])token.Value) { token_bd = token_bd + b.ToString(); } response.Mensaje = BBSessionManager.Instance.addNewSession(Int32.Parse(idUsuario.Value.ToString()), nombreUsuario.Value.ToString(), token_bd, 0); Debug.WriteLine(response.Mensaje, "Mensaje"); Debug.WriteLine(token_bd, "Token"); } } return response; } catch (Exception ex) { LogBarabares b = new LogBarabares() { Accion = Constantes.LOG_LOGIN, Servicio = Constantes.Login_Usuario, Input = JsonSerializer.login_Usuario(l.usuario, l.contrasena), Descripcion = ex.ToString(), Clase = (l == null) ? "null" : l.GetType().Name, Aplicacion = Constantes.ENTORNO_SERVICIOS, Estado = Constantes.FALLA, Ip = "", IdUsuario = 1 //TODO: obtener usuario de la sesión }; Utils.add_LogBarabares(b); ResponseBD response = new ResponseBD(); response.Flujo = Constantes.FALLA; response.Mensaje = "Error al abrir la conexión a BD"; return response; } }