public bool TryDictify( dynamic objectData, IGraphSONWriter serializer, IGenericSerializer genericSerializer, out dynamic result) { if (objectData == null) { result = null; return(false); } var tupleType = (Type)objectData.GetType(); if (!Utils.IsTuple(tupleType)) { result = null; return(false); } var tupleTypeInfo = tupleType.GetTypeInfo(); var subtypes = tupleTypeInfo.GetGenericArguments(); var data = new List <object>(); for (var i = 1; i <= subtypes.Length; i++) { var prop = tupleTypeInfo.GetProperty("Item" + i); if (prop != null) { data.Add(prop.GetValue(objectData, null)); } } var dict = new Dictionary <string, dynamic> { { "cqlType", "tuple" }, { "definition", data.Select(elem => ComplexTypeDefinitionHelper.GetDefinitionByValue(genericSerializer, elem)) }, { "value", data.Select(d => serializer.ToDict(d)) } }; result = GraphSONUtil.ToTypedValue("Tuple", dict, "dse"); return(true); }
private Dictionary <string, dynamic> GetUdtTypeDefinition(UdtMap map, IGenericSerializer genericSerializer) { return(ComplexTypeDefinitionHelper.GetUdtTypeDefinition( new Dictionary <string, dynamic>(), map, genericSerializer)); }