@@ -29,6 +29,8 @@ class _MarksState extends State<Marks> {
2929 final Map <String , String > body = {
3030 "__RequestVerificationToken" : SessionManager .rf ?? "" ,
3131 "ASP.NET_SessionId" : SessionManager .asp ?? "" ,
32+ "Enrollment" : "" ,
33+ "Semester" : selectedSemester! ,
3234 };
3335
3436 try {
@@ -37,7 +39,46 @@ class _MarksState extends State<Marks> {
3739 if (response.statusCode == 200 ) {
3840 setState (() {
3941 marksData = List <Map <String , dynamic >>.from (
40- response.data["InternalMarksList" ]);
42+ (response.data["InternalMarksList" ] as List ).map ((course) {
43+ final courseMap = Map <String , dynamic >.from (course);
44+
45+ double total = 0.0 ;
46+ double maxMarks = 100 ;
47+
48+ double mte1 =
49+ double .tryParse (courseMap['MTE1' ]? .toString () ?? "0" ) ?? 0 ;
50+ double mte2 =
51+ double .tryParse (courseMap['MTE2' ]? .toString () ?? "0" ) ?? 0 ;
52+ double cws =
53+ double .tryParse (courseMap['CWS' ]? .toString () ?? "0" ) ?? 0 ;
54+ double ete =
55+ double .tryParse (courseMap['ETE' ]? .toString () ?? "0" ) ?? 0 ;
56+ double prs =
57+ double .tryParse (courseMap['PRS' ]? .toString () ?? "0" ) ?? 0 ;
58+
59+ if (courseMap['Total' ] == "-" ) {
60+ if (prs > 0 ) {
61+ total = prs;
62+ maxMarks = 60 ;
63+ } else if (mte1 > 0 && mte2 > 0 ) {
64+ total = mte1 + mte2 + cws + ete;
65+ maxMarks = 100 ; // 40 + 20 + 40
66+ } else if (mte1 > 0 ) {
67+ total = mte1 + cws + ete;
68+ maxMarks = 100 ; // 30 + 30 + 40
69+ }
70+ } else {
71+ total = double .tryParse (courseMap['Total' ]? .toString () ?? "0" ) ?? 0 ;
72+ }
73+
74+ courseMap['RESESSION' ] = courseMap['RESESSION' ] ?? "-" ;
75+
76+ return {
77+ ...courseMap,
78+ 'Total' : total,
79+ 'MaxMarks' : maxMarks,
80+ };
81+ }));
4182 isLoading = false ;
4283 });
4384 } else {
0 commit comments