Crystalbyte.Equinox.Imap.ImapClient.FetchMessageByUid C# (CSharp) Method

FetchMessageByUid() public method

Fetches a single message from the selected mailbox identified by its unique identifier.
public FetchMessageByUid ( int uid ) : Message
uid int The uid of the requested message.
return Message
        public Message FetchMessageByUid(int uid)
        {
            var query = Messages
                .Where(x => x.Uid == uid)
                .Select(x => new MessageContainer {
                                     Uid = x.Uid,
                                     SequenceNumber = x.SequenceNumber,
                                     Text = (string) x.Parts(string.Empty)
                                 });
            var container = query.ToList().FirstOrDefault();
            if (container != null) {
                var entity = new Entity();
                entity.Deserialize(container.Text);

                var message = entity.ToMessage();
                message.Uid = container.Uid;
                message.SequenceNumber = container.SequenceNumber;
                return message;
            }

            return null;
        }