Example #1
0
        public IHttpActionResult FanList(string user_id)       //返回粉丝列表
        {
            OracleConnection conn = new OracleConnection(DBAccess.connStr);

            try
            {
                conn.Open();
            }
            catch (Exception ex)
            {
                throw (ex);
            }

            OracleCommand cmd = new OracleCommand();

            cmd.Connection  = conn;
            cmd.CommandText = "select USER_ID from Follow_User where FOLLOWING_ID='" + user_id + "'";//找到所有关注此用户的ID

            OracleDataReader   rd            = cmd.ExecuteReader();
            List <User_Follow> followed_list = new List <User_Follow>();

            if (!rd.HasRows)
            {
                conn.Close();
                return(Ok("Not found"));
            }
            while (rd.Read())
            {
                string        followed_id = rd["USER_ID"].ToString();
                OracleCommand cmd1        = new OracleCommand();
                cmd1.CommandText = "select * from Users where ID='" + followed_id + "'";//根据ID查找用户的所有信息
                cmd1.Connection  = conn;

                OracleDataReader rd1 = cmd1.ExecuteReader();
                if (rd1.Read())
                {
                    User_Follow temp = new User_Follow();
                    temp.ID          = rd1["ID"].ToString();
                    temp.Email       = rd1["EMAIL"].ToString();
                    temp.Username    = rd1["USERNAME"].ToString();
                    temp.Bio         = rd1["BIO"].ToString();
                    temp.Photo       = rd1["PHOTO"].ToString();
                    cmd1.CommandText = "select * from Follow_User where USER_ID='" + user_id + "'and FOLLOWING_ID='" + followed_id + "'";
                    rd1 = cmd1.ExecuteReader();
                    if (rd1.HasRows)
                    {
                        temp.FollowState = "True";
                    }
                    else
                    {
                        temp.FollowState = "False";
                    }
                    followed_list.Add(temp);
                }
                rd1.Close();
            }
            rd.Close();
            conn.Close();
            return(Json <List <User_Follow> >(followed_list));
        }
Example #2
0
        public IHttpActionResult Search_user(string user_id, string keyword)
        {
            OracleConnection conn = new OracleConnection(DBAccess.connStr);

            try
            {
                conn.Open();
            }
            catch (Exception ex)
            {
                throw (ex);
            }
            OracleCommand cmd = new OracleCommand();

            cmd.CommandText = "select * from USERS where USERNAME like'%" + keyword + "%'";//查找匹配的字符串
            cmd.Connection  = conn;
            OracleDataReader   rd        = cmd.ExecuteReader();
            List <User_Follow> User_list = new List <User_Follow>();                                     //用户列表

            if (!rd.HasRows)
            {
                return(Ok("Not found"));
            }
            while (rd.Read())
            {
                User_Follow temp = new User_Follow();
                temp.ID    = rd["ID"].ToString();
                temp.Email = rd["EMAIL"].ToString();
                //temp.Password = rd["PASSWORD"].ToString();
                temp.Username = rd["USERNAME"].ToString();
                temp.Bio      = rd["BIO"].ToString();
                temp.Photo    = rd["PHOTO"].ToString();
                OracleCommand cmd1 = new OracleCommand();
                cmd1.CommandText = "select * from FOLLOW_USER where USER_ID='" + user_id + "'and FOLLOWING_ID='" + temp.ID + "'";
                cmd1.Connection  = conn;
                OracleDataReader rd1 = cmd1.ExecuteReader();
                if (!rd1.HasRows)
                {
                    temp.FollowState = "False";
                }
                else
                {
                    temp.FollowState = "True";
                }
                User_list.Add(temp);
            }
            rd.Close();
            conn.Close();
            return(Json <List <User_Follow> >(User_list));
        }
Example #3
0
        public IHttpActionResult GetLikeList(string email, string moment_id)
        {
            //todo:连接数据库
            DBAccess dBAccess = new DBAccess();

            //执行数据库select操作
            OracleDataReader rd = dBAccess.GetDataReader(" select u.* from FAVORITE f, USERS u where f.moment_id = '" + moment_id + "' and f.user_id = u.id  ");

            //创建Users对象List,并向其中添加读出的数据库信息
            List <User_Follow> resultList = new List <User_Follow>();

            //创建api对象
            GeneralAPI api = new GeneralAPI();

            while (rd.Read())  //当数据库能读出一条符合条件的元组,执行循环
            {
                User_Follow uf = new User_Follow();
                uf.ID       = rd["ID"].ToString();
                uf.Username = rd["USERNAME"].ToString();
                uf.Photo    = rd["PHOTO"].ToString();
                uf.Email    = rd["EMAIL"].ToString();
                uf.Bio      = rd["BIO"].ToString();
                string user_id      = api.EmailToUserID(email);
                int    follow_state = api.CheckFollowState(user_id, rd["ID"].ToString());
                if (follow_state == 0)//关注
                {
                    uf.FollowState = "true";
                }
                else//未关注
                {
                    uf.FollowState = "false";
                }

                resultList.Add(uf);
            }

            return(Json <List <User_Follow> >(resultList));//返回符合条件的Users列表
        }