예제 #1
0
 public SysteMessage(string sourceModule, object body, SystemMessageType type)
 {
     this.SourceModule = sourceModule;
     this.Body         = body;
     this.Extensions   = new Dictionary <string, string>();
     this.Type         = type;
 }
예제 #2
0
        /// <summary>
        /// Adds the system message to a list stored in HttpContext.Items
        /// </summary>
        /// <param name="text"> message </param>
        /// <param name="msgType"> message type </param>
        /// <param name="isRedirectMessage"> set to true if the message should be displayed after a redirect </param>
        public static void Add(string text, SystemMessageType msgType, bool isRedirectMessage = false)
        {
            List <SystemMessage> list = Get();

            list.Add(new SystemMessage(text, msgType, isRedirectMessage));
            Set(list);
        }
예제 #3
0
        private void ProcessServerMessage(NetIncomingMessage msg)
        {
            try
            {
                SystemMessageType m = (SystemMessageType)msg.ReadByte();
                switch (m)
                {
                case SystemMessageType.GetMessageLagTime:
                    var elapsed = DateTime.Now - lastEmptyQueue;
                    NetOutgoingMessage result = networkServer.CreateMessage();
                    result.Write((byte)MessageDestination.System);
                    result.Write((byte)SystemMessageType.GetMessageLagTime);
                    result.Write((Int32)elapsed.TotalMilliseconds);
                    networkServer.SendMessage(result, msg.SenderConnection, NetDeliveryMethod.ReliableSequenced, (int)ReliableSequencedChannels.SystemMessageLagTime);
                    console.WriteInfo("Current Message lag time: " + elapsed.TotalMilliseconds);
                    break;

                default:
                    console.WriteWarn("Malformed message.  Invalid message type byte: " + (byte)m);
                    break;
                }
            }
            catch (Exception e)
            {
                console.WriteWarn("Unknown exception adding System Message: ", e);
            }
            finally
            {
                RecycleMessage(msg);
            }
        }
        public void Add(string content, SystemMessageType type, int importance)
        {
            var message = new SystemMessage {
                Content = content, Importance = importance, Type = type
            };

            this.Add(message);
        }
예제 #5
0
        /// <summary>
        /// Sends MasterServer System information that the client can convert into a predefined text.
        /// </summary>
        public void SendInfo(Account account, SystemMessageType systemMessage)
        {
            NetOutgoingMessage msgOut = Server.CreateMessage();

            msgOut.Write((byte)MasterMessageType.Information);
            msgOut.Write((byte)systemMessage);

            account.Connection.SendMessage(msgOut, NetDeliveryMethod.Unreliable, 0);
        }
예제 #6
0
        /// <summary>
        /// Sends system message to client, for information, gets written to the chat on client side.
        /// </summary>
        /// <param name="connection">Message will be sent to this connection</param>
        /// <param name="msgType">The information that can be described by a value, it will be transformed into a predefined message on the client side. Like "Out of range"</param>
        public void SendSystemInfo(NetConnection connection, SystemMessageType msgType)
        {
            NetOutgoingMessage msgOut = Server.CreateMessage();

            msgOut.Write((byte)MessageType.SystemInfo);
            msgOut.Write((byte)msgType);
            if (connection != null)
            {
                connection.SendMessage(msgOut, NetDeliveryMethod.Unreliable, 0);
            }
        }
예제 #7
0
    /// <summary>
    /// Returns the number of messages of a certain type
    /// </summary>
    public static int CountForType(SystemMessageType type)
    {
        List<string> msgs = null;
        if (!Messages.TryGetValue(type, out msgs))
        {
            msgs = new List<string>();
            Messages.Add(type, msgs);
        }

        return msgs.Count;
    }
예제 #8
0
        /// <summary>
        /// 系统消息处理
        /// </summary>
        /// <param name="red"></param>
        public void SystemMsgRead(ParsePack dp)
        {
            string            s   = dp.getString();
            SystemMessageType smt = (SystemMessageType)dp.getInt();

            switch (smt)
            {
            case SystemMessageType.HeartBeat:
                bc.ReceiveHeart(s);
                break;
            }
        }
