Exemple #1
0
        /// <summary>
        /// Parses the Json string and returns a new User instance populated with all details. On failure, the method returns null.
        /// </summary>
        /// <param name="jsonString"></param>
        /// <returns></returns>
        public static User TryParseData(string jsonString)
        {
            try
            {
                User       user       = GetJsonStringOwner(jsonString);
                JsonObject rootObject = JsonObject.Parse(jsonString);

                ushort    totalCredits = 0;
                JsonArray coursesArray = rootObject.GetNamedArray("courses");
                foreach (JsonValue courseValue in coursesArray)
                {
                    JsonObject courseObj = courseValue.GetObject();
                    Course     course;
                    int        courseType = (int)courseObj.GetNamedNumber("course_type");
                    switch (courseType)
                    {
                    case 1:
                        course = new CBLCourse();
                        break;

                    case 2:
                        course = new LBCCourse();
                        break;

                    case 3:
                        course = new PBLCourse();
                        break;

                    case 4:
                        course = new RBLCourse();
                        break;

                    case 5:
                    case 6:
                        course = new PBCCourse();
                        break;

                    default:
                        continue;
                    }
                    AssignCourseDetails(course, courseObj);
                    user.AddCourse(course);
                    totalCredits += course.Credits;
                }
                user.CoursesMetadata = new CoursesMetadata(
                    rootObject.GetNamedString("semester"), GetRefreshUTC(rootObject.GetNamedString("refreshed")), totalCredits);
                return(user);
            }
            catch
            {
                return(null);
            }
        }
Exemple #2
0
        /// <summary>
        /// Parses the Json string and returns a new User instance populated with all details. On failure, the method returns null.
        /// </summary>
        /// <param name="jsonString"></param>
        /// <returns></returns>
        public static User TryParseData(string jsonString)
        {
            try
            {
                User       user;
                JsonObject rootObject = JsonObject.Parse(jsonString);

                string         regNo  = rootObject.GetNamedString("reg_no");
                DateTimeOffset dob    = DateTimeOffset.ParseExact(rootObject.GetNamedString("dob"), "ddMMyyyy", CultureInfo.InvariantCulture);
                string         campus = rootObject.GetNamedString("campus");
                user = new User(regNo, dob, campus);

                JsonArray coursesArray = rootObject.GetNamedArray("courses");
                foreach (JsonValue courseValue in coursesArray)
                {
                    JsonObject courseObj = courseValue.GetObject();
                    Course     course;
                    int        courseType = (int)courseObj.GetNamedNumber("course_type");
                    switch (courseType)
                    {
                    case 1:
                        course = new CBLCourse();
                        break;

                    case 2:
                        course = new LBCCourse();
                        break;

                    case 3:
                        course = new PBLCourse();
                        break;

                    case 5:
                        course = new PBCCourse();
                        break;

                    default:
                        continue;
                    }
                    AssignCourseDetails(course, courseObj);
                    user.AddCourse(course);
                }
                user.CoursesMetadata = new CoursesMetadata(
                    rootObject.GetNamedString("semester"),
                    DateTimeOffset.Parse(rootObject.GetNamedString("refreshed"), CultureInfo.InvariantCulture, DateTimeStyles.RoundtripKind));
                return(user);
            }
            catch
            {
                return(null);
            }
        }
Exemple #3
0
        // Depth 2 Assignment (CBL, PBL, ...)
        private static void AssignSpecificDetails(CBLCourse course, JsonObject courseObject)
        {
            JsonObject marksObject = courseObject.GetNamedObject("marks");
            double     scored = 0, total = 0;
            double?    temp;

            // Quiz Marks
            for (int i = 0; i < 3; i++)
            {
                course._quizMarks[i] = GetMarksInfo(course, "quiz" + (i + 1), marksObject);
                temp = course._quizMarks[i].Marks;
                if (temp != null)
                {
                    scored += (double)temp;
                    total  += 5;
                }
            }
            // CAT Marks
            for (int i = 0; i < 2; i++)
            {
                course._catMarks[i] = GetMarksInfo(course, "cat" + (i + 1), marksObject);
                temp = course._quizMarks[i].Marks;
                if (temp != null)
                {
                    scored += ((double)temp / 15);
                    total  += 15;
                }
            }
            // Assignment Marks
            course.AssignmentMarks = GetMarksInfo(course, "assignment", marksObject);
            temp = course.AssignmentMarks.Marks;
            if (temp != null)
            {
                scored += (double)temp;
                total  += 5;
            }

            course.InternalMarksScored = scored;
            course.TotalMarksTested    = total;
        }
 // Depth 2 Assignment (CBL, PBL, ...)
 private static void AssignSpecificDetails(CBLCourse course, JsonObject courseObject)
 {
 }
        /// <summary>
        /// Parses the Json string and returns a new User instance populated with all details. On failure, the method returns null.
        /// </summary>
        /// <param name="jsonString"></param>
        /// <returns></returns>
        public static User TryParseData(string jsonString)
        {
            try
            {
                User user = GetJsonStringOwner(jsonString);
                JsonObject rootObject = JsonObject.Parse(jsonString);

                ushort totalCredits = 0;
                JsonArray coursesArray = rootObject.GetNamedArray("courses");
                foreach (JsonValue courseValue in coursesArray)
                {
                    JsonObject courseObj = courseValue.GetObject();
                    Course course;
                    int courseType = (int)courseObj.GetNamedNumber("course_type");
                    switch (courseType)
                    {
                        case 1:
                            course = new CBLCourse();
                            break;
                        case 2:
                            course = new LBCCourse();
                            break;
                        case 3:
                            course = new PBLCourse();
                            break;
                        case 4:
                            course = new RBLCourse();
                            break;
                        case 5:
                        case 6:
                            course = new PBCCourse();
                            break;
                        default:
                            continue;
                    }
                    AssignCourseDetails(course, courseObj);
                    user.AddCourse(course);
                    totalCredits += course.Credits;
                }
                user.CoursesMetadata = new CoursesMetadata(
                            rootObject.GetNamedString("semester"), GetRefreshUTC(rootObject.GetNamedString("refreshed")), totalCredits);
                return user;
            }
            catch
            {
                return null;
            }
        }
Exemple #6
0
 // Depth 2 Assignment (CBL, PBL, ...)
 private static void AssignSpecificDetails(CBLCourse course, JsonObject courseObject)
 {
 }