zhouj1203@hotmail.com il y a 2 ans
Parent
commit
112a94cd87
1 fichiers modifiés avec 32 ajouts et 26 suppressions
  1. 32 26
      TEAMModelOS.FunctionV4/CosmosDB/TriggerArt.cs

+ 32 - 26
TEAMModelOS.FunctionV4/CosmosDB/TriggerArt.cs

@@ -356,35 +356,41 @@ namespace TEAMModelOS.FunctionV4.CosmosDB
                             {
                                 //if (rs.totalScore == 0)
                                 //{
-                                    foreach (var sc in rs.subjectScores)
+                                foreach (var sc in rs.subjectScores)
+                                {
+                                    //if (sc.score == 0)
+                                    //{
+                                    /* var subjectMore = rs.results.GroupBy(x => x.subjectId).Select(c => new { subject = c.Key, list = c.ToList().Select(m => new { m.quotaId,m.score}) });
+                                     var totalScore = subjectMore.Select(x => new { 
+                                         x.subject,
+                                         quotaScroe =  x.list.Select(c => new {
+                                             c.quotaId,
+                                             c.score
+                                         }),
+                                     });*/
+                                    var quotaPercent = setting.quotas.Select(x => new
                                     {
-                                        //if (sc.score == 0)
-                                        //{
-                                            /* var subjectMore = rs.results.GroupBy(x => x.subjectId).Select(c => new { subject = c.Key, list = c.ToList().Select(m => new { m.quotaId,m.score}) });
-                                             var totalScore = subjectMore.Select(x => new { 
-                                                 x.subject,
-                                                 quotaScroe =  x.list.Select(c => new {
-                                                     c.quotaId,
-                                                     c.score
-                                                 }),
-                                             });*/
-                                            var quotaPercent = setting.quotas.Select(x => new
+                                        x.id,
+                                        x.percent,
+                                        score = x.children.Select(c => new
+                                        {
+                                            real = rs.results.Where(r => r.quotaId.Equals(c.id) && r.subjectId.Equals(sc.subjectId) && r.score > -1).FirstOrDefault()?.score * c.percent * 0.01,
+                                            score = c.children.Select(s => new
                                             {
-                                                x.id,
-                                                x.percent,
-                                                score = x.children.Select(c => new
-                                                {
-                                                    real = rs.results.Where(r => r.quotaId.Equals(c.id) && r.subjectId.Equals(sc.subjectId) && r.score > -1).FirstOrDefault()?.score * c.percent * 0.01,
-                                                    score = c.children.Select(s => new {
-                                                        real = rs.results.Where(r => r.quotaId.Equals(s.id) && r.subjectId.Equals(sc.subjectId) && r.score > -1).FirstOrDefault()?.score * s.percent * 0.01
-                                                    }).Sum(n => n.real) * c.percent * 0.01
-                                                }).Sum(n => n.real + n.score) * x.percent * 0.01
-                                            });
-                                            sc.score = Math.Round((double)quotaPercent.Sum(c => c.score),2);
-                                        //}
+                                                real = rs.results.Where(r => r.quotaId.Equals(s.id) && r.subjectId.Equals(sc.subjectId) && r.score > -1).FirstOrDefault()?.score * s.percent * 0.01
+                                            }).Sum(n => n.real) * c.percent * 0.01
+                                        }).Sum(n => n.real + n.score) * x.percent * 0.01
+                                    });
+                                    double realScore = Math.Round((double)quotaPercent.Sum(c => c.score) * 1.5, 2);
+                                    if (realScore > 95)
+                                    {
+                                        realScore = new Random().Next(90,100);
                                     }
-                                    rs.totalScore = Math.Round(rs.subjectScores.Where(m => m.score >= 0).Sum(z => z.score), 2);
-                                    tasks.Add(client.GetContainer(Constant.TEAMModelOS, Constant.Student).ReplaceItemAsync(rs, rs.id, new PartitionKey(rs.code)));
+                                    sc.score = realScore;
+                                    //}
+                                }
+                                rs.totalScore = Math.Round(rs.subjectScores.Where(m => m.score >= 0).Sum(z => z.score), 2);
+                                tasks.Add(client.GetContainer(Constant.TEAMModelOS, Constant.Student).ReplaceItemAsync(rs, rs.id, new PartitionKey(rs.code)));
                                 //}
                             }
                             if (tasks.Count > 0)