Example #1
0
        private static void AssignSpecificDetails(PBLCourse course, JsonObject courseObject)
        {
            JsonArray marksArray = courseObject.GetNamedObject("marks").GetNamedArray("details");

            foreach (JsonValue marksValue in marksArray)
            {
                JsonObject marksObject = marksValue.GetObject();

                string title     = marksObject.GetNamedString("title");
                int    maxMarks  = (int)marksObject.GetNamedNumber("max_marks");
                int    weightage = (int)marksObject.GetNamedNumber("weightage");

                PBLCourse.PBLMarkInfo markInfo;
                if (marksObject.GetNamedValue("conducted_on").ValueType == JsonValueType.Null)
                {
                    markInfo = new PBLCourse.PBLMarkInfo(course, title, maxMarks, weightage, null, null, "");
                }
                else
                {
                    markInfo = new PBLCourse.PBLMarkInfo(course, title, maxMarks, weightage,
                                                         DateTimeOffset.ParseExact(marksObject.GetNamedString("conducted_on"), "yyyy-MM-dd", CultureInfo.InvariantCulture),
                                                         marksObject.GetNamedNumber("scored_mark"),
                                                         marksObject.GetNamedString("status"));
                    if (markInfo.Marks != null)
                    {
                        course.InternalMarksScored += (double)markInfo.Marks * weightage / markInfo.MaxMarks;
                        course.TotalMarksTested    += markInfo.Weightage;
                    }
                }
                course._pblMarks.Add(markInfo);
            }
        }
Example #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       = 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);
            }
        }
Example #3
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);
            }
        }
 private static void AssignSpecificDetails(PBLCourse 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;
            }
        }
Example #6
0
 private static void AssignSpecificDetails(PBLCourse course, JsonObject courseObject)
 {
 }