예제 #1
0
 public override async Task Init()
 {
     NestedDataSet.LoadFromQueryable(
         Enumerable.Range(0, 100)
         .Select(x => new NestedViewModel {
         Id = $"row {x}"
     })
         .AsQueryable()
         );
 }
예제 #2
0
 /// <summary>
 ///     Re-creates this DICOM value instance from specified DICOM
 ///     output stream using <see cref="Value.TransferSyntax" />.
 /// </summary>
 public void LoadFrom(Stream stream)
 {
     streamPosition = stream.Position;
     DicomContext.Set(stream, VR.Tag);
     if (ValueLength.IsUndefined)
     {
         // use of delimitation (undefined length)
         if (IsSequence)
         {
             // sequence delimitation
             Sequence sq = new Sequence(stream, TransferSyntax);
             Add(sq);
         }
         else if (IsNestedDataSet)
         {
             // item delimitation
             NestedDataSet ds = new NestedDataSet(stream,
                                                  TransferSyntax);
             Add(ds);
         }
         else
         {
             throw new DicomException(
                       "Value length is undefined but value is whether " +
                       "sequence nor data set.", this.VR.Tag);
         }
     }
     else
     {
         if (stream.Position + valueLength.Value <= stream.Length)
         {
             // use of length value
             byte[] buffer = new byte[ValueLength.Value];
             stream.Read(buffer, 0, ValueLength.Value);
             Array multiValue = VR.Decode(buffer);
             Add(multiValue);
         }
         else
         {
             throw new DicomException("Value length is out of bounds.",
                                      "Value/stream.Length, Value/ValueLength.Value",
                                      stream.Length.ToString() + ", " +
                                      ValueLength.Value.ToString());
         }
     }
     DicomContext.Reset();
 }