예제 #1
0
        private void MessageList_ShowMessageDetails(object sender, EventArgs e)
        {
            _parent.Darkened = true;

            ConversationMessageListItem message = (ConversationMessageListItem)sender;

            ConversationMessageDetails details = new ConversationMessageDetails(message.Message);

            details.CloseButtonClicked += (s, ea) =>
            {
                _parent.mainCanvas.Children.Remove(details);
                _parent.Darkened = false;
            };
            _parent.mainCanvas.Children.Add(details);
        }
예제 #2
0
        private void MessageList_DownloadAllAttachments(object sender, System.EventArgs e)
        {
            ConversationMessageListItem item = (ConversationMessageListItem)sender;

            EventHandler <FileDownloadedEventArgs> eventDelegate = null;

            eventDelegate = (s, args) =>
            {
                if (item.Message.Attachments.All(obj => obj.Downloaded))
                {
                    MemoryStream archiveStream = DownloadHelper.ZipFiles(item.Message.Attachments);

                    if (!Directory.Exists(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "/CRMTool"))
                    {
                        Directory.CreateDirectory(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "/CRMTool");
                    }

                    using (FileStream fileStream = File.Create(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "/CRMTool/" + _parent.Conversations.Find(obj => obj.Id == item.Message.ConversationId).Name + "_" + item.Message.Author.FullName.Replace(' ', '_') + "_" + DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss") + ".zip"))
                    {
                        archiveStream.Seek(0, SeekOrigin.Begin);
                        archiveStream.CopyTo(fileStream);
                    }

                    archiveStream.Position = 0;
                    archiveStream.Close();
                    archiveStream.Dispose();

                    _parent.RaiseNotification(new NotificationModel("", "", null,
                                                                    DateTime.Now, false, true)
                    {
                        Text = item.Message.Attachments.Count + " załączników zostało pobranych"
                    });

                    _parent.DownloadClient.FileDownloaded -= eventDelegate;
                }
            };
            _parent.DownloadClient.FileDownloaded += eventDelegate;
            _parent.DownloadClient.DownloadQueue.AddRange(item.Message.Attachments);
        }