예제 #9
0
    /// <summary>
    /// Gets all the messages of a certain type
    /// </summary>
    public List <string> MessagesOfType(SystemMessageType type)
    {
        List <string> msgs = null;

        if (!Messages.TryGetValue(type, out msgs))
        {
            msgs = new List <string>();
            Messages.Add(type, msgs);
        }

        return(msgs);
    }
예제 #10
0
        /// <summary>
        /// SystemMessage constructor
        /// </summary>
        /// <param name="text"> the text of the message </param>
        /// <param name="msgType"> the type of the message, see SystemMessageType enum </param>
        /// <param name="isRedirectMessage"> is the message supposed to be persisted over a redirect result </param>
        public SystemMessage(string text, SystemMessageType msgType, bool isRedirectMessage = false)
        {
            Text          = text;
            IsError       = msgType == SystemMessageType.Error;
            MessageType   = msgType;
            IsRedirectMsg = isRedirectMessage;

            if (IsRedirectMsg)
            {
                IsRedirectActive = true;
            }
        }
예제 #11
0
    /// <summary>
    /// Returns the number of messages of a certain type
    /// </summary>
    public static int CountForType(SystemMessageType type)
    {
        List <string> msgs = null;

        if (!Messages.TryGetValue(type, out msgs))
        {
            msgs = new List <string>();
            Messages.Add(type, msgs);
        }

        return(msgs.Count);
    }
예제 #12
0
    /// <summary>
    /// Add a message to the message store
    /// </summary>
    public static void AddMessage(string msg, SystemMessageType type)
    {
        //System.Diagnostics.Debug.WriteLine(type.ToString() + ": " + msg);
        List<string> msgs = null;
        if (!Messages.TryGetValue(type, out msgs))
        {
            msgs = new List<string>();
            Messages.Add(type, msgs);
        }

        msgs.Add(msg);
        while (msgs.Count > MaxMessageLog)
        {
            msgs.RemoveAt(0);
        }
    }
예제 #13
0
    /// <summary>
    /// Add a message to the message store
    /// </summary>
    public static void AddMessage(string msg, SystemMessageType type)
    {
        //System.Diagnostics.Debug.WriteLine(type.ToString() + ": " + msg);
        List <string> msgs = null;

        if (!Messages.TryGetValue(type, out msgs))
        {
            msgs = new List <string>();
            Messages.Add(type, msgs);
        }

        msgs.Add(msg);
        while (msgs.Count > MaxMessageLog)
        {
            msgs.RemoveAt(0);
        }
    }
예제 #14
0
    public void SystemInfo(NetIncomingMessage msgIn)
    {
        SystemMessageType msgType = (SystemMessageType)msgIn.ReadByte();

        switch (msgType)
        {
        case SystemMessageType.OutOfRange:
            uiController.SystemMessage("Targe out of range!");
            break;

        case SystemMessageType.NotEnoughMana:
            uiController.SystemMessage("Not enough mana!");
            break;

        case SystemMessageType.YouAreDead:
            uiController.SystemMessage("You piece of crap! You dead NOOB!");
            break;
        }
    }
예제 #15
0
 public string ToString(IFormatProvider provider)
 {
     if (MessageType != OscMidiMessageType.SystemExclusive)
     {
         return(String.Format("{0}, {1}, {2}, {3}, {4}",
                              PortID.ToString(provider),
                              MessageType.ToString(),
                              Channel.ToString(provider),
                              Data1.ToString(provider),
                              Data2.ToString(provider)));
     }
     else
     {
         return(String.Format("{0}, {1}, {2}, {3}",
                              PortID.ToString(provider),
                              SystemMessageType.ToString(),
                              Data1.ToString(provider),
                              Data2.ToString(provider)));
     }
 }
        public void SendSystemMessage(
            string senderId,
            string receiverId,
            SystemMessageType messageType,
            int?projectId,
            int?taskId)
        {
            var message = new Message();

            message.FromId          = senderId;
            message.ToId            = receiverId;
            message.IsSystemMessage = true;
            message.MessageType     = messageType;
            message.ProjectId       = projectId;
            message.SubTaskId       = taskId;
            message.Subject         = "System";
            message.Text            = "System";
            message.Date            = DateTime.Now;
            this.Add(message);
        }
