Ejemplo n.º 1
0
        protected override void DespuesDePersistir(CodigoPostalDtm registro, ParametrosDeNegocio parametros)
        {
            base.DespuesDePersistir(registro, parametros);
            if (parametros.Operacion == enumTipoOperacion.Insertar)
            {
                //relacionar con la provincia usando los dos primeros caractéres
                var gestorProvincias = GestorDeProvincias.Gestor(Contexto, Contexto.Mapeador);
                var provinciaDtm     = gestorProvincias.LeerRegistro(nameof(ProvinciaDtm.Codigo), registro.Codigo.PadLeft(5, '0').Substring(0, 2), errorSiNoHay: true, errorSiHayMasDeUno: true, traqueado: false, conBloqueo: false, aplicarJoin: false);
                GestorDeCpsDeUnaProvincia.CrearRelacion(Contexto, registro, provinciaDtm);

                //relacionar con el municipio usando lo indicado en los parámetros
                if (parametros.Parametros.ContainsKey(nameof(MunicipioDtm)))
                {
                    var municipioDtm = (MunicipioDtm)parametros.Parametros[nameof(MunicipioDtm)];
                    GestorDeCpsDeUnMunicipio.CrearRelacion(Contexto, registro, municipioDtm);
                }
            }
        }
Ejemplo n.º 2
0
        private static CodigoPostalDtm ProcesarCodigosPostales(EntornoDeTrabajo entorno, GestorDeCodigosPostales gestor, string provincia, string municipio, string cp, TrazaDeUnTrabajoDtm trazaInfDtm)
        {
            ParametrosDeNegocio operacion;
            var codigoPostalDtm = gestor.LeerRegistro(nameof(CodigoPostalDtm.Codigo), cp, errorSiNoHay: false, errorSiHayMasDeUno: true, traqueado: false, conBloqueo: false, aplicarJoin: false);

            if (codigoPostalDtm == null)
            {
                codigoPostalDtm        = new CodigoPostalDtm();
                codigoPostalDtm.Codigo = cp;
                operacion = new ParametrosDeNegocio(enumTipoOperacion.Insertar);
                entorno.ActualizarTraza(trazaInfDtm, $"Creando el codigo postal {cp}");
            }
            else
            {
                entorno.ActualizarTraza(trazaInfDtm, $"El codigo postal {cp} ya existe");
                GestorDeCpsDeUnMunicipio.CrearRelacionConMunicipioSiNoExiste(entorno.contextoDelProceso, codigoPostalDtm, "ES", provincia, municipio);
                return(codigoPostalDtm);
            }
            operacion.Parametros[ltrCps.NombreProvincia] = provincia;
            operacion.Parametros[ltrCps.NombreMunicipio] = municipio;
            return(gestor.PersistirRegistro(codigoPostalDtm, operacion));
        }