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; }