Пример #1
0
        /// <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
                });
            }
        }
Пример #2
0
        /// <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);
        }