Ejemplo n.º 1
0
        /*
         * Metodo para Excluir de lista negra a un cliente por numero celular
         * se debe considerar lo siguiente:
         * -Validar que el cliente exista en lista negra
         * -Sacar al cliente en lista negra, en caso que exista
         */
        public SEResponseListaNegra ProcesarExclusion(SERequestListaNegra objRequest)
        {
            SEResponseListaNegra objResponse = new SEResponseListaNegra();

            try
            {
                //se valida que el cliente este lista negra
                if (ValidarListaNegra(_IdOperadora, objRequest.Msisdn))
                {
                    // si existe se excluye de lista negra
                    if (ExcluirDeListaNegra(_IdOperadora, objRequest.Msisdn, "Exclusion desde WSIntegratorService", objRequest.FechaRequest) > 0)
                    {
                        objResponse.CodeError = (byte)CODE_ERROR.SUCCESS;
                        objResponse.Message   = "Sucess";
                    }
                    else
                    {
                        objResponse.CodeError = (byte)CODE_ERROR.ERROR_INESPERADO;
                        objResponse.Message   = "Error Inesperado";
                    }
                }
                else
                {
                    objResponse.CodeError = (byte)CODE_ERROR.SUCCESS;
                    objResponse.Message   = "Sucess";
                }
            }
            catch (Exception)
            {
                objResponse.CodeError = (byte)CODE_ERROR.ERROR_INTERNO;
                objResponse.Message   = "Error Interno de aplicación";
            }

            objResponse.FechaResponse = DateTime.Now;
            return(objResponse);
        }
Ejemplo n.º 2
0
        public int RegistraLogSolicitudes(SERequestListaNegra ObjRequest, SEResponseListaNegra ObjResponse)
        {
            string sp        = "SMS.spRegistrarResponseRequesSolicitudesBaja";
            int    resultado = 0;

            try
            {
                Conexion.TRX();
                Conexion.GDatos.IniciarTransaccion();
                resultado = Conexion.GDatos.Ejecutar(sp, _IdOperadora, ObjRequest.RequestBlacklistDetailId, ObjRequest.Msisdn, ObjRequest.RequestType, ObjResponse.CodeError, ObjRequest.FechaRequest, ObjResponse.FechaResponse);
                Conexion.GDatos.TerminarTransaccion();
            }
            catch (Exception ex)
            {
                Conexion.GDatos.AbortarTransaccion();
                SNError.IngresaError(1, 1, "WSIntegratorService", sp, ex.Message);
            }
            finally
            {
                Conexion.GDatos.CerrarConexion();
            }

            return(resultado);
        }
Ejemplo n.º 3
0
        /*
         * Metodo para incluir en lista negra a un cliente por numero celular
         * se debe considerar lo siguiente:
         * -Validar que el cliente no exista en lista negra
         * -Verificar si esta suscrito tanto en MT y MO, de ser así se procede a desuscribir
         * -ingresar en lista negra
         */
        public SEResponseListaNegra ProcesarInclusion(SERequestListaNegra objRequest)
        {
            SEResponseListaNegra objResponse = new SEResponseListaNegra();

            try
            {
                //se valida que no esta en lista negra
                if (!ValidarListaNegra(_IdOperadora, objRequest.Msisdn))
                {
                    //lista del resultado al consumir el api de solicitud de baja mediante web api puente -> http://10.31.16.21/Desuscripciones/api/ProcesarBajaMasiva
                    List <SEResultadoProcesoSACA <SEResponseBajaSACA> > resultadoSACA = new List <SEResultadoProcesoSACA <SEResponseBajaSACA> >();

                    //Lista de suscripciones del lado del saca
                    List <SERequestBajaSACA> SuscripcionesSACA = new List <SERequestBajaSACA>();
                    SuscripcionesSACA = ObtenerSuscripcionesSACA(_IdOperadora, objRequest.Msisdn).ToList();

                    //si tiene suscripciones en el SACA se solicita la baja mediante consumo del api
                    if (SuscripcionesSACA.Count > 0)
                    {
                        ApiConsumerManager obj = new ApiConsumerManager();
                        string             url = "http://10.31.16.21/Desuscripciones/api";
                        resultadoSACA = obj.EnviarSolicitud <SEResultadoProcesoSACA <SEResponseBajaSACA> >(url, "ProcesarBajaMasiva", SuscripcionesSACA, "POST", "application/json");
                    }

                    //si se realizó la baja del lado del saca se procede a ingresar a lista negra
                    if (resultadoSACA.Where(x => x.Exitoso.Equals(true)).ToList().Count() == SuscripcionesSACA.Count)
                    {
                        // si no existe se ingresa a lista negra y se da de baja de los servicios suscritos
                        if (IncluirEnListaNegra(_IdOperadora, objRequest.Msisdn, "Inclusion desde WSIntegratorService", objRequest.FechaRequest) > 0)
                        {
                            objResponse.CodeError = (byte)CODE_ERROR.SUCCESS;
                            objResponse.Message   = "Sucess";
                        }
                        else
                        {
                            objResponse.CodeError = (byte)CODE_ERROR.ERROR_INESPERADO;
                            objResponse.Message   = "Error Inesperado";
                        }
                    }
                    else
                    {
                        objResponse.CodeError = (byte)CODE_ERROR.ERROR_INESPERADO;
                        objResponse.Message   = "Error Inesperado";
                    }
                }
                else
                {
                    objResponse.CodeError = (byte)CODE_ERROR.SUCCESS;
                    objResponse.Message   = "Sucess";
                }
            }
            catch (Exception)
            {
                objResponse.CodeError = (byte)CODE_ERROR.ERROR_INTERNO;
                objResponse.Message   = "Error Interno de aplicación";
            }

            objResponse.FechaResponse = DateTime.Now;

            return(objResponse);
        }