public EUEmailUploadFile(string filePath, Microsoft.Office.Interop.Outlook.MailItem mailItem, EUFieldInformations fieldInformations, bool isListItemAndAttachment, SaveFormatOverride saveFormatOverride) // JOEL JEFFERY 20110710 - added safeFormatOverride { FilePath = filePath; MetaData = new EUEmailMetaData(mailItem); // JOEL JEFFERY 20110711 -- mailItem == null? surely not? if (mailItem == null) { //Subject = mailItem.Subject; //EntryID = mailItem.EntryID; //Body = mailItem.Body; } else { // JOEL JEFFERY 20110711 -- moved here Subject = mailItem.Subject; EntryID = mailItem.EntryID; Body = mailItem.Body; SentOn = mailItem.SentOn; IsEmail = true; } //MailItem = mailItem; UniqueID = Guid.NewGuid(); FieldInformations = fieldInformations; IsListItemAndAttachment = isListItemAndAttachment; // JOEL JEFFERY 20110710 SaveFormatOverride = saveFormatOverride; }
public void Upload() { if (this.InvokeRequired) { this.Invoke(new UploadDelegate(Upload)); } else { ErrorLabel.Visible = false; ProgressValueLabel.Text = "Started."; ProgressValueLabel.Refresh(); SetButtonEnabilityOnUploading(); int totalRows = EmailsListView.Items.Count; List <EUField> fields = SharePointManager.GetFields(_siteSetting, _webURL, _listName); SharePointCopyWS.CopyResult[] myCopyResultArray = null; string log = String.Empty; bool hasError = false; if (_isListItemAndAttachmentMode == false) { for (int i = 0; i < EmailsListView.Items.Count; i++) { if (backgroundWorker1.CancellationPending == true) { ProgressValueLabel.Text = "Cancelled."; ProgressValueLabel.Refresh(); return; } ListViewItem listViewItem = EmailsListView.Items[i]; if (listViewItem.Checked == false) { continue; } EUEmailMetaData metaData = listViewItem.Tag as EUEmailMetaData; string filename = listViewItem.SubItems[1].Text; string newFilename = listViewItem.Text; ProgressValueLabel.Text = newFilename + " is being uploaded..."; ProgressValueLabel.Refresh(); string filePath = _sourceFolder + "\\" + filename; byte[] itemByteArray = SharePointManager.ReadByteArrayFromFile(filePath); string sourceDest = _destinationFolderUrl + "/" + newFilename; string[] sourceDests = new string[] { sourceDest }; EUListItem listItem; SharePointManager.UploadFile(_siteSetting, _listName, _rootFolderPath, _siteURL, _webURL, newFilename, sourceDests, itemByteArray, fields, metaData, _fieldInfoArray, out listItem); /* * foreach (SharePointCopyWS.CopyResult copyResult in myCopyResultArray) * { * if (copyResult.ErrorCode != Sobiens.Office.SharePointOutlookConnector.SharePointCopyWS.CopyErrorCode.Success) * hasError = true; * log += "DestinationUrl:" + copyResult.DestinationUrl + Environment.NewLine + "ErrorCode:" + copyResult.ErrorCode.ToString() + Environment.NewLine + "ErrorMessage:" + copyResult.ErrorMessage + Environment.NewLine; * } * LogManager.Log(log, EULogModes.Normal); */ SetProgressBar(i, totalRows); } } else { Hashtable emails = new Hashtable(); for (int i = 0; i < EmailsListView.Items.Count; i++) { ListViewItem listViewItem = EmailsListView.Items[i]; //DataGridViewRow dataGridViewRow = EmailsDataGridView.Rows[i]; //bool included = (bool)dataGridViewRow.Cells["Included"].Value; if (listViewItem.Checked == false) { continue; } Microsoft.Office.Interop.Outlook.MailItem emailItem = listViewItem.Tag as Microsoft.Office.Interop.Outlook.MailItem; if (emails[emailItem.EntryID] == null) { emails[emailItem.EntryID] = new List <ListViewItem>(); } ((List <ListViewItem>)emails[emailItem.EntryID]).Add(listViewItem); } totalRows = emails.Count; int currentIndex = 0; foreach (object attachmentsObject in emails.Values) { if (backgroundWorker1.CancellationPending == true) { ProgressValueLabel.Text = "Cancelled."; ProgressValueLabel.Refresh(); return; } List <ListViewItem> attachments = (List <ListViewItem>)attachmentsObject; ListViewItem attachmentRow = attachments[0]; Microsoft.Office.Interop.Outlook.MailItem emailItem = attachmentRow.Tag as Microsoft.Office.Interop.Outlook.MailItem; string body = emailItem.Body; int id = SharePointManager.CreateListItem(_siteSetting, _rootFolderPath, _webURL, _listName, emailItem.Subject, body); foreach (ListViewItem attachmentRow1 in attachments) { //string filename = attachmentRow1.Cells["Filename"].Value.ToString(); //string newFilename = attachmentRow1.Cells["NewFilename"].Value.ToString(); string filename = attachmentRow1.SubItems[0].Text; string newFilename = attachmentRow1.Text; ProgressValueLabel.Text = newFilename + " is being uploaded..."; ProgressValueLabel.Refresh(); string filePath = _sourceFolder + "\\" + filename; byte[] itemByteArray = SharePointManager.ReadByteArrayFromFile(filePath); string result = SharePointManager.AddAttachment(_siteSetting, _webURL, _listName, id, newFilename, itemByteArray); log += "WebURL:" + _webURL + Environment.NewLine + "ListName:" + _listName + Environment.NewLine + "filePath:" + filePath + Environment.NewLine + "newFilename:" + newFilename + Environment.NewLine + "result:" + result + Environment.NewLine; LogManager.Log(log, EULogModes.Normal); } SetProgressBar(currentIndex, totalRows); currentIndex++; } } CurrentUploadLog = log; if (hasError == true) { ErrorLabel.Visible = true; } } }
public void Upload() { if (this.InvokeRequired) { this.Invoke(new UploadDelegate(Upload)); } else { ErrorLabel.Visible = false; ProgressValueLabel.Text = "Started."; ProgressValueLabel.Refresh(); SetButtonEnabilityOnUploading(); int totalRows = EmailsListView.Items.Count; List <EUField> fields = SharePointManager.GetFields(_siteSetting, _webURL, _listName); SharePointCopyWS.CopyResult[] myCopyResultArray = null; string log = String.Empty; bool hasError = false; for (int i = 0; i < EmailsListView.Items.Count; i++) { if (backgroundWorker1.CancellationPending == true) { ProgressValueLabel.Text = "Cancelled."; ProgressValueLabel.Refresh(); return; } ListViewItem listViewItem = EmailsListView.Items[i]; if (listViewItem.Checked == false) { continue; } EUEmailMetaData metaData = (EUEmailMetaData)listViewItem.Tag; string filename = listViewItem.SubItems[1].Text; string newFilename = listViewItem.Text; ProgressValueLabel.Text = newFilename + " is being uploaded..."; ProgressValueLabel.Refresh(); string filePath = _sourceFolder + "\\" + filename; byte[] itemByteArray = ReadByteArrayFromFile(filePath); string sourceDest = _destinationFolderUrl + "/" + newFilename; AttachmentLinks += sourceDest.Replace(" ", "%20") + Environment.NewLine; string[] sourceDests = new string[] { sourceDest }; EUListItem listItem; SharePointManager.UploadFile(_siteSetting, _listName, _rootFolderPath, _siteURL, _webURL, newFilename, sourceDests, itemByteArray, fields, metaData, null, out listItem); /* * foreach (SharePointCopyWS.CopyResult copyResult in myCopyResultArray) * { * if (copyResult.ErrorCode != Sobiens.Office.SharePointOutlookConnector.SharePointCopyWS.CopyErrorCode.Success) * hasError = true; * log += "DestinationUrl:" + copyResult.DestinationUrl + Environment.NewLine + "ErrorCode:" + copyResult.ErrorCode.ToString() + Environment.NewLine + "ErrorMessage:" + copyResult.ErrorMessage + Environment.NewLine; * } * LogManager.Log(log, EULogModes.Normal); */ SetProgressBar(i, totalRows); } CurrentUploadLog = log; if (hasError == true) { ErrorLabel.Visible = true; } else { CurrentMailItem.Body = AttachmentLinks + CurrentMailItem.Body; for (int i = 0; i < EmailsListView.Items.Count; i++) { if (EmailsListView.Items[i].Checked == true) { string filename = EmailsListView.Items[i].SubItems[1].Text; for (int x = CurrentMailItem.Attachments.Count; x > 0; x--) { if (CurrentMailItem.Attachments[x].FileName == filename) { CurrentMailItem.Attachments[x].Delete(); } } } } } } }