Esempio n. 1
0
        public void Serializer(Stream stream, IMessageSerializer serializeHelper)
        {
            var len = new UnsignedInt((uint)Value.Length);

            len.Serializer(stream, serializeHelper);
            stream.Write(Value, 0, Value.Length);
        }
Esempio n. 2
0
        public void Serializer(Stream stream, IMessageSerializer serializeHelper)
        {
            var buf = Hex.HexToBytes(Value);
            var len = new UnsignedInt((uint)buf.Length);

            len.Serializer(stream, serializeHelper);
            stream.Write(buf, 0, buf.Length);
        }
Esempio n. 3
0
        private List <Expression> ToExpressions(UnsignedInt element)
        {
            if (element == null || !element.Value.HasValue)
            {
                return(null);
            }

            return(ListOf(new NumberValue(element.Value.Value)));
        }
Esempio n. 4
0
        public void Can_ConvertElement_R3_UnsignedInt_To_R4_UnsignedInt()
        {
            var value          = 0;
            var r3TypeInstance = new UnsignedInt(value);
            var r4TypeInstance = new FhirConverter(FhirVersion.R4, FhirVersion.R3)
                                 .Convert <UnsignedInt, UnsignedInt>(r3TypeInstance);

            Assert.NotNull(r4TypeInstance);
            Assert.Equal(value, r4TypeInstance.Value);
        }
Esempio n. 5
0
        public void ReadJson(JsonReader reader, JsonSerializer serializer)
        {
            var value = serializer.Deserialize <string>(reader);

            if (string.IsNullOrEmpty(value))
            {
                return;
            }

            var args = value.Split('.');

            SpaceId  = byte.Parse(args[0]);
            TypeId   = byte.Parse(args[1]);
            Instance = uint.Parse(args[2]);
        }
Esempio n. 6
0
        public void TestIntegerValueInterface()
        {
            INullableIntegerValue iv = new Integer(null);

            Assert.IsNotNull(iv);
            iv.Value = 12345;
            Assert.AreEqual(iv.Value, 12345);

            iv = new UnsignedInt(0);
            Assert.IsNotNull(iv);
            iv.Value = 12345;
            Assert.AreEqual(iv.Value, 12345);

            iv = new PositiveInt(1);
            Assert.IsNotNull(iv);
            iv.Value = 12345;
            Assert.AreEqual(iv.Value, 12345);
        }
Esempio n. 7
0
 public ObjectId(byte spaceId, byte typeId, uint instance)
 {
     SpaceId  = spaceId;
     TypeId   = typeId;
     Instance = instance;
 }
Esempio n. 8
0
        public virtual void AddToMessageStream(Stream stream, Type type, object val)
        {
            switch (val)
            {
            case bool typed:
            {
                stream.WriteByte((byte)(typed ? 1 : 0));
                return;
            }

            case byte typed:
            {
                stream.WriteByte(typed);
                return;
            }

            case short typed:
            {
                var buf = BitConverter.GetBytes(typed);
                stream.Write(buf, 0, buf.Length);
                return;
            }

            case ushort typed:
            {
                var buf = BitConverter.GetBytes(typed);
                stream.Write(buf, 0, buf.Length);
                return;
            }

            case int typed:
            {
                var buf = BitConverter.GetBytes(typed);
                stream.Write(buf, 0, buf.Length);
                return;
            }

            case uint typed:
            {
                var buf = BitConverter.GetBytes(typed);
                stream.Write(buf, 0, buf.Length);
                return;
            }

            case long typed:
            {
                var buf = BitConverter.GetBytes(typed);
                stream.Write(buf, 0, buf.Length);
                return;
            }

            case ulong typed:
            {
                var buf = BitConverter.GetBytes(typed);
                stream.Write(buf, 0, buf.Length);
                return;
            }

            case float typed:
            {
                var buf = BitConverter.GetBytes(typed);
                stream.Write(buf, 0, buf.Length);
                return;
            }

            case double typed:
            {
                var buf = BitConverter.GetBytes(typed);
                stream.Write(buf, 0, buf.Length);
                return;
            }

            case byte[] typed:
            {
                stream.Write(typed, 0, typed.Length);
                return;
            }

            case string typed:
            {
                if (string.IsNullOrEmpty(typed))
                {
                    stream.WriteByte(0);
                    return;
                }
                var buf = Encoding.UTF8.GetBytes(typed);

                var buflen = new UnsignedInt((uint)buf.Length);
                buflen.Serializer(stream, this);

                stream.Write(buf, 0, buf.Length);
                return;
            }

            case ICustomSerializer typed:
            {
                typed.Serializer(stream, this);
                return;
            }

            default:
            {
                if (type.IsEnum)
                {
                    stream.WriteByte((byte)val);
                    return;
                }
                if (type.IsArray)
                {
                    var typed = (ICollection)val;
                    if (typed == null)
                    {
                        return;
                    }

                    var buf = new UnsignedInt((uint)typed.Count);
                    buf.Serializer(stream, this);

                    foreach (var value in typed)
                    {
                        AddToMessageStream(stream, value.GetType(), value);
                    }
                    return;
                }
                if (type.IsClass)
                {
                    var chType     = val.GetType();
                    var properties = GetPropertiesForMessage(chType);
                    foreach (var prop in properties)
                    {
                        AddToMessageStream(stream, prop, val);
                    }
                    return;
                }
                throw new NotImplementedException();
            }
            }
        }
Esempio n. 9
0
 private static List <Expression> ToExpressions(UnsignedInt element) =>
 element?.Value == null ? null : ListOf(new NumberValue(element.Value.Value));