예제 #17
0
    /// <summary>
    /// The last message that stored for the given type
    /// </summary>
    public static string LastMessageOfType(SystemMessageType type)
    {
        if (Messages.Count < 1)
        {
            return "";
        }

        List<string> msgs = null;
        if (!Messages.TryGetValue(type, out msgs))
        {
            msgs = new List<string>();
            Messages.Add(type, msgs);
        }

        if (msgs.Count < 1)
        {
            return "";
        }

        return msgs[msgs.Count - 1];
    }
예제 #18
0
    /// <summary>
    /// The last message that stored for the given type
    /// </summary>
    public static string LastMessageOfType(SystemMessageType type)
    {
        if (Messages.Count < 1)
        {
            return("");
        }

        List <string> msgs = null;

        if (!Messages.TryGetValue(type, out msgs))
        {
            msgs = new List <string>();
            Messages.Add(type, msgs);
        }

        if (msgs.Count < 1)
        {
            return("");
        }

        return(msgs[msgs.Count - 1]);
    }
예제 #19
0
        private void mouseKeyDownASystemMessageEventHandler(int id)
        {
            Debug.Write("Message ID: ");
            Debug.WriteLine(id);
            Debug.Write("- ");
            Debug.WriteLine(systemMessages[id].ID);
            SystemMessageType type = systemMessages[id].type;

            switch (type)
            {
            case SystemMessageType.ContactApplySended:
                break;

            case SystemMessageType.ContactApplyRequest:
                eventAggregator.GetEvent <ShowSolveContactApplyViewEvent>().Publish(systemMessages[id].OriginMessage);
                //Debug.WriteLine(((ProtoMessage)systemMessages[id].OriginMessage).ContactApplyingInfoPushMessage.ApplyerMailAddress);
                break;

            default:
                break;
            }
        }
        protected override void ParseBody(ByteBuffer buf)
        {
            #if DEBUG
            Client.LogManager.Log(ToString() + " " + Utils.Util.ToHex(buf.ToByteArray()));
            #endif

            byte[] b = buf.ToByteArray();
            String s = null;

            s = Utils.Util.GetString(b);

            String[] fields = s.Split(DIVIDER.ToCharArray());
            Type = (SystemMessageType)Utils.Util.GetInt(fields[0], 0);
            From = Utils.Util.GetInt(fields[1], 0);
            To = Utils.Util.GetInt(fields[2], 0);
            if (fields.Length > 3)
            {
                switch (Type)
                {
                    case SystemMessageType.ADD_FRIEND_REQUEST_EX:
                        byte[] fByte = Utils.Util.GetBytes(fields[3]);
                        int len = fByte[0] & 0xFF;
                        Message = Utils.Util.GetString(fByte, 1, len);
                        ReverseAdd = (RevenseAdd)fByte[len + 1];//后面还有个token
                        //int
                        //ReverseAdd = (RevenseAdd)fByte[fByte.Length - 1];
                        break;
                    case SystemMessageType.BEING_ADDED_EX:
                    case SystemMessageType.ADD_FRIEND_APPROVED_AND_ADD:
                        Message = "";
                        break;
                    default:
                        Message = fields[3];
                        break;
                }
            }
            else
                Message = "";
            if (From == 0 || To == 0)
                throw new PacketParseException("系统通知字段解析出错");
        }
