Ejemplo n.º 1
0
		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;
			}
		}
Ejemplo n.º 2
0
		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();
		}
Ejemplo n.º 3
0
		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();
		}
Ejemplo n.º 4
0
		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);
				}
			}
		}