示例#1
0
        private void ImportarDatos(DeclaracionClasificador declaracion)
        {
            Dictionary <string, string> clasificadorParams = new Dictionary <string, string>();

            clasificadorParams.Add(RecursoClasificador.DiferenciaValidacionCFDI, ConfiguracionApp.AdaptadorCloud.RecuperarEntero(RecursoClasificador.DiferenciaValidacionCFDI).ToString());

            var idencriptado = declaracion.CodigoEncirptado(string.Empty);

            clasificadorParams.Add(RecursoClasificador.EjercicioParametro, declaracion.Ejercicio.ToString());
            clasificadorParams.Add(RecursoClasificador.PeriodoParametro, declaracion.Periodo.ToString());
            clasificadorParams.Add(RecursoClasificador.DeclaracionParametro, declaracion.Consecutivo.ToString());
            clasificadorParams.Add(RecursoClasificador.ParametroVistaPrevia, idencriptado);
            clasificadorParams.Add(RecursoClasificador.ParametroEsPMS, declaracion.EncriptadosParaDyP());

            ViewBag.parametrosClasificador = new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(clasificadorParams);
        }
示例#2
0
        public ActionResult Abrir(string id)
        {
            ActionResult vista      = this.View(RecursoClasificador.ParcialErrorEnPermisos);
            var          encabezado = new EncabezadoDypClasificador();

            try
            {
                ContribuyenteInfo contribuyente = this.ContribuyenteAutenticado();

                // TODO: Incluir la petición desde lugar referido
                // this.PeticionDesdeLugarReferido() :
                if (!string.IsNullOrEmpty(id) && contribuyente.Espms)
                {
                    DeclaracionClasificador declaracion = DeclaracionClasificadorComplementos.ObtenerDeclaracionDedeUrl(id);
                    var encriptador = new Sat.DyP.Herramientas.Encripcion.Encripcion();
                    var limpio      = encriptador.DesencriptaCadena(id, Sat.DyP.Herramientas.Encripcion.TipoEncripcion.Base64URL);

                    this.ImportarDatos(declaracion);

                    if (contribuyente.Rfc == declaracion.Rfc)
                    {
                        declaracion.ActualizarDeclaracionPorAbrirDeclaracion();

                        var  pago      = new DeterminacionPagoDyP();
                        var  respuesta = pago.ConsultarOpcPagoISREnClasificador(declaracion.Ejercicio, declaracion.Rfc);
                        bool ocisr     = string.IsNullOrEmpty(respuesta);

                        var idencriptado = declaracion.CodigoEncirptado(contribuyente.Token);
                        encabezado = declaracion.ObtenerEncabezado();
                        /********************************************************************************************************************/
                        var    parameters    = new Dictionary <int, Dictionary <string, string> >();
                        string IdDeclaracion = limpio.Split(',').Where(i => i.Contains("idd")).FirstOrDefault().Split(':')[1];
                        string IdReforma     = limpio.Split(',').Where(i => i.Contains("ref")).FirstOrDefault().Split(':')[1];

                        //if (limpio.Split(',').Where(i => i.Contains("redi")).FirstOrDefault() == null)
                        //{
                        //    vista = Redirect("VistaPrevia/" + encriptador.EncriptaCadena("r:" + declaracion.Rfc + ",idd:" + IdDeclaracion + ",ref:" + IdReforma + "redi:0", Sat.DyP.Herramientas.Encripcion.TipoEncripcion.Base64URL));
                        //}
                        //else
                        //{
                        parameters.Add(0, new Dictionary <string, string>()
                        {
                            { "NoReforma", IdReforma },
                            { "OpcionCalculoISR", ocisr ? "-1" : respuesta }
                        });

                        parameters.Add(1, new Dictionary <string, string>()
                        {
                            { "NoDeclaracion", IdDeclaracion },
                            { "presentaDeclaracion", "true" },
                            { "muestraOCISR", ocisr ? "1" : "0" }
                        });
                        /********************************************************************************************************************/

                        this.ViewBag.Info    = declaracion.ParametrosVistaPrevia(parameters);
                        ViewBag.idencriptado = idencriptado;
                        vista = View("VistaPrevia");
                        //}
                    }
                }
            }
            catch (Exception ex)
            {
                RegistroEvento.Error(ref ex, CodigoEvento.ErrorNegocio, RecursoClasificador.ErrorEnAutenticacion, null, null, origen: RecursoClasificador.ClasificadorOrigen);
            }

            TempData[TEMP_DATA_ENCABEZADO] = encabezado;
            return(vista);
        }