public DashBoard(closeSocketDelegate d, showLoginForm x, sendRequest y, string idpassed) { InitializeComponent(); deserializedMessages = new List <Messages>(); message_container.ItemsSource = deserializedMessages; closeSocket = d; showLogin = x; //List <friends> items = new List<friends>(); //friends a = new friends() { friendImage = "http://localhost/images/cs_fest_2016.png", friendUsername = "******", friendStatus = "/Icons/offline.png" }; //friends b = new friends() { friendImage = "/Icons/close.png", friendUsername = "******", friendStatus = "/Icons/offline.png" }; //friends c = new friends() { friendImage = "/Icons/close.png", friendUsername = "******", friendStatus = "/Icons/offline.png" }; //items.Add(a); //items.Add(b); //listView.ItemsSource = items; //items.Add(c); id = idpassed; sendData = y; getFriends(); Thread friendDataUpdate = new Thread(SetTimer); friendDataUpdate.IsBackground = true; friendDataUpdate.Start(); }
//this method will be called everytime new data available from chat server public void dataReceived(string data) { //MessageBox.Show(data); //Debug.WriteLine(data); Dispatcher.BeginInvoke((Action)(() => { try { dynamic obj = JsonConvert.DeserializeObject <dynamic>(data); string response_type = obj.response_type; switch (response_type) { case "auth": if (obj.response.ToString().Equals("error")) { this.error_box.Text = obj.message.ToString(); this.error_box.Visibility = Visibility.Visible; socket.closeSocket(); } else if (obj.response.ToString().Equals("success")) { //MessageBox.Show(obj.profile.ToString()); closeSocketDel = new closeSocketDelegate(socket.closeSocket); user = new DashBoard(closeSocketDel, showLogin, sendReq, obj.id.ToString()); user.Title = this.username.Text + " - Dashboard"; user.setProfileImageNId(obj.profile.ToString(), obj.id.ToString()); this.Hide(); user.Show(); } else { this.error_box.Text = obj.message.ToString(); this.error_box.Visibility = Visibility.Visible; socket.closeSocket(); } break; case "friendList": if (obj.response.ToString().Equals("error")) { MessageBox.Show(obj.message); } else if (obj.response.ToString().Equals("success")) { //friends[] friendsObj = JsonConvert.DeserializeObject<friends>(obj.friends.ToString()); user.buildFrindList(obj.friends.ToString()); } break; case "get_messages": if (obj.response.ToString().Equals("error")) { MessageBox.Show(obj.message); } else if (obj.response.ToString().Equals("success")) { //user.buildFrindList(obj.friends.ToString()); user.buildMessages(obj.messages.ToString()); } break; case "message": if (obj.response.ToString().Equals("error")) { MessageBox.Show(obj.messages); } else if (obj.response.ToString().Equals("success")) { //user.buildFrindList(obj.friends.ToString()); user.addNewMessage(obj.messages.ToString()); //MessageBox.Show(obj.ToString()); //MessageBox.Show("Successful!"); } break; } //MessageBox.Show(response); } catch (Exception e) { //MessageBox.Show(data); MessageBox.Show(e.Message); } })); }