/// <summary> /// An item is being deleted /// </summary> public override void ItemDeleting(SPItemEventProperties properties) { Logger.WriteLog(Logger.Category.Information, "ItemDeleting", "Started."); try { //get settings from the appropriate list SharprSettings settings = GetSharprSettingValues(properties); if (properties.List.Title == settings.DocumentListName) { SharprSyncService sss = SharprSyncService.Instance; sss.InitSettings(settings.SharprURL, settings.SharprUser, settings.SharprPass, settings.DocumentListName, settings.FileMetadata); SPFile sFile = properties.ListItem.File; sss.RemoveFileFromSharpr(sFile.UniqueId.ToString()); Logger.WriteLog(Logger.Category.Information, "ItemDeleting", "Completed."); } } catch (Exception ex) { Logger.WriteLog(Logger.Category.Unexpected, "ItemDeleting", ex.Message + Environment.NewLine + ex.StackTrace); } finally { base.ItemDeleting(properties); } }
private void SendFile(SPItemEventProperties properties) { //get settings from the appropriate list SharprSettings settings = GetSharprSettingValues(properties); SharprSyncService sss = SharprSyncService.Instance; sss.InitSettings(settings.SharprURL, settings.SharprUser, settings.SharprPass, settings.DocumentListName, settings.FileMetadata); if (settings.InitialExportDate == null) { try { Logger.WriteLog(Logger.Category.Information, "SendFile", "performing initial export."); SharprInitResults result = sss.InitialListLoad(properties.Web); Logger.WriteLog(Logger.Category.Information, "SendFile", "Initial export complete, writing results."); WriteSharprSettingValue(properties, "Sharpr Service Init Date", DateTime.UtcNow.ToShortDateString()); WriteSharprSettingValue(properties, "Sharpr Export Results", Newtonsoft.Json.JsonConvert.SerializeObject(result)); } catch { } } else { SPFile sFile = properties.ListItem.File; Logger.WriteLog(Logger.Category.Information, "SendFile", "Got file for export : " + sFile.Name); //WriteSharprSettingValue(properties, "Currently Processing Files", settings.CurrentlyProcessingFile + "," + sFile.Name); this.currentFileList.Add(new SharprTransferRecord { FileName = sFile.Name, TimeStamp = DateTime.UtcNow, Result = "Started" }); string contentType = MimeMapping.GetMimeMapping(sFile.Name); byte[] fileContents = sFile.OpenBinary(); MemoryStream mStream = new MemoryStream(); mStream.Write(fileContents, 0, fileContents.Length); List <SharprFileMetadata> metadata = new List <SharprFileMetadata>(); metadata.AddRange(settings.FileMetadata); foreach (SharprFileMetadata m in metadata) { try { m.PropertyValue = ((string)sFile.Item[m.SharePointPropertyName].ToString()); } catch (Exception ex) { //do nothing } } Logger.WriteLog(Logger.Category.Information, "SendFile", "Calling UploadFileToSharpr."); //now that we have the contents, upload to Sharpr string result = sss.UploadFileToSharpr(sFile.UniqueId.ToString(), sFile.Name, contentType, mStream, metadata); } }