Exemple #1
0
        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;
 }
Exemple #4
0
        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);
        }
Exemple #5
0
        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]);
        }
Exemple #6
0
        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);
        }
Exemple #7
0
        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)
         });
     }
 }
Exemple #9
0
        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);
                    }
                }
            }
        }