예제 #1
0
 public static bool JoinChatRoom(Guid ChatRoomID, HttpContext context,
                                 string alias)
 {
     if (!ChatManager.IsRoomFull(ChatRoomID))
     {
         SessionDBDataContext db = new SessionDBDataContext();
         if (db.tblSessions.Count(
                 s => s.SessionID == context.Session.SessionID) == 0)
         {
             ChatManager.CreateSession(context, alias);
         }
         var session = ChatManager.GetSession(context);
         if (db.tblTalkers.Count(t => t.ChatRoomID == ChatRoomID &&
                                 t.SessionID == session.UID && t.CheckOutTime == null) > 0)
         {
             return(false);
         }
         else
         {
             tblTalker talker = new tblTalker();
             talker.ChatRoomID   = ChatRoomID;
             talker.CheckInTime  = DateTime.Now;
             talker.CheckOutTime = null;
             talker.SessionID    = session.UID;
             db.tblTalkers.InsertOnSubmit(talker);
             db.SubmitChanges();
             return(true);
         }
     }
     else
     {
         return(false);
     }
 }
예제 #2
0
        public bool SendMessage(string message)
        {
            Guid roomid = GetGUIDFromQuery(
                HttpContext.Current.Request.UrlReferrer.Query);

            if (roomid != Guid.Empty)
            {
                tblTalker talker =
                    ChatManager.FindTalker(roomid, HttpContext.Current);
                ChatManager.SendMessage(talker, message);
                return(true);
            }
            else
            {
                return(false);
            }
        }
예제 #3
0
 public static bool SendMessage(tblTalker talker, string message)
 {
     try
     {
         SessionDBDataContext db      = new SessionDBDataContext();
         tblMessagePool       msgpool = new tblMessagePool();
         msgpool.message  = message;
         msgpool.SendTime = DateTime.Now;
         msgpool.talkerID = talker.TalkerID;
         db.tblMessagePools.InsertOnSubmit(msgpool);
         db.SubmitChanges();
         return(true);
     }
     catch
     {
         return(false);
     }
 }
 public static bool SendPacket(tblTalker talker, string Packet)
 {
     try
     {
         SessionDBDataContext db = new SessionDBDataContext();
         tblPacketPool msgpool = new tblPacketPool();
         msgpool.Packet = Packet;
         msgpool.SendTime = DateTime.Now;
         msgpool.talkerID = talker.TalkerID;
         db.tblPacketPools.InsertOnSubmit(msgpool);
         db.SubmitChanges();
         return true;
     }
     catch
     {
         return false;
     }
 }
 public static bool Joinwakeupnetwork(Guid wakeupnetworkID, HttpContext context,
     string alias)
 {
     if (!wakeupManager.IsnetworkFull(wakeupnetworkID))
     {
         SessionDBDataContext db = new SessionDBDataContext();
         if (db.tblSessions.Count(
             s => s.SessionID == context.Session.SessionID) == 0)
         {
             wakeupManager.CreateSession(context, alias);
         }
         var session = wakeupManager.GetSession(context);
         if (db.tblTalkers.Count(t => t.wakeupnetworkID == wakeupnetworkID &&
             t.SessionID == session.UID && t.CheckOutTime == null) > 0)
         {
             return false;
         }
         else
         {
             tblTalker talker = new tblTalker();
             talker.wakeupnetworkID = wakeupnetworkID;
             talker.CheckInTime = DateTime.Now;
             talker.CheckOutTime = null;
             talker.SessionID = session.UID;
             db.tblTalkers.InsertOnSubmit(talker);
             db.SubmitChanges();
             return true;
         }
     }
     else
     {
         return false;
     }
 }