コード例 #1
0
        public override string Transformar(TRANSFORMACION_CAMPO entidadTransformacion, Mensaje mensaje)
        {
            List<PARAMETRO_TRANSFORMACION_CAMPO> listaParametros = entidadTransformacion.PARAMETRO_TRANSFORMACION_CAMPO.ToList();

            StringBuilder concatenacion = new StringBuilder();

            foreach (PARAMETRO_TRANSFORMACION_CAMPO parametro in listaParametros)
            {
                EnumTipoParametroTransformacionCampo tipoParametroTransformacion = (EnumTipoParametroTransformacionCampo)
                                Enum.ToObject(typeof(EnumTipoParametroTransformacionCampo), parametro.PTC_TIPO);

                Campo campoOrigen = mensaje.Campo(parametro.CAMPO);

                Valor cadenaBuscar = campoOrigen.ValorCuerpo.SubValor(parametro.PTC_POSICION_INICIAL.Value-1, parametro.PTC_LONGITUD.Value);
                string cadenaConcatenar = null;

                switch (tipoParametroTransformacion)
                {
                    case EnumTipoParametroTransformacionCampo.Tabla:
                        cadenaConcatenar = FactoryDa.ValorTabla(parametro.TABLA.TBL_NOMBRE, parametro.COLUMNA_ORIGEN.COL_NOMBRE, parametro.COLUMNA_DESTINO.COL_NOMBRE, cadenaBuscar.Dato.ToString());
                        //TablaDA.ObtenerValorTabla
                        break;
                    case EnumTipoParametroTransformacionCampo.CampoOrigen:
                        cadenaConcatenar = cadenaBuscar.Dato.ToString();
                        break;
                    default:
                        break;
                }
                concatenacion.Append(cadenaConcatenar ?? "").Append(separador);

            }

            return TransformacionEspecifica(entidadTransformacion,concatenacion.ToString());
        }
コード例 #2
0
 public DinamicaDeMensaje(Dinamica dinamica, Mensaje mensaje, IEnumerable<PASO_DINAMICA> listaPasos)
 {
     this.continuar = true;
     this.dinamica = dinamica;
     this.Mensaje = mensaje;
     CrearNodos(listaPasos);
 }
コード例 #3
0
        public override EnumResultadoPaso EjecutarPaso(Mensaje mensajeOrigen)
        {
            foreach (CRIPTOGRAFIA_CAMPO entidadCriptografiaCampo in this.entidad.CRIPTOGRAFIA_CAMPO)
            {
                CriptografiaCampo criptografiaCampo = new CriptografiaCampo(mensajeOrigen, entidadCriptografiaCampo);
                Campo campo = mensajeOrigen.Campo(entidadCriptografiaCampo.CAMPO_RESULTADO);
                campo.ValorCuerpo = new Caracter(ValorPorTipoCriptografia(criptografiaCampo, campo));
            }

            return EnumResultadoPaso.Correcto;
        }
コード例 #4
0
        public GrupoMensaje Build()
        {
            var grupoMensaje = new Mock<GrupoMensaje>();
            grupoMensaje.SetupProperty(x => x.CamposMaestro);
            grupoMensaje.Object.CamposMaestro = camposMaestro;

            var mensaje = new Mensaje { Campos = campos };
            if (valoresSelector == null)
                grupoMensaje.Setup(x => x.MensajePorSelector(It.IsAny<List<string>>())).Returns(mensaje);
            else
                grupoMensaje.Setup(x => x.MensajePorSelector(valoresSelector)).Returns(mensaje);

            return grupoMensaje.Object;
        }
コード例 #5
0
        public CriptografiaCampo(Mensaje mensaje, CRIPTOGRAFIA_CAMPO criptografiaCampo)
        {
            this.llave1 = Llave.ValorLlave(mensaje, criptografiaCampo.CRC_LLAVE_1
                , criptografiaCampo.CAMPO_LLAVE_1, criptografiaCampo.CRC_TIPO_LLAVE_1);

            this.segundaLlave = criptografiaCampo.CRC_SEGUNDA_LLAVE;

            if (segundaLlave)
            {
                this.llave2 = Llave.ValorLlave(mensaje, criptografiaCampo.CRC_LLAVE_2
                    , criptografiaCampo.CAMPO_LLAVE_2, criptografiaCampo.CRC_TIPO_LLAVE_2.Value);
                this.operacionLlave = (EnumOperacionLlave)Enum.ToObject(typeof(EnumOperacionLlave), criptografiaCampo.CRC_OPERACION_LLAVE);
            }
            this.algoritmo = (EnumAlgoritmo)Enum.ToObject(typeof(EnumAlgoritmo), criptografiaCampo.CRC_ALGORITMO);
        }
