Ejemplo n.º 1
0
        public static MessageResponse Parse(dynamic data)
        {
            if (data == null)
            {
                return null;
            }

            var messageResponse = new MessageResponse
            {
                MessageId = data.message_id,
                From = UserResponse.Parse(data.from),
                Date = ((int?) data.date).ToDateTime(),
                UserChat = UserResponse.Parse(data.chat),
                GroupChat = GroupChatResponse.Parse(data.chat),
                ForwardFrom = UserResponse.Parse(data.forward_from),
                ForwardDate = ((int?) data.forward_date).ToDateTime(),
                ReplyToMessage = MessageResponse.Parse(data.reply_to_message),
                Text = data.text,
                Audio = AudioResponse.Parse(data.audio),
                Document = AudioResponse.Parse(data.document),
                Sticker = StickerResponse.Parse(data.sticker),
                Video = VideoResponse.Parse(data.video),
                Contact = ContactResponse.Parse(data.contact),
                Location = LocationResponse.Parse(data.location),
                NewChatParticipant = UserResponse.Parse(data.new_chat_participant),
                LeftChatParticipant = UserResponse.Parse(data.left_chat_participant),
                NewChatTitle = data.new_chat_title,
                DeleteChatPhoto = data.delete_chat_photo,
                GroupChatCreated = data.group_chat_created
            };

            if (data.photo != null)
            {
                foreach (var photo in data.photo)
                {
                    messageResponse.Photo.Add(PhotoSizeResponse.Parse(photo));
                }
            }
            if (data.new_chat_photo != null)
            {
                foreach (var photo in data.new_chat_photo)
                {
                    messageResponse.NewChatPhoto.Add(PhotoSizeResponse.Parse(photo));
                }
            }

            return messageResponse;
        }