Ejemplo n.º 1
0
        public string ConsultaCFDIRelacionadosRequest(string RfcPacEnviaSolicitud, string RfcReceptor, string RfcEmisor, string Uuid)
        {
            AccesoServicios ser           = new AccesoServicios();
            IList           uuidsCancelar = new List <string>();

            uuidsCancelar.Add(Uuid.ToUpper());
            string result;

            using (new NtLinkLocalServiceEntities())
            { string        path = "";
              NtLinkEmpresa nle  = new NtLinkEmpresa();
              if (!string.IsNullOrEmpty(RfcEmisor))
              {
                  empresa empresa = nle.GetByRfc(RfcEmisor);
                  SAT.CFDI.Cliente.Procesamiento.Encabezado encLMetadata2 = new SAT.CFDI.Cliente.Procesamiento.Encabezado(RfcEmisor, this.FechaHoy(), uuidsCancelar);
                  path = Path.Combine(ConfigurationManager.AppSettings["Resources"], RfcEmisor);
                  string pathCer = Path.Combine(path, "Certs", "csd.cer");
                  string pathKey = Path.Combine(path, "Certs", "csd.key");
                  string pass    = empresa.PassKey;
                  SAT.CFDI.Cliente.Procesamiento.ServicioRelacionados.SignatureType asignature = ser.Asignature(pathKey, encLMetadata2, pass, pathCer);
                  result = ser.ConsultaCFDIRelacionadosRequest(RfcPacEnviaSolicitud, RfcReceptor, RfcEmisor, Uuid, asignature);
              }
              else
              {
                  empresa empresa = nle.GetByRfc(RfcReceptor);
                  SAT.CFDI.Cliente.Procesamiento.Encabezado encLMetadata2 = new SAT.CFDI.Cliente.Procesamiento.Encabezado(RfcReceptor, this.FechaHoy(), uuidsCancelar);
                  path = Path.Combine(ConfigurationManager.AppSettings["Resources"], RfcReceptor);
                  string pathCer = Path.Combine(path, "Certs", "csd.cer");
                  string pathKey = Path.Combine(path, "Certs", "csd.key");
                  string pass    = empresa.PassKey;
                  SAT.CFDI.Cliente.Procesamiento.ServicioRelacionados.SignatureType asignature = ser.Asignature(pathKey, encLMetadata2, pass, pathCer);
                  result = ser.ConsultaCFDIRelacionadosRequest(RfcPacEnviaSolicitud, RfcReceptor, RfcEmisor, Uuid, asignature);
              } }
            return(result);
        }
Ejemplo n.º 2
0
        public string ConsultaCFDI(string expresion, string uudi, string rfcReceptor)//no necesita asignature
        {
            AccesoServicios serv = new AccesoServicios();

            SAT.CFDI.Cliente.Procesamiento.ServicioRelacionados.SignatureType asignature = new SAT.CFDI.Cliente.Procesamiento.ServicioRelacionados.SignatureType();
            return(serv.ConsultaCFDI(expresion, uudi, rfcReceptor, asignature));
        }
