Exemplo n.º 1
0
        private static PacketDataset CreateChild(int key)
        {
            PacketDataset directChild = new PacketDataset();

            directChild["ChildValue"]  = new Packet(key, PacketType.Atomic);
            directChild["StringArray"] = new Packet(CreateArrayOfStrings(), PacketType.Array);

            return(directChild);
        }
Exemplo n.º 2
0
        private static PacketDataset CreateDecodeSample()
        {
            PacketDataset root = new PacketDataset();

            root["MainValue"]   = new Packet(10, PacketType.Atomic);
            root["DirectChild"] = new Packet(CreateChild(25), PacketType.Dataset);
            root["ChildArray"]  = new Packet(CreateArrayOfDatasets(CreateChild(101), CreateChild(102), CreateChild(103)), PacketType.Array);

            return(root);
        }
Exemplo n.º 3
0
        public Packet Execute()
        {
            PacketDataset dataset = new PacketDataset();

            foreach (DatasetFragment fragment in fragments)
            {
                dataset[fragment.FieldName] = fragment.Query.Execute();
            }

            return(new Packet(dataset, PacketType.Dataset));
        }
Exemplo n.º 4
0
        private static PacketDataset DatasetFromRow(string[] headers, IDataRow row)
        {
            PacketDataset dataset = new PacketDataset();

            for (int i = 0; i < headers.Length; ++i)
            {
                dataset[headers[i]] = new Packet(row.FetchField(i), PacketType.Atomic);
            }

            return(dataset);
        }
Exemplo n.º 5
0
        public static object Decode(PacketDataset dataset, Type t)
        {
            object         result    = Activator.CreateInstance(t);
            ITypeBlueprint blueprint = DecodeBlueprintRepository.Get(t);

            foreach (ITypeElement typeElement in blueprint.AllElements)
            {
                Packet p = dataset[typeElement.Name];

                object decodedValue = Decoder.Decode(p, typeElement.ElementType);

                typeElement.SetValue(result, decodedValue);
            }

            return(result);
        }
Exemplo n.º 6
0
        public Packet Execute()
        {
            PacketDataset dataset = DataRowConverter.DatasetFrom(reader);

            return(new Packet(dataset, PacketType.Dataset));
        }