コード例 #1
0
ファイル: TLUtils.cs プロジェクト: mykolasglinskis/Unigram
        public static TLMessage GetMessage(
            int fromId,
            TLPeerBase toId,
            TLMessageState state,
            bool outFlag,
            bool unreadFlag,
            int date,
            string message,
            TLMessageMediaBase media,
            long randomId,
            int?replyToMsgId)
        {
#if LAYER_40
            var m = new TLMessage
            {
                FromId       = fromId,
                ToId         = toId,
                State        = state,
                IsOut        = outFlag,
                IsUnread     = unreadFlag,
                Date         = date,
                Message      = message,
                Media        = media,
                RandomId     = randomId,
                ReplyToMsgId = replyToMsgId
            };
            if (m.FromId != null)
            {
                m.HasFromId = true;
            }
            if (m.Media != null)
            {
                m.HasMedia = true;
            }
            if (m.ReplyToMsgId != null)
            {
                m.HasReplyToMsgId = true;
            }
#else
            var m = new TLMessage
            {
                FromId       = fromId,
                ToId         = toId,
                _status      = status,
                Out          = outFlag,
                Unread       = unreadFlag,
                _date        = date,
                Message      = message,
                _media       = media,
                RandomId     = randomId,
                ReplyToMsgId = replyToMsgId
            };
#endif

            return(m);
        }
コード例 #2
0
        public string State(TLMessageState value)
        {
            switch (value)
            {
            case TLMessageState.Sending:
                return("\uE600");

            case TLMessageState.Confirmed:
                return("\uE602");

            case TLMessageState.Read:
                return("\uE601");

            default:
                return("\uFFFD");
            }
        }
コード例 #3
0
        private string ConvertState(bool isOut, bool isPost, TLMessageState value)
        {
            if (!isOut || isPost)
            {
                return(string.Empty);
            }

            switch (value)
            {
            case TLMessageState.Sending:
                return("\u00A0\u00A0\uE600");

            case TLMessageState.Confirmed:
                return("\u00A0\u00A0\uE602");

            case TLMessageState.Read:
                return("\u00A0\u00A0\uE601");

            default:
                return("\u00A0\u00A0\uFFFD");
            }
        }
コード例 #4
0
 public virtual void Update(TLMessageBase message)
 {
     Id    = message.Id;
     State = message.State;
 }
コード例 #5
0
        private string UpdateStateIcon(TLDraftMessageBase draft, TLMessageBase message, TLMessageState state)
        {
            if (draft is TLDraftMessage)
            {
                return(string.Empty);
            }

            if (message is TLMessage topMessage)
            {
                if (topMessage.IsOut && IsOut(ViewModel))
                {
                    switch (state)
                    {
                    case TLMessageState.Sending:
                        return("\uE600");

                    case TLMessageState.Confirmed:
                        return("\uE602");

                    case TLMessageState.Read:
                        return("\uE601");
                    }
                }
            }

            return(string.Empty);
        }