예제 #1
0
        public override JToken ToJToken(ApiVersion version, ResultFormat format)
        {
            var jobj = new JObject();

            if (Registration.HasValue)
            {
                jobj["registration"] = Registration;
            }

            if (Instructor != null)
            {
                jobj["instructor"] = Instructor.ToJToken(version, format);
            }

            if (Instructor != null)
            {
                jobj["instructor"] = Instructor.ToJToken(version, format);
            }

            if (Team != null)
            {
                jobj["team"] = Team.ToJToken(version, format);
            }

            if (ContextActivities != null)
            {
                jobj["contextActivities"] = ContextActivities.ToJToken(version, format);
            }

            if (Revision != null)
            {
                jobj["revision"] = Revision;
            }

            if (Platform != null)
            {
                jobj["platform"] = Platform;
            }

            if (Language != null)
            {
                jobj["language"] = Language;
            }

            if (Statement != null)
            {
                jobj["statement"] = Statement.ToJToken(version, format);
            }

            if (Extensions != null)
            {
                jobj["extensions"] = Extensions.ToJToken(version, format);
            }

            return(jobj);
        }
예제 #2
0
        public Context(JToken context, ApiVersion version)
        {
            GuardType(context, JTokenType.Object);

            var registration = context["registration"];

            if (registration != null)
            {
                GuardType(registration, JTokenType.String);

                Registration = ParseGuid(registration);
            }

            var instructor = context["instructor"];

            if (instructor != null)
            {
                GuardType(instructor, JTokenType.Object);
                ObjectType objectType = ParseObjectType(instructor["objectType"], ObjectType.Agent, ObjectType.Group);

                if (objectType != null && objectType == ObjectType.Group)
                {
                    Instructor = new Group(instructor, version);
                }
                else
                {
                    Instructor = new Agent(instructor, version);
                }
            }

            var team = context["team"];

            if (team != null)
            {
                Instructor = new Group(team, version);
            }

            var contextActivities = context["contextActivities"];

            if (contextActivities != null)
            {
                ContextActivities = new ContextActivities(contextActivities, version);
            }

            var revision = context["revision"];

            if (revision != null)
            {
                GuardType(revision, JTokenType.String);
                Revision = revision.Value <string>();
            }

            var platform = context["platform"];

            if (platform != null)
            {
                GuardType(platform, JTokenType.String);
                Platform = platform.Value <string>();
            }

            var language = context["language"];

            if (language != null)
            {
                GuardType(language, JTokenType.String);
                Language = language.Value <string>();
            }

            var statement = context["statement"];

            if (statement != null)
            {
                ParseObjectType(statement["objectType"], ObjectType.StatementRef);
                Statement = new StatementRef(statement, version);
            }

            var extensions = context["extensions"];

            if (extensions != null)
            {
                Extensions = new ExtensionsDictionary(extensions, version);
            }
        }