Ejemplo n.º 1
0
        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);
        }