Esempio n. 1
0
        private async void CallingAPIs()
        {
            string currentPath             = Environment.CurrentDirectory + "\\token.txt";
            string accesstoken             = File.ReadAllText(currentPath);
            var    accessTokenDeserialised = JsonConvert.DeserializeObject <AuthServerResponse>(accesstoken);

            MessageClient messageClient = new MessageClient(AccessToken);

            AllUnreadMessages = await messageClient.GetAllUnreadMessages();

            MessageToFrom messageNotif = new MessageToFrom();

            messageNotif.To = Username;

            for (int i = 0; i < Contacts.Count(); i++)
            {
                if (Contacts[i] != null)
                {
                    messageNotif.From = Contacts[i].Username;
                    var unreadMessages = await messageClient.UnreadMessages(messageNotif);

                    if (unreadMessages != null && unreadMessages.Count() != 0)
                    {
                        ContactsList.Items[i] = Contacts[i].Username + " (" + unreadMessages.Count() + ")";
                    }
                    if (unreadMessages.Count() == 0)
                    {
                        ContactsList.Items[i] = Contacts[i].Username;
                    }
                }
            }
        }
Esempio n. 2
0
        private async void CallingAPIs()
        {
            MessageClient messageClient = new MessageClient(AccessToken);

            MessageToFrom messageNotif = new MessageToFrom
            {
                To = Username
            };

            for (int i = 0; i < Contacts.Count(); i++)
            {
                if (Contacts[i] != null)
                {
                    messageNotif.From = Contacts[i].Username;
                    var unreadMessages = await messageClient.UnreadMessages(messageNotif); //getting unread massages

                    if (unreadMessages != null && unreadMessages.Count() != 0)
                    {
                        ContactsList.Items[i] = Contacts[i].Username + " (" + unreadMessages.Count() + ")"; //checking the contact name
                    }
                    if (unreadMessages.Count() == 0)                                                        //if no unread messages, do nothing
                    {
                        ContactsList.Items[i] = Contacts[i].Username;
                    }
                }
            }
        }
Esempio n. 3
0
        private async void RadGridView_SelectionChanged(object sender, SelectionChangeEventArgs e)
        {
            ChatMessages.Items.Clear(); //deleting all messages in a UI

            ActiveUserClient activeUsers = new ActiveUserClient();
            var activeUserInfo           = await activeUsers.ActiveUsers(AccessToken);

            MessageToFrom message = new MessageToFrom();

            message.To = Username;

            foreach (var contact in activeUserInfo)
            {
                if (contact.Username.Contains(ContactsList.SelectedItem.ToString()))
                {
                    message.From = contact.Username; //checking the contact name
                }
            }

            MessageClient messageClient = new MessageClient(AccessToken);
            var           messages      = await messageClient.ReadAllMessages(message); //getting all messages

            foreach (var mess in messages)
            {
                ChatMessages.Items.Add(mess.From + ": " + mess.MessageText);
            }
        }
Esempio n. 4
0
        private async void RadGridView_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            ChatMessages.Items.Clear();

            //string currentPath = Environment.CurrentDirectory + "\\token.txt";
            //string accesstoken = File.ReadAllText(currentPath);
            //var accessTokenDeserialised = JsonConvert.DeserializeObject<AuthServerResponse>(accesstoken);

            ActiveUserClient activeUsers = new ActiveUserClient();
            var activeUserInfo           = await activeUsers.ActiveUsers(AccessToken);

            MessageToFrom message = new MessageToFrom();

            message.To = Username;

            MessageClient messageClient = new MessageClient(AccessToken);

            foreach (var contact in activeUserInfo)
            {
                if (ContactsList.SelectedItem.ToString().Contains(contact.Username))
                {
                    ContactsList.SelectedItem = contact.Username;
                    message.From = contact.Username;

                    await messageClient.MakeMessageRead(message);

                    break;
                }
            }

            var messages = await messageClient.ReadAllMessages(message);


            foreach (var mess in messages)
            {
                ChatMessages.Items.Add(mess.From + ": " + mess.MessageText);
            }


            //ChatMessages.Items.Clear();
            //HttpClient client = new HttpClient();
            //var response = client.GetAsync(string.Format("{0}/{1}/{2}", messageapi, Username, RadGridView.SelectedItem.ToString()));//.Result.Content.ReadAsStringAsync().Result;
            //var jsonresult = response.Result.Content.ReadAsStringAsync().Result;
            //var result = JsonConvert.DeserializeObject<List<Message>>(jsonresult);

            //foreach (var item in result)
            //{
            //    if(!ChatMessages.Items.Contains(item.MessageText)) ChatMessages.Items.Add(item.MessageText);
            //}
            MessageTextbox.Text = "Type your message here...";
        }
Esempio n. 5
0
        public async Task MakeMessageRead(MessageToFrom notif)
        {
            string uri = "http://192.168.0.10:5003/api/message/read";

            HttpResponseMessage responseMessage;

            using (HttpClient httpClient = new HttpClient())
            {
                HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, uri)
                {
                    Content = new StringContent(JsonConvert.SerializeObject(notif), UnicodeEncoding.UTF8, "application/json")
                };
                responseMessage = await httpClient.SendAsync(request);
            }
        }
Esempio n. 6
0
        public async Task <IEnumerable <Message> > UnreadMessages(MessageToFrom notif)
        {
            string uri = "http://192.168.0.10:5003/api/message/unreadmessages";

            HttpResponseMessage responseMessage;

            using (HttpClient httpClient = new HttpClient())
            {
                HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, uri)
                {
                    Content = new StringContent(JsonConvert.SerializeObject(notif), UnicodeEncoding.UTF8, "application/json")
                };
                responseMessage = await httpClient.SendAsync(request);
            }
            var unreadMessage = await responseMessage.Content.ReadAsStringAsync();

            return(JsonConvert.DeserializeObject <IEnumerable <Message> >(unreadMessage));
        }
Esempio n. 7
0
        private async void RadGridView_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            ChatMessages.Items.Clear();

            ActiveUserClient activeUsers = new ActiveUserClient();
            var activeUserInfo           = await activeUsers.ActiveUsers(AccessToken); //giving client and access token

            MessageToFrom message = new MessageToFrom
            {
                To = Username
            };

            MessageClient messageClient = new MessageClient(AccessToken);

            foreach (var contact in activeUserInfo)
            {
                if (ContactsList.SelectedItem.ToString().Contains(contact.Username))
                {
                    ContactsList.SelectedItem = contact.Username;
                    message.From = contact.Username;

                    await messageClient.MakeMessageRead(message);

                    break;
                }
            }

            var messages = await messageClient.ReadAllMessages(message); //reading all messages with this contact


            foreach (var mess in messages)
            {
                ChatMessages.Items.Add(mess.From + ": " + mess.MessageText); // adding all messages to a messageItems
            }

            MessageTextbox.Text = "Type your message here...";
        }