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); } } }
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)); }