public void UploadWithProperties(byte[] fileBuf, string url, Field[] properties) { Logger.LogMethod(); try { using (new UserImpersonator()) { SPFile file = SharePointHelper.GetSharePointObjectByType(url, Workshare.Connect.SharePoint.WebService.Item.ItemKind.File) as SPFile; if (file != null) { Logger.Log.Debug("Uploading to existing file"); bool bForceCheckOut = CheckForceCheckOut(file) && file.CheckOutStatus.Equals(SPFile.SPCheckOutStatus.None); if (bForceCheckOut) { file.CheckOut(); } file.SaveBinary(fileBuf); SetProperties(file, properties); if (bForceCheckOut) { file.CheckIn("Workshare CheckIn"); } } else { Logger.Log.Debug("Uploading to new file"); object o = SharePointHelper.GetSharePointObjectByType(SharePointHelper.GetUrlParent(url), Workshare.Connect.SharePoint.WebService.Item.ItemKind.Folder); if (o == null || !(o is SPFolder)) return; SPFolder folder = o as SPFolder; file = folder.Files.Add(url, fileBuf); AddProperties(file, properties); } } } catch (Exception ex) { Logger.LogException(ex.Message, ex); throw; } }
private void SetProperties(SPFile file, Field[] fields) { if ((fields == null) || (fields.Length == 0)) { return; } SPListItem item = file.Item; foreach (Field field in fields) { item[field.Name] = field.Value; } item.Update(); }
private void AddProperties(SPFile file, Field[] fields) { if (fields == null) return; SPListItem item = file.Item; foreach (Field field in fields) { try { if (item.Properties.ContainsKey(field.Name) || IsBuiltInProperty(field.Name)) { item[field.Name] = field.Value; } else { item.Properties.Add(field.Name, field.Value); } } catch (Exception ex) { Logger.LogException("Error adding property (" + field.Name + ") ", ex); } } item.Update(); }
public void SetProperties(string url, Field[] fields) { using (new UserImpersonator()) { object o = null; o = SharePointHelper.GetSharePointObjectByType(url, Workshare.Connect.SharePoint.WebService.Item.ItemKind.File); if (o != null && o is SPFile) { Logger.Log.Debug("Uploading to existing file"); SPFile file = o as SPFile; SetProperties(file, fields); } } }