예제 #21
0
파일: Messages.cs 프로젝트: briandealwis/gt
 public SystemPingMessage(SystemMessageType mt, uint sequence, int sentTime)
     : base(mt)
 {
     Debug.Assert(mt == SystemMessageType.PingRequest || mt == SystemMessageType.PingResponse);
     Sequence = sequence;
     SentTime = sentTime;
 }
 public void SendSystemMessage(
     string senderId, 
     string receiverId, 
     SystemMessageType messageType, 
     int? projectId, 
     int? taskId)
 {
     var message = new Message();
     message.FromId = senderId;
     message.ToId = receiverId;
     message.IsSystemMessage = true;
     message.MessageType = messageType;
     message.ProjectId = projectId;
     message.SubTaskId = taskId;
     message.Subject = "System";
     message.Text = "System";
     message.Date = DateTime.Now;
     this.Add(message);
 }
예제 #23
0
 protected void AddSystemMessage(string message, SystemMessageType type)
 {
     this.TempData[type.ToString()] = message;
 }
예제 #24
0
 public SysteMessage(string title, string sourceModule, object body, SystemMessageType type)
     : this(sourceModule, body, type)
 {
     this.Title = title;
 }
예제 #25
0
 /// <summary>
 /// 向小网格聊天室中发送系统消息
 /// </summary>
 /// <param name="type">类型</param>
 /// <param name="message">消息内容</param>
 public static void SendMessageToChatRoom(SystemMessageType type, string message)
 {
     var context = GlobalHost.ConnectionManager.GetHubContext<MessageHub>();
     context.Clients.All.addNewMessageToPage("#系统[" + type + "]@" + DateTime.Now.ToString("hh:mm:ss") + ":", message);
 }
예제 #26
0
    /// <summary>
    /// Gets all the messages of a certain type
    /// </summary>
    public List<string> MessagesOfType(SystemMessageType type)
    {
        List<string> msgs = null;
        if (!Messages.TryGetValue(type, out msgs))
        {
            msgs = new List<string>();
            Messages.Add(type, msgs);
        }

        return msgs;
    }
예제 #27
0
 internal static string GetColorClassNameForSystemMessageType(SystemMessageType systemMessageType)
 {
     return(systemMessageType == SystemMessageType.Information ? "blue-border-left" : "yellow-border-left");
 }
예제 #28
0
 /// <summary>
 /// Create a new system message that will be show to the user sometime
 /// </summary>
 /// <param name="message">The message to create</param>
 /// <param name="type">The message type</param>
 public SystemMessage(string message, SystemMessageType type)
 {
     this._time    = DateTime.Now;
     this._message = message;
     this._type    = type;
 }
예제 #29
0
 protected void AddSystemMessage(string message, SystemMessageType type)
 {
     this.TempData[type.ToString()] = message;
 }
예제 #30
0
파일: Messages.cs 프로젝트: briandealwis/gt
 /// <summary>Create a new SystemMessage</summary>
 public SystemMessage(SystemMessageType t)
     : base((byte)t, MessageType.System)
 {
 }
예제 #31
0
 public TransientSystemMessage(IClient client, MessageJsonModel model)
     : base(client, model)
 {
     Type = (SystemMessageType)(model.Type - 1);
 }
예제 #32
0
 public void SendMessage(string message, SystemMessageType type)
 {
     ThreadHelper.MainThread.BeginInvokeIfRequired(delegate
     {
         switch (type)
         {
         case SystemMessageType.INFO:
             if (Settings.Default.IsSilentAlerts)
             {
                 ((Client)ThreadHelper.MainThread).ShowInfo("Information", message);
                 return;
             }
             DialogHelper.ShowInfo(message, "Information");
             return;
         case SystemMessageType.ERROR:
             DialogHelper.ShowError(message, "Error");
             return;
         case SystemMessageType.BLOCKINGINFO:
             DialogHelper.ShowInfo(message, "Information");
             return;
         default:
             return;
         }
     });
 }