public override void setAttachmentState(Attachment.AttachmentState attachmentState) { this.FileAttachment.FileState = attachmentState; Deployment.Current.Dispatcher.BeginInvoke(() => { var currentPage = ((App)Application.Current).RootFrame.Content as NewChatThread; if (currentPage != null) { ContextMenu contextMenu = currentPage.createAttachmentContextMenu(attachmentState, true, false); ContextMenuService.SetContextMenu(this, contextMenu); switch (attachmentState) { case Attachment.AttachmentState.CANCELED: uploadOrDownloadCanceled(); MessagesTableUtils.removeUploadingOrDownloadingMessage(this.MessageId); break; case Attachment.AttachmentState.FAILED_OR_NOT_STARTED: uploadOrDownloadCanceled(); MessagesTableUtils.removeUploadingOrDownloadingMessage(this.MessageId); break; case Attachment.AttachmentState.COMPLETED: uploadOrDownloadCompleted(); MessagesTableUtils.removeUploadingOrDownloadingMessage(this.MessageId); break; case Attachment.AttachmentState.STARTED: uploadOrDownloadStarted(); MessagesTableUtils.addUploadingOrDownloadingMessage(this.MessageId, this); break; } } }); }
public void updateProfile_Callback(JObject obj) { Deployment.Current.Dispatcher.BeginInvoke(() => { if (obj != null && HikeConstants.OK == (string)obj[HikeConstants.STAT]) { App.ViewModel.ConvMap[groupId].Avatar = fullViewImageBytes; groupImage.Source = grpImage; groupImage.Height = 83; groupImage.Width = 83; string msg = string.Format(AppResources.GroupImgChangedByGrpMember_Txt, AppResources.You_Txt); ConvMessage cm = new ConvMessage(msg, groupId, TimeUtils.getCurrentTimeStamp(), ConvMessage.State.RECEIVED_READ, -1, -1); cm.GrpParticipantState = ConvMessage.ParticipantInfoState.GROUP_PIC_CHANGED; cm.GroupParticipant = App.MSISDN; JObject jo = new JObject(); jo[HikeConstants.TYPE] = HikeConstants.MqttMessageTypes.GROUP_DISPLAY_PIC; cm.MetaDataString = jo.ToString(Newtonsoft.Json.Formatting.None); ConversationListObject cobj = MessagesTableUtils.addChatMessage(cm, false); if (cobj == null) { return; } // handle msgs object[] vs = new object[2]; vs[0] = cm; vs[1] = cobj; mPubSub.publish(HikePubSub.MESSAGE_RECEIVED, vs); // handle saving image object[] vals = new object[3]; vals[0] = groupId; vals[1] = fullViewImageBytes; vals[2] = thumbnailBytes; mPubSub.publish(HikePubSub.ADD_OR_UPDATE_PROFILE, vals); } else { MessageBox.Show(AppResources.CannotChangeGrpImg_Txt, AppResources.Something_Wrong_Txt, MessageBoxButton.OK); } //progressBar.IsEnabled = false; shellProgress.IsVisible = false; isProfilePicTapped = false; }); }
private void MenuItem_Click_Delete(object sender, RoutedEventArgs e) { MessageBoxResult result = MessageBox.Show("Are you sure about deleting conversation.", "Delete Conversation ?", MessageBoxButton.OKCancel); if (result == MessageBoxResult.Cancel) { return; } ListBoxItem selectedListBoxItem = this.myListBox.ItemContainerGenerator.ContainerFromItem((sender as MenuItem).DataContext) as ListBoxItem; if (selectedListBoxItem == null) { return; } ConversationListObject convObj = selectedListBoxItem.DataContext as ConversationListObject; convMap.Remove(convObj.Msisdn); // removed entry from map App.ViewModel.MessageListPageCollection.Remove(convObj); // removed from observable collection ConversationTableUtils.deleteConversation(convObj.Msisdn); // removed entry from conversation table MessagesTableUtils.deleteAllMessagesForMsisdn(convObj.Msisdn); //removed all chat messages for this msisdn }
private void LoadMessages() { List <Conversation> conversationList = ConversationTableUtils.getAllConversations(); if (conversationList == null) { return; } for (int i = 0; i < conversationList.Count; i++) { Conversation conv = conversationList[i]; ConvMessage lastMessage = MessagesTableUtils.getLastMessageForMsisdn(conv.Msisdn); // why we are not getting only lastmsg as string ContactInfo contact = UsersTableUtils.getContactInfoFromMSISDN(conv.Msisdn); Thumbnails thumbnail = MiscDBUtil.getThumbNailForMSisdn(conv.Msisdn); ConversationListObject mObj = new ConversationListObject((contact == null) ? conv.Msisdn : contact.Msisdn, (contact == null) ? conv.Msisdn : contact.Name, lastMessage.Message, (contact == null) ? conv.OnHike : contact.OnHike, TimeUtils.getTimeString(lastMessage.Timestamp), thumbnail == null ? null : thumbnail.Avatar); convMap.Add(conv.Msisdn, mObj); App.ViewModel.MessageListPageCollection.Add(mObj); } }