private void AddMessageToDataSource(Twilio.IPMessaging.Message message)
        {
            var identity = JsonConvert.DeserializeObject <IdentityToken>(message.Author);

            // Get Agent Avatar
            if (identity.identityId != AppSettingsManager.ClientId && GravatarManager.GetImage(GravatarUser.Agent) == null)
            {
                GravatarManager.SetImage(GravatarUser.Agent, identity.picture);
            }

            // Get Customer Avatar
            if (identity.identityId == AppSettingsManager.ClientId && GravatarManager.GetImage(GravatarUser.Customer) == null)
            {
                GravatarManager.SetImage(GravatarUser.Customer, identity.picture);
            }

            var jmsg = new JMessage
                       (
                identity.identityId,
                identity.name,
                message.DateUpdatedAsDate,
                message.Body
                       );

            messages.Add(jmsg);

            SystemSoundPlayer.PlayMessageReceivedSound();
            FinishReceivingMessage(true);
            ScrollToBottom(true);
        }
        public void TwilioMessageAdded(TwilioIPMessagingClient client, Channel channel, Twilio.IPMessaging.Message message)
        {
            //we have our own
            if (message.Author == TwilioHelper.Identity)
            {
                return;
            }

            if (message.Body.StartsWith("attach:", StringComparison.InvariantCulture))
            {
                MessageAdded?.Invoke(new Message
                {
                    IsIncoming      = true,
                    MessageDateTime = DateTime.Parse(message.Timestamp),
                    Text            = "I am here",
                    AttachementUrl  = message.Body.Replace("attach:", string.Empty)
                });
            }
            else
            {
                MessageAdded?.Invoke(new Message
                {
                    IsIncoming      = true,
                    MessageDateTime = DateTime.Parse(message.Timestamp),
                    Text            = message.Body
                });
            }
        }