Example #1
0
        private async Task <IDialog> GetVkDialogWithFriend(DataIUser user, IUser friend)
        {
            IDialog dialog = null;

            try
            {
                Account acc = Account.Deserialize(user.SerializeInfo.ToString());

                this.StartRequest();

                var request = new OAuth2Request("GET", new Uri("https://api.vk.com/method/messages.getHistory"), null, acc);

                request.Parameters.Add("user_id", friend.Uid);
                request.Parameters.Add("count", "200");

                var res = await request.GetResponseAsync();

                var responseText = res.GetResponseText();

                var msg = JsonConvert.DeserializeObject <XamarinSocialApp.Droid.Data.VkData.VkMessagesResponse>(responseText);
                msg.Response.RemoveAt(0);

                IList <XamarinSocialApp.Droid.Data.VkData.MessageInDialog> msg1
                    = new List <XamarinSocialApp.Droid.Data.VkData.MessageInDialog>();
                foreach (var item in msg.Response)
                {
                    msg1.Add(JsonConvert.DeserializeObject <XamarinSocialApp.Droid.Data.VkData.MessageInDialog>(item.ToString()));
                }

                IList <IMessage> messages = new List <IMessage>();

                foreach (var item in msg1)
                {
                    messages.Add(new DataMessage()
                    {
                        Content = item.Body, Sender = item.UserId == user.Uid ? user : friend
                    });
                }

                dialog = new XamarinSocialApp.UI.Data.Implementations.Entities.Databases.Dialog(user, messages);
            }
            catch (Exception)
            {
            }

            return(dialog);
        }
Example #2
0
		private async Task<IDialog> GetVkDialogWithFriend(DataIUser user, IUser friend)
		{
			IDialog dialog = null;
			try
			{
				Account acc = Account.Deserialize(user.SerializeInfo.ToString());

				this.StartRequest();

				var request = new OAuth2Request("GET", new Uri("https://api.vk.com/method/messages.getHistory"), null, acc);

				request.Parameters.Add("user_id", friend.Uid);
				request.Parameters.Add("count", "200");

				var res = await request.GetResponseAsync();
				var responseText = res.GetResponseText();

				var msg = JsonConvert.DeserializeObject<XamarinSocialApp.Droid.Data.VkData.VkMessagesResponse>(responseText);
				msg.Response.RemoveAt(0);

				IList<XamarinSocialApp.Droid.Data.VkData.MessageInDialog> msg1
					= new List<XamarinSocialApp.Droid.Data.VkData.MessageInDialog>();
				foreach (var item in msg.Response)
				{
					msg1.Add(JsonConvert.DeserializeObject<XamarinSocialApp.Droid.Data.VkData.MessageInDialog>(item.ToString()));
				}

				IList<IMessage> messages = new List<IMessage>();

				foreach (var item in msg1)
				{
					messages.Add(new DataMessage() { Content = item.Body, Sender = item.UserId == user.Uid ? user : friend });
				}

				dialog = new XamarinSocialApp.UI.Data.Implementations.Entities.Databases.Dialog(user, messages);
			}
			catch (Exception)
			{
			}

			return dialog;
		}
Example #3
0
		private async Task<IDialog> GetTwitterDialogWithFriend(DataIUser user, DataIUser friend)
		{
			IDialog dialog = null;
			IUser userInDialog = null;
			IList<IMessage> messages = new List<IMessage>();
 
			try
			{
				TwitterContext context = this.GetTwitterContext(user.SerializeInfo);

				var receivedMessages = await
						(from dm in context.DirectMessage
						 where dm.Type == DirectMessageType.SentTo
						 select dm).OrderByDescending(x => x.CreatedAt)
						.ToListAsync();

				var sentMessages = await
						(from dm in context.DirectMessage
						 where dm.Type == DirectMessageType.SentBy
						 select dm).OrderByDescending(x => x.CreatedAt)
						.ToListAsync();

				foreach (var message in receivedMessages)
				{
					if (message.SenderID.ToString() == friend.Uid)
					{
						userInDialog = new User() { FirstName = message.Sender.ScreenNameResponse };
						messages.Add(new DataMessage() { Content = message.Text, Sender = userInDialog, DateMessage = message.CreatedAt.ToString() });
					}
				}

				foreach (var message in sentMessages)
				{
					if (message.RecipientID.ToString() == friend.Uid)
					{
						userInDialog = new User() { FirstName = message.Sender.ScreenNameResponse };
						messages.Add(new DataMessage() { Content = message.Text, Sender = userInDialog, DateMessage = message.CreatedAt.ToString() });
					}
				}

				messages = messages.OrderByDescending(x => x.DateMessage).ToList();

				dialog = new XamarinSocialApp.UI.Data.Implementations.Entities.Databases.Dialog(user, messages);
			}
			catch (Exception)
			{
			}

			return dialog;
		}
Example #4
0
        private async Task <IDialog> GetTwitterDialogWithFriend(DataIUser user, DataIUser friend)
        {
            IDialog          dialog       = null;
            IUser            userInDialog = null;
            IList <IMessage> messages     = new List <IMessage>();

            try
            {
                TwitterContext context = this.GetTwitterContext(user.SerializeInfo);

                var receivedMessages = await
                                           (from dm in context.DirectMessage
                                           where dm.Type == DirectMessageType.SentTo
                                           select dm).OrderByDescending(x => x.CreatedAt)
                                       .ToListAsync();

                var sentMessages = await
                                       (from dm in context.DirectMessage
                                       where dm.Type == DirectMessageType.SentBy
                                       select dm).OrderByDescending(x => x.CreatedAt)
                                   .ToListAsync();

                foreach (var message in receivedMessages)
                {
                    if (message.SenderID.ToString() == friend.Uid)
                    {
                        userInDialog = new User()
                        {
                            FirstName = message.Sender.ScreenNameResponse
                        };
                        messages.Add(new DataMessage()
                        {
                            Content = message.Text, Sender = userInDialog, DateMessage = message.CreatedAt.ToString()
                        });
                    }
                }

                foreach (var message in sentMessages)
                {
                    if (message.RecipientID.ToString() == friend.Uid)
                    {
                        userInDialog = new User()
                        {
                            FirstName = message.Sender.ScreenNameResponse
                        };
                        messages.Add(new DataMessage()
                        {
                            Content = message.Text, Sender = userInDialog, DateMessage = message.CreatedAt.ToString()
                        });
                    }
                }

                messages = messages.OrderByDescending(x => x.DateMessage).ToList();

                dialog = new XamarinSocialApp.UI.Data.Implementations.Entities.Databases.Dialog(user, messages);
            }
            catch (Exception)
            {
            }

            return(dialog);
        }