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); } }
/// <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); } }
/// <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; } }