Exemple #1
0
			} // func GetOutFiles

			public bool UpdateOutFileState(IOdetteFileEndToEndDescription description)
			{
				if (service.directoryOut == null) // do we have the directory
					return false;

				// check file exists
				var fi = service.CreateOutFileName(description.Name, OdetteOutFileState.WaitEndToEnd);
				if (!fi.Exists)
					return false;

				// mark file as finish
				ChangeOutFileState(fi, OdetteOutFileState.ReceivedEndToEnd);

				// update file information
				var fileItem = new FileItem(service, fi, description.Name, false);
				fileItem.Log(log, String.Format("Update file commit: {0} with [{1}] {2}", OdetteFileMutable.FormatFileName(description.Name, description.UserData), description.ReasonCode, description.ReasonText));

				var xCommit = fileItem.Extensions.Root.Element("commit");
				if (xCommit == null)
					fileItem.Extensions.Root.Add(xCommit = new XElement("commit"));
				
				xCommit.SetAttributeValue("reasonCode", description.ReasonCode);
				xCommit.SetAttributeValue("reasonText", description.ReasonText);
				xCommit.SetAttributeValue("userData", description.UserData);

				fileItem.SaveExtensions();

				return true;
			} // proc UpdateOutFileState