public ActionResult RecibeDeclaracionFirmada(string data) { ResultadoViewModel resultado = null; try { ContribuyenteInfo contribuyente = this.ContribuyenteAutenticado(); string uriArchivoAcuse = string.Empty; var parametro = System.Web.Helpers.Json.Decode(data); string mensajeError; string rfc = contribuyente.Rfc; string idDeclaracion = parametro["idDeclaracion"]; string numeroCertificado = parametro["numeroCertificado"]; string firma = parametro["firma"]; string folioFirmado = parametro["folioStampCertificado"]; using (var declaracion = new Declaracion()) { uriArchivoAcuse = declaracion.RecibeDeclaracionFirmada( new Sat.DyP.Herramientas.Entidad.Declaracion.ReciboDeclaracionFirmada() { rfc = rfc, firma = firma, folioFirmado = folioFirmado, idDeclaracion = idDeclaracion, numeroCertificado = numeroCertificado }, out mensajeError); } if (string.IsNullOrEmpty(mensajeError)) { resultado = new ResultadoViewModel() { EsValido = true, Archivo = uriArchivoAcuse, Mensaje = "" }; } else { resultado = new ResultadoViewModel() { EsValido = false, Mensaje = mensajeError }; } } catch (Exception ex) { resultado = new ResultadoViewModel() { EsValido = false, Mensaje = "Se generó un error al recibir la declaración. Inténtelo nuevamente." }; RegistroEvento.Error(ref ex, CodigoEvento.ErrorNegocio, "DeclaracionController"); } var jsonResult = this.Json(resultado, JsonRequestBehavior.AllowGet); jsonResult.MaxJsonLength = int.MaxValue; return(jsonResult); }