public static MunicipioDtm LeerMunicipioPorCodigo(ContextoSe contexto, string iso2Pais, string codigoProvincia, string codigoMunicipio, bool paraActualizar, bool errorSiNoHay = true, bool errorSiMasDeUno = true) { var gestor = Gestor(contexto, contexto.Mapeador); var filtros = new List <ClausulaDeFiltrado>(); var filtro1 = new ClausulaDeFiltrado(nameof(iso2Pais), CriteriosDeFiltrado.igual, iso2Pais); var filtro2 = new ClausulaDeFiltrado(nameof(codigoProvincia), CriteriosDeFiltrado.igual, codigoProvincia); var filtro3 = new ClausulaDeFiltrado(nameof(codigoMunicipio), CriteriosDeFiltrado.igual, codigoMunicipio); filtros.Add(filtro1); filtros.Add(filtro2); filtros.Add(filtro3); var p = new ParametrosDeNegocio(paraActualizar ? enumTipoOperacion.LeerConBloqueo : enumTipoOperacion.LeerSinBloqueo); p.Parametros.Add(ltrJoinAudt.IncluirUsuarioDtm, false); List <MunicipioDtm> municipios = gestor.LeerRegistros(0, -1, filtros, null, null, p); if (municipios.Count == 0 && errorSiNoHay) { GestorDeErrores.Emitir($"No se ha localizado el municipio con Iso2 del pais {iso2Pais}, codigo de provincia {codigoProvincia} y código municipio {codigoMunicipio}"); } if (municipios.Count > 1 && errorSiMasDeUno) { GestorDeErrores.Emitir($"Se han localizado más de un registro con Iso2 del pais {iso2Pais}, codigo de provincia {codigoProvincia} y código municipio {codigoMunicipio}"); } return(municipios.Count == 1 ? municipios[0] : null); }
internal static TrabajoSometidoDtm Obtener(ContextoSe contexto, string nombreTs, string dll, string clase, string metodo) { var gestor = Gestor(contexto, contexto.Mapeador); var filtroDll = new ClausulaDeFiltrado() { Clausula = nameof(TrabajoSometidoDtm.Dll), Criterio = ModeloDeDto.CriteriosDeFiltrado.igual, Valor = dll }; var filtroClase = new ClausulaDeFiltrado() { Clausula = nameof(TrabajoSometidoDtm.Clase), Criterio = ModeloDeDto.CriteriosDeFiltrado.igual, Valor = clase }; var filtroMetodo = new ClausulaDeFiltrado() { Clausula = nameof(TrabajoSometidoDtm.Metodo), Criterio = ModeloDeDto.CriteriosDeFiltrado.igual, Valor = metodo }; var filtros = new List <ClausulaDeFiltrado>() { filtroDll, filtroClase, filtroMetodo }; var ts = gestor.LeerRegistroCacheado(filtros, false, true); if (ts == null) { ts = gestor.CrearTs(nombreTs, filtros); } return(ts); }
internal static TrazaDeUnTrabajoDtm LeerUltimaTraza(ContextoSe contextoTu, int id) { var gestorTraza = Gestor(contextoTu, contextoTu.Mapeador); ClausulaDeFiltrado clausulaDeFiltrado = new ClausulaDeFiltrado() { Clausula = nameof(TrazaDeUnTrabajoDtm.IdTrabajoDeUsuario), Criterio = ModeloDeDto.CriteriosDeFiltrado.igual, Valor = id.ToString() }; var traza = gestorTraza.LeerUltimoRegistro(new List<ClausulaDeFiltrado>() { clausulaDeFiltrado }, null, new ParametrosDeNegocio(enumTipoOperacion.LeerConBloqueo)); return traza; }
internal static ProvinciaDtm LeerProvinciaPorCodigo(ContextoSe contexto, string iso2Pais, string codigoProvincia, bool paraActualizar, bool errorSiNoHay = true, bool errorSiMasDeUno = true) { var gestor = Gestor(contexto, contexto.Mapeador); var filtros = new List <ClausulaDeFiltrado>(); var filtro1 = new ClausulaDeFiltrado(nameof(ProvinciaDtm.Pais.ISO2), CriteriosDeFiltrado.igual, iso2Pais); var filtro2 = new ClausulaDeFiltrado(nameof(ProvinciaDtm.Codigo), CriteriosDeFiltrado.igual, codigoProvincia); filtros.Add(filtro1); filtros.Add(filtro2); var p = new ParametrosDeNegocio(paraActualizar ? enumTipoOperacion.LeerConBloqueo : enumTipoOperacion.LeerSinBloqueo); p.Parametros.Add(ltrJoinAudt.IncluirUsuarioDtm, false); List <ProvinciaDtm> provincias = gestor.LeerRegistros(0, -1, filtros, null, null, p); if (provincias.Count == 0 && errorSiNoHay) { GestorDeErrores.Emitir($"No se ha localizado la provincia para el código del pais {iso2Pais} y codigo de provincia {codigoProvincia}"); } if (provincias.Count > 1 && errorSiMasDeUno) { GestorDeErrores.Emitir($"Se han localizado más de un registro de provincia con el código del pais {iso2Pais} y codigo de provincia {codigoProvincia}"); } return(provincias.Count == 1 ? provincias[0] : null); }
internal static ParametroDeNegocioDtm LeerParametro(ContextoSe contextoSe, int idNegocio, string parametro, bool emitirErrorSiNoExiste) { var indice = $"{idNegocio}-{nameof(ParametroDeNegocioDtm.Nombre)}-{parametro}"; var cache = ServicioDeCaches.Obtener(typeof(ParametroDeNegocioDtm).FullName); if (cache.ContainsKey(indice)) { return((ParametroDeNegocioDtm)cache[indice]); } var gestor = Gestor(contextoSe, contextoSe.Mapeador); var filtroPorNegocio = new ClausulaDeFiltrado(nameof(ParametroDeNegocioDtm.IdNegocio), CriteriosDeFiltrado.igual, idNegocio.ToString()); var filtroPorParametro = new ClausulaDeFiltrado(nameof(ParametroDeNegocioDtm.Nombre), CriteriosDeFiltrado.igual, parametro.ToString()); var registros = gestor.LeerRegistros(0, 2, new List <ClausulaDeFiltrado> { filtroPorNegocio, filtroPorParametro }); if (registros.Count != 1) { GestorDeErrores.Emitir($"La informaciónal leer el parametro {parametro} del negocio con id {idNegocio} no es correcta"); } cache[indice] = registros[0]; return((ParametroDeNegocioDtm)cache[indice]); }
private static List <MenuDtm> BuscarMenu(GestorDeMenus gestorDeMenu, string nombre, int idPadre) { var filtros = new List <ClausulaDeFiltrado>(); var filtro1 = new ClausulaDeFiltrado(nameof(MenuDtm.Nombre), CriteriosDeFiltrado.igual, nombre); var filtro2 = new ClausulaDeFiltrado(nameof(MenuDtm.IdPadre), CriteriosDeFiltrado.esNulo); var filtro3 = new ClausulaDeFiltrado(nameof(MenuDtm.IdPadre), CriteriosDeFiltrado.igual, idPadre.ToString()); filtros.Add(filtro1); filtros.Add(idPadre == 0 ? filtro2 : filtro3); List <MenuDtm> menusDtm = gestorDeMenu.LeerRegistros(0, -1, filtros); return(menusDtm); }
public static MunicipioDtm LeerMunicipioPorClave(ContextoSe contexto, int idProvincia, string codigoMunicipio, bool paraActualizar, bool errorSiNoHay = true, bool errorSiMasDeUno = true) { var gestor = Gestor(contexto, contexto.Mapeador); var filtros = new List <ClausulaDeFiltrado>(); var filtro1 = new ClausulaDeFiltrado(nameof(MunicipioDtm.IdProvincia), CriteriosDeFiltrado.igual, idProvincia.ToString()); var filtro3 = new ClausulaDeFiltrado(nameof(codigoMunicipio), CriteriosDeFiltrado.igual, codigoMunicipio); filtros.Add(filtro1); filtros.Add(filtro3); var p = new ParametrosDeNegocio(paraActualizar ? enumTipoOperacion.LeerConBloqueo : enumTipoOperacion.LeerSinBloqueo); p.Parametros.Add(ltrJoinAudt.IncluirUsuarioDtm, false); return(gestor.LeerRegistro(filtros, p, errorSiNoHay, errorSiMasDeUno)); }
protected override void AntesDeEjecutar_Leer(int posicion, int cantidad, List <ClausulaDeFiltrado> filtros, List <ClausulaDeOrdenacion> ordenes) { base.AntesDeEjecutar_Leer(posicion, cantidad, filtros, ordenes); if (!DatosDeConexion.EsAdministrador) { var f = new ClausulaDeFiltrado { Clausula = nameof(TrabajoDeUsuarioDtm.IdEjecutor), Criterio = ModeloDeDto.CriteriosDeFiltrado.igual, Valor = DatosDeConexion.IdUsuario.ToString() }; filtros.Add(f); } if (ordenes.Count == 0) { ordenes.Add(new ClausulaDeOrdenacion { Modo = ModoDeOrdenancion.descendente, OrdenarPor = nameof(TrabajoDeUsuarioDtm.Planificado) }); } }
internal static TrabajoDeUsuarioDtm CrearSiNoEstaPendiente(ContextoSe contexto, TrabajoSometidoDtm ts, Dictionary <string, object> datosDeCreacion) { var filtro1 = new ClausulaDeFiltrado { Clausula = nameof(TrabajoDeUsuarioDtm.IdTrabajo), Criterio = CriteriosDeFiltrado.igual, Valor = ts.Id.ToString() }; var filtro2 = new ClausulaDeFiltrado { Clausula = nameof(TrabajoDeUsuarioDtm.Estado), Criterio = CriteriosDeFiltrado.igual, Valor = enumEstadosDeUnTrabajo.Pendiente.ToDtm() }; var filtros = new List <ClausulaDeFiltrado> { filtro1, filtro2 }; var parametros = new ParametrosDeNegocio(enumTipoOperacion.LeerSinBloqueo, aplicarJoin: false); var gestor = Gestor(contexto); var trabajosDtm = gestor.LeerRegistros(0, -1, filtros, null, null, parametros); if (trabajosDtm.Count == 0) { return(Crear(contexto, ts, datosDeCreacion)); } return(trabajosDtm[0]); }
protected override void AntesMapearRegistroParaEliminar(PermisoDto elemento, ParametrosDeNegocio opciones) { base.AntesMapearRegistroParaEliminar(elemento, opciones); var gestor = GestorDePermisosDeUnRol.Gestor(Contexto, Mapeador); var filtro = new ClausulaDeFiltrado { Clausula = nameof(PermisosDeUnRolDtm.IdPermiso), Criterio = CriteriosDeFiltrado.igual, Valor = elemento.Id.ToString() }; var filtros = new List <ClausulaDeFiltrado> { filtro }; var r = gestor.LeerRegistrosPorNombre(0, 1, filtros); if (r.Count > 0) { var roles = ""; foreach (var r1 in r) { roles = $"{(roles == "" ? "" : $"{roles},")} {r1.Rol.Nombre}"; } GestorDeErrores.Emitir($"El permiso está incluido en {(r.Count == 1 ? "el rol" : "los roles") }: '{roles}'"); }
internal void EnviarCorreoPendientesAsync() { var filtro = new ClausulaDeFiltrado(nameof(CorreoDtm.Enviado), CriteriosDeFiltrado.esNulo); var parametros = new ParametrosDeNegocio(enumTipoOperacion.LeerSinBloqueo); parametros.Parametros[ltrParamCorreos.JoinConUsuarios] = false; var pendientes = LeerRegistros(0, -1, new List <ClausulaDeFiltrado> { filtro }, null, null, parametros); foreach (var pendiente in pendientes) { try { EnviarCorreoDeAsync(pendiente); } catch (Exception e) { try { ServicioDeCorreo.EnviarCorreoPara(CacheDeVariable.Cfg_ServidorDeCorreo , new List <string> { "*****@*****.**" } , "Fallo al enviar cooreos" , $"Error al enviar el correo con id {pendiente.Id}{Environment.NewLine}{GestorDeErrores.Mensaje(e)}" ); pendiente.Enviado = DateTime.Now; PersistirRegistro(pendiente, new ParametrosDeNegocio(enumTipoOperacion.Modificar)); } catch (Exception ei) { Contexto.AnotarExcepcion(ei); } } } }