Esempio n. 1
0
        public List <object> cancelarAcuse(InfoATimbrar infoATimbrar, DBContextAdapter dbContext)
        {
            datosCancelados = new List <object>();
            cUUIDCancelado UUIDCancelado = null;

            try
            {
                WsSolucionfactibleCancelar.Cancelacion cancelacion = new WsSolucionfactibleCancelar.Cancelacion();
                WsSolucionfactibleCancelar.CancelacionAsincronoResponse response = new WsSolucionfactibleCancelar.CancelacionAsincronoResponse();
                cancelacion.Url = infoATimbrar.urlWebServices.Substring(0, infoATimbrar.urlWebServices.LastIndexOf("/") + 1) + "Cancelacion ";
                List <InfoExtra> extras = infoATimbrar.infoExtras;
                this.Url         = infoATimbrar.urlWebServices;
                this.Usuario     = infoATimbrar.usuario;
                this.Password    = infoATimbrar.password;
                this.PasswordCSD = infoATimbrar.passwordKey;
                this.KeyCSD      = infoATimbrar.archivoKey;
                this.CertCSD     = infoATimbrar.archivoPfx;



                for (int i = 0; i < extras.Count; i++)
                {
                    this.RFC            = extras[i].rfcEmisor;
                    this.folio          = extras[i].folio;
                    this.serie          = extras[i].serie;
                    this.cfdirecibo_id  = extras[i].cfdirecibo_id;
                    this.UsuarioSistema = extras[i].usuario;
                    UUIDCancelado       = cancelar(extras[i].UUID, dbContext);
                    datosCancelados.Add(UUIDCancelado);
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(datosCancelados);
        }
Esempio n. 2
0
        public cUUIDCancelado cancelar(string UUID, DBContextAdapter dbContext)
        {
            cUUIDCancelado UUIDCancelado = null;

            try
            {
                WsSolucionfactibleCancelar.Cancelacion cancelacion = new WsSolucionfactibleCancelar.Cancelacion();
                WsSolucionfactibleCancelar.CancelacionAsincronoResponse response = new WsSolucionfactibleCancelar.CancelacionAsincronoResponse();
                WsSolucionfactibleCancelar.StatusCancelacionResponse    status   = new  WsSolucionfactibleCancelar.StatusCancelacionResponse();

                BITCancelacion bITCancelacion = new BITCancelacion();
                cancelacion.Url = this.Url.Substring(0, this.Url.LastIndexOf("/") + 1) + "Cancelacion ";

                response = cancelacion.cancelarAsincrono(Usuario, Password, UUID, RFC, "", CertCSD, KeyCSD, PasswordCSD, null);
                switch (response.status)
                {
                case 200:
                    bITCancelacion.fechaYHora    = DateTime.Now;
                    bITCancelacion.usuario       = this.UsuarioSistema;
                    bITCancelacion.proceso       = ProcesoBitcancelacion.CANCELARASINCRONO;
                    bITCancelacion.status        = StatusBitcancelacion.SolicitudRegistrada;
                    bITCancelacion.cfdiRecibo_ID = this.cfdirecibo_id;
                    bITCancelacion.statusMsj     = "[" + response.status.ToString() + "] " + response.mensaje;
                    bitCancelacionDAO.agregar(bITCancelacion, dbContext);

                    UUIDCancelado           = new cUUIDCancelado();
                    UUIDCancelado.UUID      = UUID;
                    UUIDCancelado.statusSAT = StatusXmlSat.CANCELABLESINACEPTACION;
                    UUIDCancelado.status    = "200";
                    UUIDCancelado           = CancelarAcuseStatusUno(UUID, dbContext);
                    break;

                case 201:
                case 202:
                case 701:

                    bITCancelacion.fechaYHora    = DateTime.Now;
                    bITCancelacion.usuario       = this.UsuarioSistema;
                    bITCancelacion.proceso       = ProcesoBitcancelacion.CANCELARASINCRONO;
                    bITCancelacion.status        = StatusBitcancelacion.SolicitudRegistrada;
                    bITCancelacion.cfdiRecibo_ID = this.cfdirecibo_id;
                    bITCancelacion.statusMsj     = "[" + response.status.ToString() + "] " + response.mensaje;
                    bitCancelacionDAO.agregar(bITCancelacion, dbContext);

                    UUIDCancelado           = new cUUIDCancelado();
                    UUIDCancelado.UUID      = UUID;
                    UUIDCancelado.statusSAT = StatusXmlSat.SOLICITUDREGISTRADA;
                    UUIDCancelado.status    = "100";
                    break;

                case 204:

                    bITCancelacion.fechaYHora    = DateTime.Now;
                    bITCancelacion.usuario       = this.UsuarioSistema;
                    bITCancelacion.proceso       = ProcesoBitcancelacion.CANCELARASINCRONO;
                    bITCancelacion.status        = StatusBitcancelacion.NoCancelable;
                    bITCancelacion.cfdiRecibo_ID = this.cfdirecibo_id;
                    bITCancelacion.statusMsj     = "[" + response.status.ToString() + "] " + response.mensaje;
                    bitCancelacionDAO.agregar(bITCancelacion, dbContext);


                    UUIDCancelado               = new cUUIDCancelado();
                    UUIDCancelado.UUID          = UUID;
                    UUIDCancelado.statusSAT     = StatusXmlSat.NOCANCELABLE;
                    UUIDCancelado.status        = "100";
                    UUIDCancelado.observaciones = "[" + response.status.ToString() + "] " + response.mensaje;
                    break;

                case 211:

                    bITCancelacion.fechaYHora    = DateTime.Now;
                    bITCancelacion.usuario       = this.UsuarioSistema;
                    bITCancelacion.proceso       = ProcesoBitcancelacion.CANCELARASINCRONO;
                    bITCancelacion.status        = StatusBitcancelacion.EnProcesoAceptacion;
                    bITCancelacion.cfdiRecibo_ID = this.cfdirecibo_id;
                    bITCancelacion.statusMsj     = "[" + response.status.ToString() + "] " + response.mensaje;;
                    bitCancelacionDAO.agregar(bITCancelacion, dbContext);
                    UUIDCancelado               = new cUUIDCancelado();
                    UUIDCancelado.UUID          = UUID;
                    UUIDCancelado.statusSAT     = StatusXmlSat.ENPROCESOACEPTACION;
                    UUIDCancelado.status        = "100";
                    UUIDCancelado.observaciones = "[" + response.status.ToString() + "] " + response.mensaje;
                    break;

                case 213:
                    bITCancelacion.fechaYHora    = DateTime.Now;
                    bITCancelacion.usuario       = this.UsuarioSistema;
                    bITCancelacion.proceso       = ProcesoBitcancelacion.CANCELARASINCRONO;
                    bITCancelacion.status        = StatusBitcancelacion.SolicitudRechazada;
                    bITCancelacion.cfdiRecibo_ID = this.cfdirecibo_id;
                    bITCancelacion.statusMsj     = "[" + response.status.ToString() + "] " + response.mensaje;
                    bitCancelacionDAO.agregar(bITCancelacion, dbContext);

                    UUIDCancelado               = new cUUIDCancelado();
                    UUIDCancelado.UUID          = UUID;
                    UUIDCancelado.statusSAT     = StatusXmlSat.SOLICITUDRECHAZADA;
                    UUIDCancelado.status        = "100";
                    UUIDCancelado.observaciones = "[" + response.status.ToString() + "] " + response.mensaje;
                    break;

                default:
                    bITCancelacion.fechaYHora    = DateTime.Now;
                    bITCancelacion.usuario       = this.UsuarioSistema;
                    bITCancelacion.proceso       = ProcesoBitcancelacion.CANCELARASINCRONO;
                    bITCancelacion.status        = StatusBitcancelacion.Indefinido;
                    bITCancelacion.cfdiRecibo_ID = this.cfdirecibo_id;
                    bITCancelacion.statusMsj     = "Error al realizar la cancelación: [" + response.status.ToString() + "] " + response.mensaje;
                    bitCancelacionDAO.agregar(bITCancelacion, dbContext);

                    UUIDCancelado               = new cUUIDCancelado();
                    UUIDCancelado.UUID          = UUID;
                    UUIDCancelado.status        = "160";
                    UUIDCancelado.statusSAT     = StatusXmlSat.INDEFINIDO;
                    UUIDCancelado.observaciones = "Error al realizar la cancelación: [" + response.status.ToString() + "] " + response.mensaje;
                    break;
                }
            }
            catch (Exception)
            {
                throw;
            }

            return(UUIDCancelado);
        }