public void SetImageAccepted(IFormInterface AForm) { FImageSource = (IImageSource)AForm; if (FImageSource.Stream == null) { DataField.ClearValue(); } else { using (DAE.Runtime.Data.Scalar LNewValue = new DAE.Runtime.Data.Scalar(Source.DataView.Process.ValueManager, Source.DataView.Process.DataTypes.SystemGraphic)) { Stream LStream = LNewValue.OpenStream(); try { FImageSource.Stream.Position = 0; StreamUtility.CopyStream(FImageSource.Stream, LStream); } finally { LStream.Close(); } DataField.Value = LNewValue; } } }
public Stream Read(string imageID) { string fileName = BuildFileName(imageID); if (File.Exists(fileName)) return File.OpenRead(fileName); else { FileStream fileStream = new FileStream(fileName, FileMode.CreateNew, FileAccess.ReadWrite); try { object tempValue = _identifiers[imageID]; if (tempValue is String) { using (DAE.Runtime.Data.Scalar scalar = (DAE.Runtime.Data.Scalar)_session.Pipe.RequestDocument((string)tempValue)) StreamUtility.CopyStream(scalar.OpenStream(), fileStream); } else ((GetImageHandler)tempValue)(imageID, fileStream); fileStream.Position = 0; return fileStream; } catch { fileStream.Close(); if (File.Exists(fileName)) File.Delete(fileName); throw; } } }
private void InternalLoadFromFile() { if (String.IsNullOrEmpty(_fileName)) { _fileName = PromptForLoadName(); } using (FileStream fileStream = new FileStream(_fileName, FileMode.Open, FileAccess.Read)) { if (fileStream.Length > _maximumContentLength) { throw new ControlsException(ControlsException.Codes.MaximumContentLengthExceeded, fileStream.Length, _maximumContentLength); } using (DAE.Runtime.Data.Scalar newValue = new DAE.Runtime.Data.Scalar(DataSet.Process.ValueManager, DataSet.Process.DataTypes.SystemBinary)) { using (Stream stream = newValue.OpenStream()) StreamUtility.CopyStream(fileStream, stream); DataField.Value = newValue; } } }