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