public object FieldToItem(string name) { object result = null; switch (name) { case FieldId: result = Id; break; case FieldImageId: result = ImageId; break; case FieldRecordedAt: result = RecordedAt; break; case FieldLatitudePrecision: result = LatitudePrecision; break; case FieldLongitudePrecision: result = LongitudePrecision; break; case FieldHeightPrecision: result = HeightPrecision; break; case FieldOrientation: result = Orientation; break; case FieldOrientationPrecision: result = OrientationPrecision; break; case FieldGroundLevelOffset: result = GroundLevelOffset; break; case FieldRecorderDirection: result = RecorderDirection; break; case FieldProductType: result = ProductType.ToString(); break; case FieldIsAuthorized: result = IsAuthorized.ToString(); break; case FieldExpiredAt: result = ExpiredAt; break; case FieldTileSchema: result = TileSchema.ToString(); break; case FieldYear: if (RecordedAt != null) { var thisDateTime = (DateTime)RecordedAt; result = thisDateTime.Year; } break; case FieldPip: result = (Images.Image.Length >= 2).ToString(); break; case FieldPip1Yaw: result = (Images.Image.Length >= 1) ? Images.Image[0].Yaw : null; break; case FieldPip2Yaw: result = (Images.Image.Length >= 2) ? Images.Image[1].Yaw : null; break; case FieldHasDepthMap: result = HasDepthMap.ToString(); break; case FieldHeight: result = Height.Value; break; case FieldHeightSystem: result = Height.System; break; } return(result); }