public Usuario GetUsuarioPorId(string id) { Usuario resultado = new Usuario(); string connectionString = ConfigurationManager.AppSettings["ConnectionString"].ToString(); Engine engine = new Engine(connectionString); string query = ""; query = string.Format("select Id,Nombres,Apellido1,Apellido2,Email,Telefono,Usuario from usuarios where Id = {0} and fechaBaja is NULL", id); DataTable table = engine.Query(query); if (table != null && table.Rows != null && table.Rows.Count > 0) { resultado.Id = int.Parse(table.Rows[0]["Id"].ToString()); resultado.Nombres = table.Rows[0]["Nombres"].ToString(); resultado.ApellidoPrimero = table.Rows[0]["Apellido1"].ToString(); resultado.ApellidoSegundo = table.Rows[0]["Apellido2"].ToString(); resultado.Email = table.Rows[0]["Email"].ToString(); resultado.Telefono = table.Rows[0]["Telefono"].ToString(); resultado.Login = table.Rows[0]["Usuario"].ToString(); FotografiaService fotografiaService = new FotografiaService(); resultado.Fotografias = fotografiaService.ObtenerFotosUsuario(resultado.Id); } return(resultado); }
public Usuario GetUsuarioAutenticado(string login, string password) { Usuario resultado = new Usuario(); resultado.Id = 0; string passwordHash = EncryptionService.MD5Hash(password); string connectionString = ConfigurationManager.AppSettings["ConnectionString"].ToString(); Engine engine = new Engine(connectionString); StringBuilder query = new StringBuilder(); query.Append("select "); query.Append(" usuarios.id, usuarios.usuario, usuarios.nombres, usuarios.apellido1, usuarios.apellido2, usuarios.telefono, usuarios.email, usuarios.fechaBaja, usuarios.idperfilusuario "); query.Append(" ,passwords.Password "); query.Append(" from usuarios "); query.Append(" inner join historicopasswords "); query.Append(" on usuarios.id = historicopasswords.idusuario "); query.Append(" inner join passwords "); query.Append(" on historicopasswords.id = passwords.idhistoricopassword "); query.Append(" where "); query.Append(" usuarios.Usuario = '" + login.ToLower().Trim() + "' "); DataTable table = engine.Query(query.ToString()); if (table != null && table.Rows != null && table.Rows.Count > 0) { bool passwordVigente = false; foreach (DataRow fila in table.Rows) { if (fila["fechabaja"].ToString().ToLower().Equals("") || fila["fechabaja"].ToString().ToLower().Equals("null")) { passwordVigente = true; if (fila["Password"].ToString().Trim().Equals(passwordHash)) { resultado.Id = int.Parse(fila["Id"].ToString()); resultado.Nombres = fila["Nombres"].ToString(); resultado.ApellidoPrimero = fila["Apellido1"].ToString(); resultado.ApellidoSegundo = fila["Apellido2"].ToString(); resultado.Login = fila["Usuario"].ToString(); resultado.Email = fila["Email"].ToString(); resultado.Telefono = fila["Telefono"].ToString(); if (fila["idperfilusuario"].ToString().Equals(ConfigurationManager.AppSettings["idPerfilAdministrador"].ToString())) { resultado.PerfilKey = ConfigurationManager.AppSettings["adminKey"].ToString(); } FotografiaService fotografiaService = new FotografiaService(); resultado.Fotografias = fotografiaService.ObtenerFotosUsuario(resultado.Id); resultado.Token = CommonService.GenerarToken(resultado.Login, fila["idperfilusuario"].ToString()); } else { resultado.IncidenciaUsuario = "Password incorrecto."; } } } if (!passwordVigente) { resultado.IncidenciaUsuario = "La cuenta tiene contraseña caducada. Contactar con el administrador."; } } else { resultado.IncidenciaUsuario = "No se ha encontrado Usuario con ese nombre de login."; } return(resultado); }