/// <summary> /// Inicio de sesion en la uif /// </summary> /// <returns></returns> public WSUIF.inicioSesionRes UIFInicioSesion() { try { //var respuestaSP = this.executeSP("WS_VALIDA", true, null); WSUIF.inicioSesionReq credenciales; //Variable que almacena la respuesta de la petición de inicio de sesion de la wsUIF WSUIF.inicioSesionRes respuesta = new WSUIF.inicioSesionRes(); //Para crear la peticion de inicio de session WSUIF.inicioSesionRequest peticion = new WSUIF.inicioSesionRequest(); //variable para invocar los metodos del WS de la UIF WSUIF.ReporteTransaccionesWebServiceClient uifservice = new WSUIF.ReporteTransaccionesWebServiceClient(); credenciales = new WSUIF.inicioSesionReq(); credenciales.cuenta = this.USUARIO.Trim(); credenciales.clave = this.CREDENCIAL.Trim(); credenciales.mac = this.MAC.Trim(); //Se crea la petición de inicio de sesion enviando las credenciales de autenticacion peticion = new WSUIF.inicioSesionRequest(credenciales); //Invoca al metodo de inicio de sesion y retorna //la respuesta y de ser correcto el token de validacion de 24 horas de duracion respuesta = uifservice.inicioSesion(peticion.request); return(respuesta); //return new RespuestaServicio { Codigo = respuesta.codigoMensaje.ToString(), Mensaje = respuesta.descripcionMensaje }; } catch (SoapException ex) { log.Info("Error soap de inicio de sesion", ex); return(new WSUIF.inicioSesionRes { codigoMensaje = 97, descripcionMensaje = ex.Detail.ToString(), codigoMensajeSpecified = false, token = null }); //return new RespuestaServicio { Codigo = ex.Code.ToString(), Mensaje = string.Format("Error en nodo {0}, causa : {1}", ex.Actor, ex.Detail) }; } catch (Exception ex) { log.Info("Error en el inicio de sesion de la uif", ex); //return new RespuestaServicio { Codigo = "96", Mensaje = MensajeSistema("96") }; return(new WSUIF.inicioSesionRes { codigoMensaje = 97, descripcionMensaje = ex.Message, codigoMensajeSpecified = false, token = null }); } }
/// <summary> /// Funcion que realiza el envio del request /// </summary> /// <param name="req">Objeto Request</param> /// <param name="credencial">Password del servicio web</param> /// <param name="usuario">Nombre de usuario</param> /// <param name="mac">Direccion MAC</param> /// <returns></returns> private RespuestaServicioUIF enviar(object req, string credencial, string usuario, string mac) { try { //Estblecemos las credenciales this.USUARIO = usuario; this.CREDENCIAL = credencial; this.MAC = mac; WSUIF.inicioSesionRes sesion = this.UIFInicioSesion(); //Si el token es nulo, entonces fallo el inicio de sesion if (sesion.token == null) { return new RespuestaServicioUIF { Codigo = sesion.codigoMensaje.ToString(), Mensaje = sesion.descripcionMensaje, RegistrosProcesados = 0, CodigoTransaccion = "" } } ; WSUIF.ReporteTransaccionesWebServiceClient uifservice = new WSUIF.ReporteTransaccionesWebServiceClient(); ///si el objeto es reporte diario otros medios if ((req as WSUIF.reporteDiarioOtrosMediosReq) != null) { var request = req as WSUIF.reporteDiarioOtrosMediosReq; request.tokenValido = sesion.token; WSUIF.reporteDiarioOtrosMediosResp response = new WSUIF.reporteDiarioOtrosMediosResp(); response = uifservice.reporteDiarioOtrosMedios(request); return(new RespuestaServicioUIF { Codigo = response.codigoMensaje.ToString(), CodigoTransaccion = response.codigoTransaccion, Mensaje = response.descripcionMensaje, RegistrosProcesados = response.registrosProcesados }); } //si el objeto es reporte diario efectivo if ((req as WSUIF.reporteDiarioEfectivoReq) != null) { var request = req as WSUIF.reporteDiarioEfectivoReq; request.tokenValido = sesion.token; WSUIF.reporteDiarioEfectivoRes response = new WSUIF.reporteDiarioEfectivoRes(); response = uifservice.reporteDiarioEfectivo(request); return(new RespuestaServicioUIF { Codigo = response.codigoMensaje.ToString(), CodigoTransaccion = response.codigoTransaccion, Mensaje = response.descripcionMensaje, RegistrosProcesados = response.registrosProcesados }); } //si el objeto es reporte diario otros medios electronicos if ((req as WSUIF.reporteDiarioOtrosMediosElectronicoReq) != null) { var request = req as WSUIF.reporteDiarioOtrosMediosElectronicoReq; request.tokenValido = sesion.token; WSUIF.reporteDiarioOtrosMediosElectronicoRes response = new WSUIF.reporteDiarioOtrosMediosElectronicoRes(); response = uifservice.reporteOtrosMediosElectronicos(request); return(new RespuestaServicioUIF { Codigo = response.codigoMensaje.ToString(), CodigoTransaccion = response.codigoTransaccion, Mensaje = response.descripcionMensaje, RegistrosProcesados = response.registrosProcesados }); } //REPORTES MENSUALES //si el objeto es reporte mensual efectivo if ((req as WSUIF.reporteMensualEfectivoReq) != null) { var request = req as WSUIF.reporteMensualEfectivoReq; request.tokenValido = sesion.token; WSUIF.reporteMensualEfectivoRes response = new WSUIF.reporteMensualEfectivoRes(); response = uifservice.reporteMensualEfectivo(request); return(new RespuestaServicioUIF { Codigo = response.codigoMensaje.ToString(), CodigoTransaccion = response.codigoTransaccion, Mensaje = response.descripcionMensaje, RegistrosProcesados = response.registrosProcesados }); } //si el objeto es reporte mensual otros medios if ((req as WSUIF.reporteMensualOtrosMediosReq) != null) { var request = req as WSUIF.reporteMensualOtrosMediosReq; request.tokenValido = sesion.token; WSUIF.reporteMensualOtrosMediosRes response = new WSUIF.reporteMensualOtrosMediosRes(); response = uifservice.reporteMensualOtrosMedios(request); return(new RespuestaServicioUIF { Codigo = response.codigoMensaje.ToString(), CodigoTransaccion = response.codigoTransaccion, Mensaje = response.descripcionMensaje, RegistrosProcesados = response.registrosProcesados }); } } catch (SoapException ex) //Se captura la excepcion soap { log.Info("Excepcion soap", ex); return(new RespuestaServicioUIF { Codigo = "97", CodigoTransaccion = "", Mensaje = ex.Message, RegistrosProcesados = 0 }); } catch (Exception ex) { log.Info("Excepcion en envio", ex); return(new RespuestaServicioUIF { Codigo = "97", CodigoTransaccion = "", Mensaje = ex.Message, RegistrosProcesados = 0 }); } return(null); }