Ejemplo n.º 3
0
 public static void insertarImagen(string pCodigo, byte[] pImagen)
 {
     try
     {
         AccesoServicios.insertarImagen(new object[] { pCodigo, pImagen });
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
Ejemplo n.º 4
0
 public static void insertarServicio(Servicio pservicio, string pNombreEmpresa)
 {
     try
     {
         AccesoServicios.insertarServicio(new object[] { pNombreEmpresa, pservicio.Nombre, pservicio.Codigo, pservicio.Descripcion, pservicio.Comentario, pservicio.Unidad, pservicio.Precio });
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
Ejemplo n.º 5
0
        public static List <String> obtenerNombreServicios(string empresa)
        {
            List <String> servicios = new List <String>();

            try
            {
                servicios = AccesoServicios.obtenerNombresServicios(new object[] { empresa, "" });
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            return(servicios);
        }
Ejemplo n.º 6
0
        public static List <Servicio> cargarServicios(string nombre)
        {
            List <Servicio> servicios = new List <Servicio>();

            try
            {
                servicios = AccesoServicios.obtenerServicios(new object[] { nombre, "" });
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            return(servicios);
        }
Ejemplo n.º 7
0
        public static List <Image> cargarImagenes(string pCodigoArticulo, string pNombreEmpresa)
        {
            List <Image> imagenes = new List <Image>();

            try
            {
                imagenes = AccesoServicios.obtenerImagenes(new object[] { pNombreEmpresa, pCodigoArticulo });
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            return(imagenes);
        }
Ejemplo n.º 8
0
        private Acuse EnviarCFDIalSAT(Encabezado encLMetadata)
        {
            string strMAcuseRecibo = "";

            try
            {
                AccesoServicios accesoServicios = new AccesoServicios();
                var             acuse           = accesoServicios.EnviarBloqueCfdi(encLMetadata);
                return(acuse);
            }
            catch (Exception err)
            {
                Log.Error("(EnviarCFDIalSAT) Error al intentar enviar la información al SAT, Err:" + err.ToString() + "\r\nAcuse: " + strMAcuseRecibo);
                return(null);
            }
        }
Ejemplo n.º 9
0
        private Acuse EnviarCFDIalSAT(Encabezado encLMetadata)
        {
            string strMAcuseRecibo = "";

            try
            {
                AccesoServicios accesoServicios = new AccesoServicios();
                accesoServicios.ClienteAutenticacion.Endpoint.Address = new System.ServiceModel.EndpointAddress(ConfigurationManager.AppSettings["RutaSATAutenticacion"]);
                accesoServicios.ClienteRecepcion.Endpoint.Address     = new System.ServiceModel.EndpointAddress(ConfigurationManager.AppSettings["RutaSATRecepcion"]);

                var acuse = accesoServicios.EnviarBloqueCfdi(encLMetadata);
                return(acuse);
            }
            catch (Exception err)
            {
                Log.Error("(EnviarCFDIalSAT) Error al intentar enviar la información al SAT, Err:" + err.ToString() + "\r\nAcuse: " + strMAcuseRecibo);
                return(null);
            }
        }
Ejemplo n.º 10
0
        public string ProcesarRespuestaAceptacionRechazo(string RfcReceptor, string RfcPacEnviaSolicitud, List <Folios> F)
        {
            AccesoServicios ser           = new AccesoServicios();
            IList           uuidsCancelar = new List <string>();

            foreach (Folios f in F)
            {
                uuidsCancelar.Add(f.UUDI.ToUpper());
            }
            List <SolicitudAceptacionRechazoFolios> Folio = new List <SolicitudAceptacionRechazoFolios>();

            foreach (Folios f in F)
            {
                SolicitudAceptacionRechazoFolios x = new SolicitudAceptacionRechazoFolios();
                x.UUID = f.UUDI;
                if (f.Respuesta.ToString() == "Aceptacion")
                {
                    x.Respuesta = TipoAccionPeticionCancelacion.Aceptacion;
                }
                else
                {
                    x.Respuesta = TipoAccionPeticionCancelacion.Rechazo;
                }
                Folio.Add(x);
            }
            string result;

            using (new NtLinkLocalServiceEntities())
            {
                NtLinkEmpresa nle     = new NtLinkEmpresa();
                empresa       empresa = nle.GetByRfc(RfcReceptor);
                string        fecha   = this.FechaHoy();
                SAT.CFDI.Cliente.Procesamiento.Encabezado encLMetadata2 = new SAT.CFDI.Cliente.Procesamiento.Encabezado(RfcReceptor, fecha, uuidsCancelar);
                string path    = Path.Combine(ConfigurationManager.AppSettings["Resources"], RfcReceptor);
                string pathCer = Path.Combine(path, "Certs", "csd.cer");
                string pathKey = Path.Combine(path, "Certs", "csd.key");
                string pass    = empresa.PassKey;
                SAT.CFDI.Cliente.Procesamiento.ServicioAceptacionRechazo.SignatureType asignature = ser.AsignatureProceso(pathKey, encLMetadata2, pass, pathCer);
                result = ser.ProcesarRespuestaAceptacionRechazo(RfcReceptor, fecha, RfcPacEnviaSolicitud, Folio, asignature);
            }
            return(result);
        }
Ejemplo n.º 11
0
        private string EnviarCancelacionSATOtrosPACs(SAT.CFDI.Cliente.Procesamiento.Encabezado metadata, string Base64Key, string passPrivada, string Base64Cer, ref SAT.CFDI.Cliente.Procesamiento.ServicioCancelacionCFDI.Acuse cAcuse)
        {
            string result;

            try
            {
                AccesoServicios accesoServicios = new AccesoServicios();
                SAT.CFDI.Cliente.Procesamiento.ServicioCancelacionCFDI.Acuse acuse = null;
                string acuseRecibo = accesoServicios.CancelarBloqueCfdiOtrosPACs(string.Empty, string.Empty, metadata, Base64Key, passPrivada, Base64Cer, ref acuse);
                cAcuse = acuse;
                Cancelador.Logger.Info(acuseRecibo);
                result = acuseRecibo;
            }
            catch (Exception ex)
            {
                Cancelador.Logger.Error("(EnviarCancelacionSAT) Error: " + ex.Message + ((ex.InnerException == null) ? "" : ("\nExcepción Interna:" + ex.InnerException.Message)));
                throw ex;
            }
            return(result);
        }
Ejemplo n.º 12
0
        public string ConsultaAceptacionRechazo(string RfcReceptor)
        {
            AccesoServicios ser = new AccesoServicios();

            return(ser.ConsultaAceptacionRechazo(RfcReceptor));
        }
Ejemplo n.º 13
0
        public string ConsultaEstatusCFDI(string expresion)
        {
            AccesoServicios serv = new AccesoServicios();

            return(serv.ConsultaEstatusCFDI(expresion));
        }
Ejemplo n.º 14
0
        public RespuestaCancelacion Cancelar(string requestCancelacion)
        {
            Cancelador.Logger.Info(requestCancelacion);
            AccesoServicios serv = new AccesoServicios();
            XmlSerializer   ser  = new XmlSerializer(typeof(SAT.CFDI.Cliente.Procesamiento.ServicioCancelacionCFDI.Cancelacion), "http://cancelacfd.sat.gob.mx");

            SAT.CFDI.Cliente.Procesamiento.ServicioCancelacionCFDI.Cancelacion cancelacion = null;
            RespuestaCancelacion result;

            try
            {
                cancelacion = (ser.Deserialize(new StringReader(requestCancelacion)) as SAT.CFDI.Cliente.Procesamiento.ServicioCancelacionCFDI.Cancelacion);
                NtLinkTimbrado nlt = new NtLinkTimbrado();
            }
            catch (SerializationException ee)
            {
                Cancelador.Logger.Error(ee);
                result = new RespuestaCancelacion
                {
                    Acuse        = null,
                    MensajeError = "Request mal formado " + ee.Message,
                    StatusUuids  = new List <StatusUuid>()
                };
                return(result);
            }
            catch (Exception ee2)
            {
                Cancelador.Logger.Error(ee2);
                result = new RespuestaCancelacion
                {
                    Acuse        = null,
                    MensajeError = "Request mal formado ",
                    StatusUuids  = new List <StatusUuid>()
                };
                return(result);
            }
            SAT.CFDI.Cliente.Procesamiento.ServicioCancelacionCFDI.Acuse respuesta = serv.CancelaCfdi(cancelacion);
            List <StatusUuid> res           = new List <StatusUuid>();
            MemoryStream      acuseStream   = new MemoryStream();
            XmlSerializer     xmlSerializer = new XmlSerializer(typeof(SAT.CFDI.Cliente.Procesamiento.ServicioCancelacionCFDI.Acuse));

            xmlSerializer.Serialize(acuseStream, respuesta);
            acuseStream.Seek(0L, SeekOrigin.Begin);
            StreamReader acuseReader = new StreamReader(acuseStream);
            string       acuse       = acuseReader.ReadToEnd();

            Cancelador.Logger.Info(acuse);
            if (respuesta.Folios != null && respuesta.Folios.Length > 0)
            {
                SAT.CFDI.Cliente.Procesamiento.ServicioCancelacionCFDI.AcuseFolios[] folios = respuesta.Folios;
                for (int i = 0; i < folios.Length; i++)
                {
                    SAT.CFDI.Cliente.Procesamiento.ServicioCancelacionCFDI.AcuseFolios acuseFoliose = folios[i];
                    NtLinkTimbrado tim    = new NtLinkTimbrado();
                    TimbreWs33     timbre = tim.ObtenerTimbre(acuseFoliose.UUID);
                    if (timbre == null)
                    {
                        TimbreWsHistorico timbreHist = tim.ObtenerTimbreHist(acuseFoliose.UUID);
                        if (timbreHist != null)
                        {
                            timbre                  = new TimbreWs33();
                            timbre.RfcEmisor        = timbreHist.RfcEmisor;
                            timbre.RfcReceptor      = timbreHist.RfcReceptor;
                            timbre.AcuseCancelacion = timbreHist.AcuseCancelacion;
                            timbre.IdTimbre         = timbreHist.IdTimbre;
                            timbre.Uuid             = timbreHist.Uuid;
                            timbre.StrError         = "Hist";
                        }
                    }
                    if (timbre != null)
                    {
                        if (acuseFoliose.EstatusUUID == "201" || acuseFoliose.EstatusUUID == "202")
                        {
                            timbre.Status = new int?(2);
                        }
                        timbre.AcuseCancelacion = acuse;
                        tim.GuardarTimbre(timbre);
                        res.Add(new StatusUuid
                        {
                            Uuid   = acuseFoliose.UUID,
                            Status = acuseFoliose.EstatusUUID
                        });
                    }
                }
            }
            RespuestaCancelacion resultado = new RespuestaCancelacion
            {
                Acuse       = acuse,
                StatusUuids = res
            };

            result = resultado;
            return(result);
        }