Beispiel #1
0
 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;
         }
     }
 }
Beispiel #2
0
 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;
         }
     }
 }
Beispiel #3
0
 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;
         }
     }
 }