예제 #1
0
        public List <Usuario> UsuariosQueAdministranElArea(int id_area)
        {
            var            repo_usuarios       = new RepositorioDeUsuarios(conexion, RepositorioDePersonas.NuevoRepositorioDePersonas(conexion));;
            var            permisos            = this.Obtener();
            List <Usuario> usuariosEncontrados = permisos.FindAll(p => p.Value == id_area).Select(p => repo_usuarios.GetUsuarioPorId(p.Key)).ToList();

            return(usuariosEncontrados);
        }
예제 #2
0
        public bool RecuperarUsuario(string criterio)
        {
            var repo_personas          = RepositorioDePersonas.NuevoRepositorioDePersonas(this.conexion);
            var repo_usuarios          = new RepositorioDeUsuarios(this.conexion, repo_personas);
            var validador_datos        = new Validador();
            var criterio_deserializado = (JObject)JsonConvert.DeserializeObject(criterio);

            if (criterio_deserializado["Mail"] != null)
            {
                string  mail = (string)((JValue)criterio_deserializado["Mail"]);
                Usuario usuario_a_recuperar = repo_usuarios.RecuperarUsuario(mail);
                if (usuario_a_recuperar.Id == 0)
                {
                    return(false);
                }

                EnviarMailDeRecupero(usuario_a_recuperar, mail);
                return(true);
            }
            return(false);
        }
예제 #3
0
        public int crearAlerta(string titulo, string descripcion, int id_usuario_destinatario, int id_usuario_creador)
        {
            var parametros = new Dictionary <string, object>();

            parametros.Add("@id_usuario_destinatario", id_usuario_destinatario);
            parametros.Add("@id_usuario_creador", id_usuario_creador);
            parametros.Add("@titulo", titulo);
            parametros.Add("@descripcion", descripcion);

            var id_alerta     = Int32.Parse((this.conexion.EjecutarEscalar("dbo.MAU_CrearAlerta", parametros).ToString()));
            var repo_personas = RepositorioDePersonas.NuevoRepositorioDePersonas(this.conexion);
            var repo_usuarios = new RepositorioDeUsuarios(this.conexion, repo_personas);

            var usuario = repo_usuarios.GetUsuarioPorId(id_usuario_destinatario);

            var titulo_mail = titulo;
            var cuerpo      = descripcion;

            EnviadorDeMails.EnviarMail(usuario.MailRegistro, titulo_mail, cuerpo);

            return(id_alerta);
        }
예제 #4
0
        public List <Usuario> UsuariosConLaFuncionalidad(int id_funcionalidad)
        {
            RepositorioDeUsuarios repositorioDeUsuarios = new RepositorioDeUsuarios(conexion, RepositorioDePersonas.NuevoRepositorioDePersonas(conexion));

            return(this.Obtener().FindAll(p => p.Value == id_funcionalidad).Select(p => repositorioDeUsuarios.GetUsuarioPorId(p.Key)).ToList());
        }
예제 #5
0
        public bool RegistrarNuevoUsuario(AspiranteAUsuario aspirante, int id_usuario_logueado)
        {
            var repo_personas = RepositorioDePersonas.NuevoRepositorioDePersonas(this.conexion);
            var repo_usuarios = new RepositorioDeUsuarios(this.conexion, repo_personas);

            //if (repo_personas.BuscarPersonas(JsonConvert.SerializeObject(new { Documento=aspirante.Documento, ConLegajo=true})).Count > 0)
            //{
            //    throw new Exception("Ya hay alguien registrado con su documento.");
            //}

            //Se agrega la restricción del mail para que sea único
            if (repo_usuarios.ValidarMailExistente(aspirante.Email))
            {
                //throw new Exception("Ya hay alguien registrado con su Mail.");
                return(false);
            }

            //VALIDA QUE SI TIENE UN DOCUMENTO YA EN LA BASE Y TIENE UN USUARIO ASIGNADO NO PUEDE.
            if (repo_personas.BuscarPersonasConUsuario(JsonConvert.SerializeObject(new { Documento = aspirante.Documento })))
            {
                return(false);
            }

            if (aspirante.Nombre.Trim() == "")
            {
                throw new Exception("El nombre no puede ser vacío.");
            }
            if (aspirante.Apellido.Trim() == "")
            {
                throw new Exception("El apellido no puede ser vacío.");
            }

            var persona = new Persona();

            persona.Documento = aspirante.Documento;
            persona.Nombre    = aspirante.Nombre;
            persona.Apellido  = aspirante.Apellido;

            repo_personas.GuardarPersona(persona, id_usuario_logueado);


            var usuario = repositorio_usuarios.CrearUsuarioPara(persona.Id);

            repositorio_usuarios.AsociarUsuarioConMail(usuario, aspirante.Email);
            var clave = repositorio_usuarios.ResetearPassword(usuario.Id);
            //mandarla por mail
            var titulo = "Bienvenido al SIGIRH";
            var cuerpo = "Usted ha registrado en la página https://rrhh.desarrollosocial.gob.ar/" +
                         "<br/>" +
                         "Los datos para poder acceder a la misma son los siguientes:" +
                         "<br/>" +
                         "<br/>" +
                         "Nombre de Usuario: " + usuario.Alias +
                         "<br/>" +
                         "Contraseña: " + clave +
                         "<br/>" +
                         "<br/>" +
                         "Este es un mensaje automático enviado desde el Sistema SIGIRH, por favor no responda al mismo." +
                         "<br/>" +
                         "Cualquier inquietud comuníquese con la Dirección de Diseño y Desarrollo Organizacional para la Gestión de Personas." +
                         "del Ministerio de Desarrollo Social de la Nación Argentina." +
                         "<br/>" +
                         "<br/>" +
                         "Muchas gracias";



            EnviadorDeMails.EnviarMail(aspirante.Email, titulo, cuerpo);
            return(true);
        }