コード例 #6
0
 public override string Transformar(TRANSFORMACION_CAMPO entidadTransformacion, Mensaje mensaje)
 {
     EnumFuncionalidadEstandar funcionalidadEstandar = (EnumFuncionalidadEstandar)
                         Enum.ToObject(typeof(EnumFuncionalidadEstandar), entidadTransformacion.TCM_FUNCIONALIDAD_ESTANDAR.Value);
     switch (funcionalidadEstandar)
     {
         case EnumFuncionalidadEstandar.Fecha_DDMMYYYY:
             return SystemTime.Now().ToString("ddMMyyyy");
         case EnumFuncionalidadEstandar.Fecha_HHMM:
             return SystemTime.Now().ToString("HHmm");
         case EnumFuncionalidadEstandar.Llave_Maestra:
             throw new NotImplementedException("No se implementa funcionalidad por Llave Maestra");
         default:
             throw new NotImplementedException("Se ha producido un error");
     }
 }
コード例 #7
0
        public EnumResultadoPaso Validar(PASO_DINAMICA pasodinamica, Mensaje mensaje)
        {
            GRUPO_VALIDACION grupo = ObtenerGrupoValidacionPorPasoDinamica(pasodinamica);

            List<VALIDACION_CAMPO> listaVCampo = grupo.VALIDACION_CAMPO.ToList();

            foreach (VALIDACION_CAMPO vcampo in listaVCampo)
            {
                Valor valor = mensaje.Campo(vcampo.CAMPO).ValorCuerpo;
                bool pasaValidacion = validacionCampo.Validar(vcampo, valor); ;

                if (!pasaValidacion)
                    break;
            }
            return EnumResultadoPaso.Correcto;
        }
コード例 #8
0
        public override EnumResultadoPaso EjecutarPaso(Mensaje mensajeOrigen)
        {
            EnumTipoMensaje tipo = (EnumTipoMensaje)
                    Enum.ToObject(typeof(EnumTipoMensaje), this.Entidad.MENSAJE_DESTINO.GRUPO_MENSAJE.TIPO_MENSAJE.TMJ_CODIGO);

            Mensaje mensajeDestino = Mensaje.CrearMensaje(tipo);

            foreach (TRANSFORMACION_CAMPO entidadTransformacionCampo in this.Entidad.TRANSFORMACION_CAMPO.ToList())
            {
                TransformacionCampo transformacionCampo = TransformacionCampo(entidadTransformacionCampo);
                Caracter trama = new Caracter(transformacionCampo.Transformar(entidadTransformacionCampo, mensajeOrigen));
                mensajeDestino.AgregarCuerpo(entidadTransformacionCampo.CAMPO_DESTINO, null, trama);
            }

            DinamicaMensaje.Mensaje = mensajeDestino;
            return EnumResultadoPaso.Correcto;
        }
コード例 #9
0
        public Valor ValorLlave(Mensaje mensaje, string llaveFija, CAMPO campo, int tipoLlave)
        {
            EnumTipoLlave tipoTransformacion = (EnumTipoLlave)
                Enum.ToObject(typeof(EnumTipoLlave), tipoLlave);

            switch (tipoTransformacion)
            {
                //TODO: Falta implementar WorkingKey
                case EnumTipoLlave.WorkingKey:
                    throw new NotImplementedException("No funciona WorkingKey");
                case EnumTipoLlave.Campo:
                    return mensaje.Campo(campo).ValorCuerpo;
                case EnumTipoLlave.LlaveFija:
                    return new Caracter(llaveFija);
                default:
                    throw new Exception("Error: Llave - ValorLlave");
            }
        }
コード例 #10
0
 public override EnumResultadoPaso EjecutarPaso(Mensaje mensajeOrigen)
 {
     return this.validacion.Validar(paso, mensajeOrigen);
 }
コード例 #11
0
 public abstract EnumResultadoPaso EjecutarPaso(Mensaje mensajeOrigen);
コード例 #12
0
 public abstract byte[] Convertir(Mensaje mensaje);
コード例 #13
0
 public override String Transformar(TRANSFORMACION_CAMPO entidadTransformacion, Mensaje mensaje)
 {
     return entidadTransformacion.TCM_VALOR_CONSTANTE;
 }
コード例 #14
0
        public override byte[] Convertir(Mensaje mensaje)
        {
            byte[] trama=new byte[mensaje.Longitud];

            for (int i = 0; i < mensaje.NroCampos; i++)
            {
                Campo campo = mensaje[i];
                if (campo.Variable)
                {
                    Buffer.BlockCopy(campo.ValorCabecera.ToByte(), 0, trama, 0, campo.ValorCabecera.Longitud);
                }

                Buffer.BlockCopy(campo.ValorCuerpo.ToByte(), 0, trama, 0, campo.ValorCuerpo.Longitud);
            }

            return trama;
        }
コード例 #15
0
        public override byte[] Convertir(Mensaje mensaje)
        {
            StringBuilder palabra = new StringBuilder("");
            int nroCampos = mensaje.NroCampos;
            for (int i = 0; i < nroCampos; i++)
            {
                Campo campo = mensaje[i];
                String tagInicio = "<" + campo.Nombre + ">";
                String tagFinal = "</" + campo.Nombre + ">";
                palabra.Append(tagInicio);
                palabra.Append(campo.ValorCabecera);
                palabra.Append(tagFinal);
            }

            return Codificador.Codificacion(palabra.ToString());
        }