Beispiel #1
0
        /// <summary>
        /// 发起会话
        /// </summary>
        /// <param name="user"></param>
        /// <returns></returns>
        public async Task <CreateResult> Create(OnlineUserViewModel user)
        {
            if (!user.IsValid())
            {
            }

            user.ConnectionId = Context.ConnectionId;

            // 创建一个会议室
            var room = await _meetingRoomManager.CreateAsync(user.Nickname);

            if (room == null)
            {
                return(new CreateResult(null, false, "创建失败,请重试!"));
            }

            // 加入到在线会议室列表中
            var onlineRoom  = _onlineMeetingRoomManager.GetOrCreate(room.SessionCode);
            var participant = _mapper.Map <OnlineUserViewModel, Participant>(user);

            onlineRoom.Join(participant);
            _onlineMeetingRoomManager.AddOrUpdate(room.SessionCode, onlineRoom);

            // 把创建者加入到会议室中
            await Groups.AddToGroupAsync(user.ConnectionId, room.SessionCode);

            return(new CreateResult(room.SessionCode));
        }
Beispiel #2
0
 public JsonResult GetOnlineUserList(PagerInfo pageInfo)
 {
     return(ExecuteFunctionRun(() =>
     {
         DataTable dt = AppUtility.OnlineUserTable;
         int total = dt.Rows.Count;
         int startIndex = pageInfo.StartIndex - 1;
         int endIndex = pageInfo.EndIndex >= total ? total : pageInfo.EndIndex;
         List <OnlineUserViewModel> list = new List <OnlineUserViewModel>();
         for (int i = startIndex; i < endIndex; i++)
         {
             OnlineUserViewModel model = new OnlineUserViewModel()
             {
                 UserID = dt.Rows[i]["UserID"].ToString(),
                 UserName = dt.Rows[i]["UserAlias"].ToString(),
                 LoginTime = dt.Rows[i]["LoginTime"].ToString()
             };
             list.Add(model);
         }
         var gridData = new { Rows = list, Total = total };
         return Json(gridData, JsonRequestBehavior.AllowGet);
     }));
 }
Beispiel #3
0
 public static OnlineUser ToEntity(this OnlineUserViewModel entity)
 {
     return(entity.MapTo <OnlineUserViewModel, OnlineUser>());
 }
 public void SaveUserOnlineStatus(OnlineUserViewModel objentity)
 {
     _httpClient.PostData("User/SaveUserOnlineStatus", objentity);
 }