public int CrearUsuario(Usuario usuario) { int idGenerado = 0; string connectionString = ConfigurationManager.AppSettings["ConnectionString"].ToString(); Engine engine = new Engine(connectionString); StringBuilder comando = new StringBuilder(); comando.Append("insert into usuarios "); comando.Append(" (nombres, apellido1, apellido2, usuario, telefono, email, usuarioAlta, fechaAlta) "); comando.Append(" values "); comando.Append(" ('" + usuario.Nombres + "','" + usuario.ApellidoPrimero + "','" + usuario.ApellidoSegundo + "','" + usuario.Login + "','" + usuario.Telefono + "','" + usuario.Email + "',1, NOW() ) "); int resultado = engine.Execute(comando.ToString()); if (resultado > 0) { idGenerado = CommonService.GetLastIdFromTable("usuarios"); CrearCredencialesUsuario(idGenerado, usuario.Password); } return(idGenerado); }
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); }