Exemplo n.º 1
0
 public ActionResult Cancelar(Guid Id)
 {
     try {
         CFDI          Factura = db.GetCFDI(Id, 1).FirstOrDefault();
         GetPAC_Result PAC     = db.GetPAC(null, 0).Where(x => x.Id == Factura.IdProveedor).First();
         RVCFDI33.RVCancelacion.Cancelacion Cancelar = new RVCFDI33.RVCancelacion.Cancelacion();
         string Certificado       = Server.MapPath("~/Certificados/" + PAC.RFC + "/" + PAC.RFC + ".cer"),
                Llave             = Server.MapPath("~/Certificados/" + PAC.RFC + "/" + PAC.RFC + ".key"),
                Cancelacion       = Server.MapPath("~/Facturas/" + PAC.RFC + "/Cancelaciones");
         string cadenaCancelacion = Cancelar.crearXMLCancelacionCadena(Certificado, Llave, PAC.ContrasenaLlave, Factura.Id.ToString());
         if (Cancelar.MensajeDeError == "")
         {
             //Cancelar.enviarCancelacionCadena(cadenaCancelacion, PAC.RFC, PAC.Contrasena, "http://generacfdi.com.mx/rvltimbrado/service1.asmx");
             if (Cancelar.CodigoDeError == 0)
             {
                 if (!System.IO.Directory.Exists(Cancelacion))
                 {
                     System.IO.Directory.CreateDirectory(Cancelacion);
                 }
                 System.IO.File.WriteAllText(Cancelacion + "\\Cancelacion_" + Factura.Folio + ".xml", cadenaCancelacion);
                 db.UpdateCFDI(Id, Factura.Tipo, Factura.Folio, Factura.XML, Factura.Ruta, Factura.IdCliente, Factura.IdEmpleado, Factura.IdProveedor, true);
                 return(Json(new { error = false }, JsonRequestBehavior.AllowGet));
             }
             else
             {
                 return(Json(new { error = "Error Al enviar la Cadena De Cancelacion", Message = Cancelar.MensajeDeError }, JsonRequestBehavior.AllowGet));
             }
         }
         else
         {
             return(Json(new { error = "Error Al hacer la Cadena De Cancelacion", Message = Cancelar.MensajeDeError }, JsonRequestBehavior.AllowGet));
         }
     }
     catch (Exception ex) {
         return(Json(new { error = "error", Message = ex.Message }, JsonRequestBehavior.AllowGet));
     }
 }