溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

錄播教室預(yù)約系統(tǒng)(十一)-客戶端獲取本單位的所有教室

發(fā)布時間:2020-03-27 10:34:35 來源:網(wǎng)絡(luò) 閱讀:416 作者:明月穿潭 欄目:編程語言

錄播教室預(yù)約系統(tǒng)(十一)-客戶端獲取本單位的所有教室

客戶端用戶登陸后,在主界面中可以看到本單位的所有教室,我們來看一下是如何獲取的:

客戶端代碼:

錄播教室預(yù)約系統(tǒng)(十一)-客戶端獲取本單位的所有教室

   //根據(jù)用戶獲取功能教室列表
        private void GetRooms(Users user)
        { 
            //把當(dāng)前用戶信息發(fā)送個服務(wù)器端,并獲取到本用戶相關(guān)的教室列表 
            RoomList roomList = newTcpConnection.SendReceiveObject<RoomList>("GetRooms", "RoomList", 5000, user);

            IList<Cla***oom>  cla***omms= roomList.Cla***ooms;

            listBox1.DataSource = cla***omms;

            listBox1.DisplayMember = "RoomName";
            listBox1.ValueMember = "ID";
                     
        }

錄播教室預(yù)約系統(tǒng)(十一)-客戶端獲取本單位的所有教室

RoomList類 (可由protobuf.net 序列化)

錄播教室預(yù)約系統(tǒng)(十一)-客戶端獲取本單位的所有教室

 //根據(jù)單位名稱獲取功能室列表    [ProtoContract]    public class RoomList
    {
        [ProtoMember(1)]        public IList<Cla***oom> Cla***ooms;        public RoomList() { }        public RoomList(IList<Cla***oom> rooms)
        {            this.Cla***ooms = rooms;
        }
  
    }

錄播教室預(yù)約系統(tǒng)(十一)-客戶端獲取本單位的所有教室

服務(wù)器端的處理方法:

在構(gòu)造函數(shù)中聲明:

  //根據(jù)用戶的單位,獲取所有功能教室 列表
            NetworkComms.AppendGlobalIncomingPacketHandler<Users>("GetRooms", HandleGetRooms);

處理方法:

錄播教室預(yù)約系統(tǒng)(十一)-客戶端獲取本單位的所有教室

  private void HandleGetRooms(PacketHeader header, Connection connection, Users theUser)
        {
            IList<Cla***oom> theRooms = DoCla***oom.GetCla***oomByUserDep(theUser.Department);

            RoomList roomList = new RoomList(theRooms);            //把獲取到的數(shù)據(jù)發(fā)回去
            connection.SendObject("RoomList", roomList);
        }

錄播教室預(yù)約系統(tǒng)(十一)-客戶端獲取本單位的所有教室

DoCla***oom.GetCla***oomByUserDep方法

錄播教室預(yù)約系統(tǒng)(十一)-客戶端獲取本單位的所有教室

 //根據(jù)用戶單位獲取單位的功能教室列表
        public static IList<Cla***oom> GetCla***oomByUserDep(string depName)
        {
            IDataReader reader = DBCla***oom.GetCla***oomByDepName(depName);            return LoadListFromReader(reader);
        }

錄播教室預(yù)約系統(tǒng)(十一)-客戶端獲取本單位的所有教室

錄播教室預(yù)約系統(tǒng)(十一)-客戶端獲取本單位的所有教室 LoadListFromReader方法

DBCla***oom.GetCla***oomByDepName方法

錄播教室預(yù)約系統(tǒng)(十一)-客戶端獲取本單位的所有教室

 //根據(jù)單位名稱獲取功能教師列表

        public static IDataReader GetCla***oomByDepName(string  department)
        { 

            SqlParameterHelper sph = new SqlParameterHelper(GetWriteConnectionString(), "Cla***oom_SelectCla***oomByDepName", 1);
         
            sph.DefineSqlParameter("@Department", SqlDbType.NVarChar, 200, ParameterDirection.Input, department);            return  sph.ExecuteReader();
         

        }

錄播教室預(yù)約系統(tǒng)(十一)-客戶端獲取本單位的所有教室

相關(guān)存儲過程:

錄播教室預(yù)約系統(tǒng)(十一)-客戶端獲取本單位的所有教室

CREATE PROCEDURE [dbo].Cla***oom_SelectCla***oomByDepName

@Department nvarchar(200)

AS


SELECT
        [Id],
        [RoomName],
        [DepID],
        [Department]
        
FROM
        [dbo].[Cla***oom] where Department=@Department

錄播教室預(yù)約系統(tǒng)(十一)-客戶端獲取本單位的所有教室

 


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI