|
@@ -49,21 +49,21 @@ IES早间报告:{tmdname}您好,以下是您发布过的作业任务汇总
|
|
static string cn_lessonTitle = "课堂教学出席详情:";
|
|
static string cn_lessonTitle = "课堂教学出席详情:";
|
|
static string cn_groupTitle = "个人课程名单变化详情:";
|
|
static string cn_groupTitle = "个人课程名单变化详情:";
|
|
|
|
|
|
- static string cn_lessonDetail = @"</br>课例名称:{name},开课时间:{time},时长:{duration}
|
|
|
|
-1.本节课名单{count}人,分成{groupCount}组,出席人数:{attendCount}人,缺席:{absentCount}人,出席率{attendRate}%<br>
|
|
|
|
-2.学习参与度指数平均:{engagementIndexAverge} <br>
|
|
|
|
- 分组参与度:{grpEngagement}<br>
|
|
|
|
- 参与较多者:{highRankEngagement}<br>
|
|
|
|
-3.记分:总记分:{totalPoint}分 <br>
|
|
|
|
- 个人记分较多者:{highRankPerPoint}<br>
|
|
|
|
- 小组记分较多的:{highRankGrpPoint}<br>
|
|
|
|
-4.互动:{interactionCount}题,总互动分:{totalInteractPoint}分<br>
|
|
|
|
-5.任务:{pushCount}次,作品总数:{collateTaskCount}件<br>
|
|
|
|
-6.测验:{examCount}次,题数:{examQuizCount}题,平均得分率:{examPointRate}% <br>
|
|
|
|
- 表现较好者:{highRankExam}<br>
|
|
|
|
- 表现较弱者:{lowRankExam}<br>
|
|
|
|
-7.互评:{smartRatingCount}次,合计参与:{clientSmartRatingCount}次<br>
|
|
|
|
-8.协作:{coworkTaskCount}次,作品总数:{coworkGroupCount}件,总操作量:{coworkGroupCount}<br>";
|
|
|
|
|
|
+ static string cn_lessonDetail = @"</br>课例名称:{name},开课时间:{time},时长:{duration}分钟</br>
|
|
|
|
+1.本节课名单{count}人,分成{groupCount}组,出席人数:{attendCount}人,缺席:{absentCount}人,出席率{attendRate}%</br>
|
|
|
|
+2.学习参与度指数平均:{engagementIndexAverge} </br>
|
|
|
|
+ 分组参与度:{grpEngagement}</br>
|
|
|
|
+ 参与较多者:{highRankEngagement}</br>
|
|
|
|
+3.记分:总记分:{totalPoint}分 </br>
|
|
|
|
+ 个人记分较多者:{highRankPerPoint}</br>
|
|
|
|
+ 小组记分较多的:{highRankGrpPoint}</br>
|
|
|
|
+4.互动:{interactionCount}题,总互动分:{totalInteractPoint}分</br>
|
|
|
|
+5.任务:{pushCount}次,作品总数:{collateTaskCount}件</br>
|
|
|
|
+6.测验:{examCount}次,题数:{examQuizCount}题,平均得分率:{examPointRate}% </br>
|
|
|
|
+ 表现较好者:{highRankExam}</br>
|
|
|
|
+ 表现较弱者:{lowRankExam}</br>
|
|
|
|
+7.互评:{smartRatingCount}次,合计参与:{clientSmartRatingCount}次</br>
|
|
|
|
+8.协作:{coworkTaskCount}次,作品总数:{coworkGroupCount}件,总操作量:{coworkGroupCount}</br>";
|
|
|
|
|
|
#endregion
|
|
#endregion
|
|
|
|
|
|
@@ -91,21 +91,21 @@ IES晨間報告:{tmdname}您好,以下是您曾經發佈過的作業任務
|
|
static string tw_examTitle = "測驗任務完成詳情:";
|
|
static string tw_examTitle = "測驗任務完成詳情:";
|
|
static string tw_lessonTitle = "課堂教學出席詳情:";
|
|
static string tw_lessonTitle = "課堂教學出席詳情:";
|
|
static string tw_groupTitle = "個人課程名單變動詳情:";
|
|
static string tw_groupTitle = "個人課程名單變動詳情:";
|
|
- static string tw_lessonDetail = @"</br>课例名称:{name},開課時間:{time},時長:{duration}<br>
|
|
|
|
-1.本節課名單{count}人,分成{groupCount}組,出席人数:{attendCount}人,缺席:{absentCount}人,出席率{attendRate}%<br>
|
|
|
|
-2.學習参與度指數平均:{engagementIndexAverge}<br>
|
|
|
|
- 分組参舆度:{grpEngagement}<br>
|
|
|
|
- 参與较多者:{highRankEngagement}<br>
|
|
|
|
-3.記分:總記分:{totalPoint}分<br>
|
|
|
|
- 個人記分较多者:{highRankPerPoint}<br>
|
|
|
|
- 小組記分较多的:{highRankGrpPoint}<br>
|
|
|
|
-4.互動:{interactionCount}题,總互動分:{totalInteractPoint}分<br>
|
|
|
|
-5.任務:{pushCount}次,作品總数:{collateTaskCount}件<br>
|
|
|
|
-6.測驗:{examCount}次,题數:{examQuizCount}题,平均得分率:{examPointRate}%<br>
|
|
|
|
- 表現较好者:{highRankExam}<br>
|
|
|
|
- 表現较弱者:{lowRankExam}<br>
|
|
|
|
-7.互评:{smartRatingCount}次,合計参與:{clientSmartRatingCount}次<br>
|
|
|
|
-8.協作:{coworkTaskCount}次,作品總數:{coworkGroupCount}件,總操作量:{coworkGroupCount}<br>";
|
|
|
|
|
|
+ static string tw_lessonDetail = @"</br>课例名称:{name},開課時間:{time},時長:{duration}分鐘</br>
|
|
|
|
+1.本節課名單{count}人,分成{groupCount}組,出席人数:{attendCount}人,缺席:{absentCount}人,出席率{attendRate}%</br>
|
|
|
|
+2.學習参與度指數平均:{engagementIndexAverge}</br>
|
|
|
|
+ 分組参舆度:{grpEngagement}</br>
|
|
|
|
+ 参與较多者:{highRankEngagement}</br>
|
|
|
|
+3.記分:總記分:{totalPoint}分</br>
|
|
|
|
+ 個人記分较多者:{highRankPerPoint}</br>
|
|
|
|
+ 小組記分较多的:{highRankGrpPoint}</br>
|
|
|
|
+4.互動:{interactionCount}题,總互動分:{totalInteractPoint}分</br>
|
|
|
|
+5.任務:{pushCount}次,作品總数:{collateTaskCount}件</br>
|
|
|
|
+6.測驗:{examCount}次,题數:{examQuizCount}题,平均得分率:{examPointRate}%</br>
|
|
|
|
+ 表現较好者:{highRankExam}</br>
|
|
|
|
+ 表現较弱者:{lowRankExam}</br>
|
|
|
|
+7.互评:{smartRatingCount}次,合計参與:{clientSmartRatingCount}次</br>
|
|
|
|
+8.協作:{coworkTaskCount}次,作品總數:{coworkGroupCount}件,總操作量:{coworkGroupCount}</br>";
|
|
#endregion
|
|
#endregion
|
|
#region
|
|
#region
|
|
static string en_wb = @"
|
|
static string en_wb = @"
|
|
@@ -130,44 +130,44 @@ Hello {tmdname}, here is the summary report of the homework tasks you have poste
|
|
static string en_examTitle = "Test task submission details:";
|
|
static string en_examTitle = "Test task submission details:";
|
|
static string en_lessonTitle = "Lesson attendance details:";
|
|
static string en_lessonTitle = "Lesson attendance details:";
|
|
static string en_groupTitle = "Personal course list change details:";
|
|
static string en_groupTitle = "Personal course list change details:";
|
|
- static string en_lessonDetail = @"</br>Lesson Name: {name}, Start time: {time}, Duration: {duration}<br>
|
|
|
|
-1. There are {count} people in this course, divided into {groupCount} groups, attendance: {attendCount} people, absences: 0 people, attendance rate {attendRate}%<br>
|
|
|
|
-2. Learning Engagement : {engagementIndexAverge}<br>
|
|
|
|
- Engagement per group: {grpEngagement}<br>
|
|
|
|
- More engaged students: {highRankEngagement}<br>
|
|
|
|
-3. Total Points: {totalPoint} points<br>
|
|
|
|
- Persons with more points: {highRankPerPoint}<br>
|
|
|
|
- Groups with more points: {highRankGrpPoint}<br>
|
|
|
|
-4. IRS Interaction: {interactionCount} questions, total IRS interaction score: {totalInteractPoint} points<br>
|
|
|
|
-5. Tasks: {pushCount} times, total number of collected works: {collateTaskCount} <br>
|
|
|
|
-6. Test/Exam: {examCount} times, number of questions: {examQuizCount} questions, average scoring rate: {examPointRate}%<br>
|
|
|
|
- Better performers: {highRankExam}<br>
|
|
|
|
- Weaker performers: {lowRankExam}<br>
|
|
|
|
-7. Smart Rating: {smartRatingCount} times, total participation: {clientSmartRatingCount} times<br>
|
|
|
|
-8. Collaboration: {coworkTaskCount} times, total number of works: {coworkGroupCount}, total operation: {coworkGroupCount}<br>";
|
|
|
|
|
|
+ static string en_lessonDetail = @"</br>Lesson Name: {name}, Start time: {time}, Duration: {duration} Minutes</br>
|
|
|
|
+1. There are {count} people in this course, divided into {groupCount} groups, attendance: {attendCount} people, absences: 0 people, attendance rate {attendRate}%</br>
|
|
|
|
+2. Learning Engagement : {engagementIndexAverge}</br>
|
|
|
|
+ Engagement per group: {grpEngagement}</br>
|
|
|
|
+ More engaged students: {highRankEngagement}</br>
|
|
|
|
+3. Total Points: {totalPoint} points</br>
|
|
|
|
+ Persons with more points: {highRankPerPoint}</br>
|
|
|
|
+ Groups with more points: {highRankGrpPoint}</br>
|
|
|
|
+4. IRS Interaction: {interactionCount} questions, total IRS interaction score: {totalInteractPoint} points</br>
|
|
|
|
+5. Tasks: {pushCount} times, total number of collected works: {collateTaskCount} </br>
|
|
|
|
+6. Test/Exam: {examCount} times, number of questions: {examQuizCount} questions, average scoring rate: {examPointRate}%</br>
|
|
|
|
+ Better performers: {highRankExam}</br>
|
|
|
|
+ Weaker performers: {lowRankExam}</br>
|
|
|
|
+7. Smart Rating: {smartRatingCount} times, total participation: {clientSmartRatingCount} times</br>
|
|
|
|
+8. Collaboration: {coworkTaskCount} times, total number of works: {coworkGroupCount}, total operation: {coworkGroupCount}</br>";
|
|
#endregion
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
// #region
|
|
// #region
|
|
// static string cn_wb = @"
|
|
// static string cn_wb = @"
|
|
- //IES晚间报告:<br>{tmdname}您好,以下是您的今日个人IES教学汇总报告,截至{sendTime}时,您已发布{examCount}次评测任务,{homeworkCount}次作业任务,并使用HiTeach教师端开设了{lessonCount}节课堂教学活动。
|
|
|
|
- //<br> 以下是报告的具体详细信息。
|
|
|
|
- //<br> {cn_examTitle}<br>{cn_examList}
|
|
|
|
- //<br> {cn_lessonTitle}<br>{cn_lessonList}
|
|
|
|
- //<br> {cn_groupTitle}<br>{cn_groupList}
|
|
|
|
- //<br> 如有布置作业任务,将于次日8点通过早报方式发送。
|
|
|
|
|
|
+ //IES晚间报告:</br>{tmdname}您好,以下是您的今日个人IES教学汇总报告,截至{sendTime}时,您已发布{examCount}次评测任务,{homeworkCount}次作业任务,并使用HiTeach教师端开设了{lessonCount}节课堂教学活动。
|
|
|
|
+ //</br> 以下是报告的具体详细信息。
|
|
|
|
+ //</br> {cn_examTitle}</br>{cn_examList}
|
|
|
|
+ //</br> {cn_lessonTitle}</br>{cn_lessonList}
|
|
|
|
+ //</br> {cn_groupTitle}</br>{cn_groupList}
|
|
|
|
+ //</br> 如有布置作业任务,将于次日8点通过早报方式发送。
|
|
//";
|
|
//";
|
|
- // static string cn_examList = " 【{examName}】已经有{submitCount}位学生提交,仍有{unsubmitCount}位学生未提交。<br>";
|
|
|
|
- // static string cn_lessonList = " 【{lessonName}】课例应出席人数{memberCount},实际出席人数{attendCount},出席率{attendRate}%。<br>";
|
|
|
|
- // static string cn_groupListJoin = " 【{grouplistName}】已有总人数{memberCount}位,有{joinCount}位加入。<br>";
|
|
|
|
- // static string cn_groupListLeave = " 【{grouplistName}】已有总人数{memberCount}位,有{joinCount}位离开。<br>";
|
|
|
|
|
|
+ // static string cn_examList = " 【{examName}】已经有{submitCount}位学生提交,仍有{unsubmitCount}位学生未提交。</br>";
|
|
|
|
+ // static string cn_lessonList = " 【{lessonName}】课例应出席人数{memberCount},实际出席人数{attendCount},出席率{attendRate}%。</br>";
|
|
|
|
+ // static string cn_groupListJoin = " 【{grouplistName}】已有总人数{memberCount}位,有{joinCount}位加入。</br>";
|
|
|
|
+ // static string cn_groupListLeave = " 【{grouplistName}】已有总人数{memberCount}位,有{joinCount}位离开。</br>";
|
|
|
|
|
|
// static string cn_zb = @"
|
|
// static string cn_zb = @"
|
|
- //IES早间报告:<br>{tmdname}您好,以下是您发布过的作业任务汇总报告。
|
|
|
|
- //<br> 以下是报告的具体详细信息。
|
|
|
|
- //<br> {cn_homeworkTitle}<br>{cn_homeworkList}
|
|
|
|
|
|
+ //IES早间报告:</br>{tmdname}您好,以下是您发布过的作业任务汇总报告。
|
|
|
|
+ //</br> 以下是报告的具体详细信息。
|
|
|
|
+ //</br> {cn_homeworkTitle}</br>{cn_homeworkList}
|
|
//";
|
|
//";
|
|
- // static string cn_homeworkList = "【{homeworkName}】已经有{submitCount}位学生提交,仍有{unsubmitCount}位学生未提交。<br>";
|
|
|
|
|
|
+ // static string cn_homeworkList = "【{homeworkName}】已经有{submitCount}位学生提交,仍有{unsubmitCount}位学生未提交。</br>";
|
|
// static string cn_homeworkTitle = "作业任务提交详情:";
|
|
// static string cn_homeworkTitle = "作业任务提交详情:";
|
|
// static string cn_examTitle = "评测任务提交详情:";
|
|
// static string cn_examTitle = "评测任务提交详情:";
|
|
// static string cn_lessonTitle = "课堂教学出席详情:";
|
|
// static string cn_lessonTitle = "课堂教学出席详情:";
|
|
@@ -175,23 +175,23 @@ Hello {tmdname}, here is the summary report of the homework tasks you have poste
|
|
// #endregion
|
|
// #endregion
|
|
// #region
|
|
// #region
|
|
// static string tw_wb = @"
|
|
// static string tw_wb = @"
|
|
- //IES晚間報告:<br>{tmdname}您好,以下是您的今日個人IES教學總結報告,截至{sendTime},您已發布{examCount}次測驗任務,{homeworkCount}次作業任務,並使用HiTeach上傳了{lessonCount}節課堂教學活動。
|
|
|
|
- //<br> 以下是詳細資訊。
|
|
|
|
- //<br> {tw_examTitle}<br>{tw_examList}
|
|
|
|
- //<br> {tw_lessonTitle}<br>{tw_lessonList}
|
|
|
|
- //<br> {tw_groupTitle}<br>{tw_groupList}
|
|
|
|
- //<br> 如有佈署作業任務,將於隔天早上8點透過晨間報告方式發送。
|
|
|
|
|
|
+ //IES晚間報告:</br>{tmdname}您好,以下是您的今日個人IES教學總結報告,截至{sendTime},您已發布{examCount}次測驗任務,{homeworkCount}次作業任務,並使用HiTeach上傳了{lessonCount}節課堂教學活動。
|
|
|
|
+ //</br> 以下是詳細資訊。
|
|
|
|
+ //</br> {tw_examTitle}</br>{tw_examList}
|
|
|
|
+ //</br> {tw_lessonTitle}</br>{tw_lessonList}
|
|
|
|
+ //</br> {tw_groupTitle}</br>{tw_groupList}
|
|
|
|
+ //</br> 如有佈署作業任務,將於隔天早上8點透過晨間報告方式發送。
|
|
//";
|
|
//";
|
|
- // static string tw_examList = " 【{examName}】已經有{submitCount}位學生繳交,仍有{unsubmitCount}位學生未繳交。<br>";
|
|
|
|
- // static string tw_lessonList = " 【{lessonName}】課堂應出席人數{memberCount},實際出席人數{attendCount},出席率{attendRate}%。<br>";
|
|
|
|
- // static string tw_groupListJoin = " 【{grouplistName}】已有總人數{memberCount}位,有{joinCount}位加入。<br>";
|
|
|
|
- // static string tw_groupListLeave = " 【{grouplistName}】已有總人數{memberCount}位,有{joinCount}位離開。<br>";
|
|
|
|
|
|
+ // static string tw_examList = " 【{examName}】已經有{submitCount}位學生繳交,仍有{unsubmitCount}位學生未繳交。</br>";
|
|
|
|
+ // static string tw_lessonList = " 【{lessonName}】課堂應出席人數{memberCount},實際出席人數{attendCount},出席率{attendRate}%。</br>";
|
|
|
|
+ // static string tw_groupListJoin = " 【{grouplistName}】已有總人數{memberCount}位,有{joinCount}位加入。</br>";
|
|
|
|
+ // static string tw_groupListLeave = " 【{grouplistName}】已有總人數{memberCount}位,有{joinCount}位離開。</br>";
|
|
// static string tw_zb = @"
|
|
// static string tw_zb = @"
|
|
- //IES晨間報告:<br>{tmdname}您好,以下是您曾經發佈過的作業任務總結報告。
|
|
|
|
- //<br> 以下是具體詳細資訊。
|
|
|
|
- //<br> {tw_homeworkTitle}<br>{tw_homeworkList}
|
|
|
|
|
|
+ //IES晨間報告:</br>{tmdname}您好,以下是您曾經發佈過的作業任務總結報告。
|
|
|
|
+ //</br> 以下是具體詳細資訊。
|
|
|
|
+ //</br> {tw_homeworkTitle}</br>{tw_homeworkList}
|
|
//";
|
|
//";
|
|
- // static string tw_homeworkList = "【{homeworkName}】已經有{submitCount}位學生繳交,仍有{unsubmitCount}位學生未繳交。<br>";
|
|
|
|
|
|
+ // static string tw_homeworkList = "【{homeworkName}】已經有{submitCount}位學生繳交,仍有{unsubmitCount}位學生未繳交。</br>";
|
|
// static string tw_homeworkTitle = "作業任務繳交詳情:";
|
|
// static string tw_homeworkTitle = "作業任務繳交詳情:";
|
|
// static string tw_examTitle = "測驗任務完成詳情:";
|
|
// static string tw_examTitle = "測驗任務完成詳情:";
|
|
// static string tw_lessonTitle = "課堂教學出席詳情:";
|
|
// static string tw_lessonTitle = "課堂教學出席詳情:";
|
|
@@ -199,23 +199,23 @@ Hello {tmdname}, here is the summary report of the homework tasks you have poste
|
|
// #endregion
|
|
// #endregion
|
|
// #region
|
|
// #region
|
|
// static string en_wb = @"
|
|
// static string en_wb = @"
|
|
- //IES Evening Report:<br>Hello {tmdname}, here is your personal IES teaching summary report for today. As of {sendTime}, you have published {examCount} test tasks, {homeworkCount} homework tasks, and uploaded {lessonCount} HiTeach lesson activity records.
|
|
|
|
- //<br> The following are the specific details.
|
|
|
|
- //<br> {en_examTitle}<br>{en_examList}
|
|
|
|
- //<br> {en_lessonTitle}<br>{en_lessonList}
|
|
|
|
- //<br> {en_groupTitle}<br>{en_groupList}
|
|
|
|
- //<br> If there are homework tasks assigned, they will be sent through the morning report at 8 am the next day.
|
|
|
|
|
|
+ //IES Evening Report:</br>Hello {tmdname}, here is your personal IES teaching summary report for today. As of {sendTime}, you have published {examCount} test tasks, {homeworkCount} homework tasks, and uploaded {lessonCount} HiTeach lesson activity records.
|
|
|
|
+ //</br> The following are the specific details.
|
|
|
|
+ //</br> {en_examTitle}</br>{en_examList}
|
|
|
|
+ //</br> {en_lessonTitle}</br>{en_lessonList}
|
|
|
|
+ //</br> {en_groupTitle}</br>{en_groupList}
|
|
|
|
+ //</br> If there are homework tasks assigned, they will be sent through the morning report at 8 am the next day.
|
|
//";
|
|
//";
|
|
- // static string en_examList = " [ {examName} ] has {submitCount} students submitted, and there are still {unsubmitCount} students who have not submitted.<br>";
|
|
|
|
- // static string en_lessonList = " [ {lessonName} ] lesson should have {memberCount} attendees, actual attendees {attendCount}, attendance rate {attendRate}%.<br>";
|
|
|
|
- // static string en_groupListJoin = " [ {grouplistName} ] has a total of {memberCount}, {joinCount} joined.<br>";
|
|
|
|
- // static string en_groupListLeave = " [ {grouplistName} ] has a total of {memberCount}, {joinCount} left.<br>";
|
|
|
|
|
|
+ // static string en_examList = " [ {examName} ] has {submitCount} students submitted, and there are still {unsubmitCount} students who have not submitted.</br>";
|
|
|
|
+ // static string en_lessonList = " [ {lessonName} ] lesson should have {memberCount} attendees, actual attendees {attendCount}, attendance rate {attendRate}%.</br>";
|
|
|
|
+ // static string en_groupListJoin = " [ {grouplistName} ] has a total of {memberCount}, {joinCount} joined.</br>";
|
|
|
|
+ // static string en_groupListLeave = " [ {grouplistName} ] has a total of {memberCount}, {joinCount} left.</br>";
|
|
// static string en_zb = @"
|
|
// static string en_zb = @"
|
|
//IES Morning Report:
|
|
//IES Morning Report:
|
|
- //<br> Hello {tmdname}, here is the summary report of the homework tasks you have posted.
|
|
|
|
- //<br> {en_homeworkTitle}<br>{en_homeworkList}
|
|
|
|
|
|
+ //</br> Hello {tmdname}, here is the summary report of the homework tasks you have posted.
|
|
|
|
+ //</br> {en_homeworkTitle}</br>{en_homeworkList}
|
|
//";
|
|
//";
|
|
- // static string en_homeworkList = "[ {homeworkName} ] has {submitCount} students submitted, and there are still {unsubmitCount} students who have not submitted.<br>";
|
|
|
|
|
|
+ // static string en_homeworkList = "[ {homeworkName} ] has {submitCount} students submitted, and there are still {unsubmitCount} students who have not submitted.</br>";
|
|
// static string en_homeworkTitle = "Homework Submission Details:";
|
|
// static string en_homeworkTitle = "Homework Submission Details:";
|
|
// static string en_examTitle = "Test task submission details:";
|
|
// static string en_examTitle = "Test task submission details:";
|
|
// static string en_lessonTitle = "Lesson attendance details:";
|
|
// static string en_lessonTitle = "Lesson attendance details:";
|
|
@@ -527,71 +527,73 @@ Hello {tmdname}, here is the summary report of the homework tasks you have poste
|
|
BlobDownloadResult baseblobDownload = await _azureStorage.GetBlobContainerClient(owner).GetBlobClient($"/records/{lessonRecord.id}/IES/base.json").DownloadContentAsync();
|
|
BlobDownloadResult baseblobDownload = await _azureStorage.GetBlobContainerClient(owner).GetBlobClient($"/records/{lessonRecord.id}/IES/base.json").DownloadContentAsync();
|
|
string basejson = baseblobDownload.Content.ToString().Replace("\"Uncall\"", "0").Replace("Uncall", "0");
|
|
string basejson = baseblobDownload.Content.ToString().Replace("\"Uncall\"", "0").Replace("Uncall", "0");
|
|
lessonBase = basejson.ToObject<LessonBase>();
|
|
lessonBase = basejson.ToObject<LessonBase>();
|
|
|
|
+ lessonCount++;
|
|
|
|
+ var grpEngagement = string.Join(",", lessonBase.summary?.grpEngagement.Select((x, index) => $"G{index+1}({x})"));
|
|
|
|
+ var highRankEngagement = string.Join(",", lessonBase.summary?.highRankEngagement?.Select((x, index) => $"S{index+1}({x})"));
|
|
|
|
+
|
|
|
|
+ var highRankPerPoint = string.Join(",", lessonBase.summary?.highRankPerPoint?.Select((x, index) => $"S{index+1}({x})"));
|
|
|
|
+ var highRankGrpPoint = string.Join(",", lessonBase.summary?.highRankGrpPoint?.Select((x, index) => $"S{index+1}({x})"));
|
|
|
|
+ var highRankExam = string.Join(",", lessonBase.summary?.highRankExam?.Select((x, index) => $"S{index+1}({x})"));
|
|
|
|
+ var lowRankExam = string.Join(",", lessonBase.summary?.lowRankExam?.Select((x, index) => $"S{index+1}({x})"));
|
|
|
|
+ switch (lang)
|
|
|
|
+ {
|
|
|
|
+ case "zh-cn":
|
|
|
|
+ if (lessonBase!=null)
|
|
|
|
+ {
|
|
|
|
+
|
|
|
|
+ lessonDetailSB.Append(cn_lessonDetail.Replace("{name}", lessonRecord.name).Replace("{groupCount}",$"{lessonBase.group.Count()}").Replace("{time}", DateTimeOffset.FromUnixTimeMilliseconds(lessonRecord.startTime).ToString("yyyy-MM-dd HH:mm:ss"))
|
|
|
|
+ .Replace("{duration}", $"{Math.Round(lessonRecord.duration/60, 2)}").Replace("{count}", $"{lessonRecord.clientCount}").Replace("{attendCount}", $"{lessonRecord.attendCount}")
|
|
|
|
+ .Replace("{absentCount}", $"{lessonRecord.clientCount-lessonRecord.attendCount}").Replace("{attendRate}", $"{lessonRecord.attendRate}").Replace("{engagementIndexAverge}", $"{lessonBase.summary?.engagementIndexAverge}")
|
|
|
|
+ .Replace("{grpEngagement}", grpEngagement).Replace("{highRankEngagement}", highRankEngagement).Replace("{totalPoint}", $"{lessonBase.summary.totalPoint}").Replace("{highRankPerPoint}", highRankPerPoint)
|
|
|
|
+ .Replace("{highRankGrpPoint}", highRankGrpPoint).Replace("{interactionCount}", $"{lessonBase.summary.interactionCount}").Replace("{totalInteractPoint}", $"{lessonBase.summary.totalInteractPoint}")
|
|
|
|
+ .Replace("{pushCount}", $"{lessonBase.summary.pushCount}").Replace("{collateTaskCount}", $"{lessonBase.summary.collateTaskCount}").Replace("{examCount}", $"{lessonBase.summary.examCount}")
|
|
|
|
+ .Replace("{examQuizCount}", $"{lessonBase.summary.examQuizCount}").Replace("{examPointRate}", $"{lessonBase.summary.examPointRate}").Replace("{highRankExam}", $"{highRankExam}")
|
|
|
|
+ .Replace("{lowRankExam}", $"{lowRankExam}").Replace("{smartRatingCount}", $"{lessonBase.summary.smartRatingCount}").Replace("{clientSmartRatingCount}", $"{lessonBase.summary.clientSmartRatingCount}")
|
|
|
|
+ .Replace("{coworkTaskCount}", $"{lessonBase.summary.coworkTaskCount}").Replace("{coworkGroupCount}", $"{lessonBase.summary.coworkGroupCount}").Replace("{coworkGroupCount}", $"{lessonBase.summary.coworkGroupCount}")
|
|
|
|
+ .Replace("{avgcoworkGroupCount}", lessonRecord.attendCount>0 ? $"{lessonBase.summary.coworkGroupCount/lessonRecord.attendCount}" : "0"));
|
|
|
|
+ }
|
|
|
|
+ lessonSB.Append(cn_lessonList.Replace("{lessonName}", lessonRecord.name).Replace("{memberCount}", $"{lessonRecord.clientCount}").Replace("{attendCount}", $"{lessonRecord.attendCount}")).Replace("{attendRate}", $"{lessonRecord.attendRate}");
|
|
|
|
+ break;
|
|
|
|
+ case "zh-tw":
|
|
|
|
+ if (lessonBase!=null)
|
|
|
|
+ {
|
|
|
|
+ lessonDetailSB.Append(tw_lessonDetail.Replace("{name}", lessonRecord.name).Replace("{groupCount}", $"{lessonBase.group.Count()}").Replace("{time}", DateTimeOffset.FromUnixTimeMilliseconds(lessonRecord.startTime).ToString("yyyy-MM-dd HH:mm:ss"))
|
|
|
|
+ .Replace("{duration}", $"{Math.Round(lessonRecord.duration/60, 2)}").Replace("{count}", $"{lessonRecord.clientCount}").Replace("{attendCount}", $"{lessonRecord.attendCount}")
|
|
|
|
+ .Replace("{absentCount}", $"{lessonRecord.clientCount-lessonRecord.attendCount}").Replace("{attendRate}", $"{lessonRecord.attendRate}").Replace("{engagementIndexAverge}", $"{lessonBase.summary?.engagementIndexAverge}")
|
|
|
|
+ .Replace("{grpEngagement}", grpEngagement).Replace("{highRankEngagement}", highRankEngagement).Replace("{totalPoint}", $"{lessonBase.summary.totalPoint}").Replace("{highRankPerPoint}", highRankPerPoint)
|
|
|
|
+ .Replace("{highRankGrpPoint}", highRankGrpPoint).Replace("{interactionCount}", $"{lessonBase.summary.interactionCount}").Replace("{totalInteractPoint}", $"{lessonBase.summary.totalInteractPoint}")
|
|
|
|
+ .Replace("{pushCount}", $"{lessonBase.summary.pushCount}").Replace("{collateTaskCount}", $"{lessonBase.summary.collateTaskCount}").Replace("{examCount}", $"{lessonBase.summary.examCount}")
|
|
|
|
+ .Replace("{examQuizCount}", $"{lessonBase.summary.examQuizCount}").Replace("{examPointRate}", $"{lessonBase.summary.examPointRate}").Replace("{highRankExam}", $"{highRankExam}")
|
|
|
|
+ .Replace("{lowRankExam}", $"{lowRankExam}").Replace("{smartRatingCount}", $"{lessonBase.summary.smartRatingCount}").Replace("{clientSmartRatingCount}", $"{lessonBase.summary.clientSmartRatingCount}")
|
|
|
|
+ .Replace("{coworkTaskCount}", $"{lessonBase.summary.coworkTaskCount}").Replace("{coworkGroupCount}", $"{lessonBase.summary.coworkGroupCount}").Replace("{coworkGroupCount}", $"{lessonBase.summary.coworkGroupCount}")
|
|
|
|
+ .Replace("{avgcoworkGroupCount}", lessonRecord.attendCount>0 ? $"{lessonBase.summary.coworkGroupCount/lessonRecord.attendCount}" : "0"));
|
|
|
|
+ }
|
|
|
|
+ lessonSB.Append(tw_lessonList.Replace("{lessonName}", lessonRecord.name).Replace("{memberCount}", $"{lessonRecord.clientCount}").Replace("{attendCount}", $"{lessonRecord.attendCount}")).Replace("{attendRate}", $"{lessonRecord.attendRate}");
|
|
|
|
+ break;
|
|
|
|
+ case "en-us":
|
|
|
|
+ if (lessonBase!=null)
|
|
|
|
+ {
|
|
|
|
+
|
|
|
|
+ lessonDetailSB.Append(en_lessonDetail.Replace("{name}", lessonRecord.name).Replace("{groupCount}", $"{lessonBase.group.Count()}").Replace("{time}", DateTimeOffset.FromUnixTimeMilliseconds(lessonRecord.startTime).ToString("yyyy-MM-dd HH:mm:ss"))
|
|
|
|
+ .Replace("{duration}", $"{Math.Round(lessonRecord.duration/60, 2)}").Replace("{count}", $"{lessonRecord.clientCount}").Replace("{attendCount}", $"{lessonRecord.attendCount}")
|
|
|
|
+ .Replace("{absentCount}", $"{lessonRecord.clientCount-lessonRecord.attendCount}").Replace("{attendRate}", $"{lessonRecord.attendRate}").Replace("{engagementIndexAverge}", $"{lessonBase.summary?.engagementIndexAverge}")
|
|
|
|
+ .Replace("{grpEngagement}", grpEngagement).Replace("{highRankEngagement}", highRankEngagement).Replace("{totalPoint}", $"{lessonBase.summary.totalPoint}").Replace("{highRankPerPoint}", highRankPerPoint)
|
|
|
|
+ .Replace("{highRankGrpPoint}", highRankGrpPoint).Replace("{interactionCount}", $"{lessonBase.summary.interactionCount}").Replace("{totalInteractPoint}", $"{lessonBase.summary.totalInteractPoint}")
|
|
|
|
+ .Replace("{pushCount}", $"{lessonBase.summary.pushCount}").Replace("{collateTaskCount}", $"{lessonBase.summary.collateTaskCount}").Replace("{examCount}", $"{lessonBase.summary.examCount}")
|
|
|
|
+ .Replace("{examQuizCount}", $"{lessonBase.summary.examQuizCount}").Replace("{examPointRate}", $"{lessonBase.summary.examPointRate}").Replace("{highRankExam}", $"{highRankExam}")
|
|
|
|
+ .Replace("{lowRankExam}", $"{lowRankExam}").Replace("{smartRatingCount}", $"{lessonBase.summary.smartRatingCount}").Replace("{clientSmartRatingCount}", $"{lessonBase.summary.clientSmartRatingCount}")
|
|
|
|
+ .Replace("{coworkTaskCount}", $"{lessonBase.summary.coworkTaskCount}").Replace("{coworkGroupCount}", $"{lessonBase.summary.coworkGroupCount}").Replace("{coworkGroupCount}", $"{lessonBase.summary.coworkGroupCount}")
|
|
|
|
+ .Replace("{avgcoworkGroupCount}", lessonRecord.attendCount>0 ? $"{lessonBase.summary.coworkGroupCount/lessonRecord.attendCount}" : "0"));
|
|
|
|
+ }
|
|
|
|
+ lessonSB.Append(en_lessonList.Replace("{lessonName}", lessonRecord.name).Replace("{memberCount}", $"{lessonRecord.clientCount}").Replace("{attendCount}", $"{lessonRecord.attendCount}")).Replace("{attendRate}", $"{lessonRecord.attendRate}");
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
catch (Exception ex)
|
|
{
|
|
{
|
|
|
|
+
|
|
}
|
|
}
|
|
- lessonCount++;
|
|
|
|
- var grpEngagement = string.Join(",", lessonBase.summary.grpEngagement.Select((x, index) => $"G{index+1}({x})"));
|
|
|
|
- var highRankEngagement = string.Join(",", lessonBase.summary.highRankEngagement.Select((x, index) => $"S{index+1}({x})"));
|
|
|
|
-
|
|
|
|
- var highRankPerPoint = string.Join(",", lessonBase.summary.highRankPerPoint.Select((x, index) => $"S{index+1}({x})"));
|
|
|
|
- var highRankGrpPoint = string.Join(",", lessonBase.summary.highRankGrpPoint.Select((x, index) => $"S{index+1}({x})"));
|
|
|
|
- var highRankExam = string.Join(",", lessonBase.summary.highRankExam.Select((x, index) => $"S{index+1}({x})"));
|
|
|
|
- var lowRankExam = string.Join(",", lessonBase.summary.lowRankExam.Select((x, index) => $"S{index+1}({x})"));
|
|
|
|
- switch (lang)
|
|
|
|
- {
|
|
|
|
- case "zh-cn":
|
|
|
|
- if (lessonBase!=null)
|
|
|
|
- {
|
|
|
|
-
|
|
|
|
- lessonDetailSB.Append(cn_lessonDetail.Replace("{name}", lessonRecord.name).Replace("{time}", DateTimeOffset.FromUnixTimeMilliseconds(lessonRecord.startTime).ToString("yyyy-MM-dd HH:mm:ss"))
|
|
|
|
- .Replace("{duration}", $"{Math.Round(lessonRecord.duration/60, 2)}").Replace("{count}", $"{lessonRecord.clientCount}").Replace("{attendCount}", $"{lessonRecord.attendCount}")
|
|
|
|
- .Replace("{absentCount}", $"{lessonRecord.clientCount-lessonRecord.attendCount}").Replace("{attendRate}", $"{lessonRecord.attendRate}").Replace("{engagementIndexAverge}", $"{lessonBase.summary?.engagementIndexAverge}")
|
|
|
|
- .Replace("{grpEngagement}", grpEngagement).Replace("{highRankEngagement}", highRankEngagement).Replace("{totalPoint}", $"{lessonBase.summary.totalPoint}").Replace("{highRankPerPoint}", highRankPerPoint)
|
|
|
|
- .Replace("{highRankGrpPoint}", highRankGrpPoint).Replace("{interactionCount}", $"{lessonBase.summary.interactionCount}").Replace("{totalInteractPoint}", $"{lessonBase.summary.totalInteractPoint}")
|
|
|
|
- .Replace("{pushCount}", $"{lessonBase.summary.pushCount}").Replace("{collateTaskCount}", $"{lessonBase.summary.collateTaskCount}").Replace("{examCount}", $"{lessonBase.summary.examCount}")
|
|
|
|
- .Replace("{examQuizCount}", $"{lessonBase.summary.examQuizCount}").Replace("{examPointRate}", $"{lessonBase.summary.examPointRate}").Replace("{highRankExam}", $"{highRankExam}")
|
|
|
|
- .Replace("{lowRankExam}", $"{lowRankExam}").Replace("{smartRatingCount}", $"{lessonBase.summary.smartRatingCount}").Replace("clientSmartRatingCount", $"{lessonBase.summary.clientSmartRatingCount}")
|
|
|
|
- .Replace("{coworkTaskCount}", $"{lessonBase.summary.coworkTaskCount}").Replace("{coworkGroupCount}", $"{lessonBase.summary.coworkGroupCount}").Replace("{coworkGroupCount}", $"{lessonBase.summary.coworkGroupCount}")
|
|
|
|
- .Replace("{avgcoworkGroupCount}", lessonRecord.attendCount>0 ? $"{lessonBase.summary.coworkGroupCount/lessonRecord.attendCount}" : "0"));
|
|
|
|
- }
|
|
|
|
- lessonSB.Append(cn_lessonList.Replace("{lessonName}", lessonRecord.name).Replace("{memberCount}", $"{lessonRecord.clientCount}").Replace("{attendCount}", $"{lessonRecord.attendCount}")).Replace("{attendRate}", $"{lessonRecord.attendRate}");
|
|
|
|
- break;
|
|
|
|
- case "zh-tw":
|
|
|
|
- if (lessonBase!=null)
|
|
|
|
- {
|
|
|
|
- lessonDetailSB.Append(tw_lessonDetail.Replace("{name}", lessonRecord.name).Replace("{time}", DateTimeOffset.FromUnixTimeMilliseconds(lessonRecord.startTime).ToString("yyyy-MM-dd HH:mm:ss"))
|
|
|
|
- .Replace("{duration}", $"{Math.Round(lessonRecord.duration/60,2)}").Replace("{count}", $"{lessonRecord.clientCount}").Replace("{attendCount}", $"{lessonRecord.attendCount}")
|
|
|
|
- .Replace("{absentCount}", $"{lessonRecord.clientCount-lessonRecord.attendCount}").Replace("{attendRate}", $"{lessonRecord.attendRate}").Replace("{engagementIndexAverge}", $"{lessonBase.summary?.engagementIndexAverge}")
|
|
|
|
- .Replace("{grpEngagement}", grpEngagement).Replace("{highRankEngagement}", highRankEngagement).Replace("{totalPoint}", $"{lessonBase.summary.totalPoint}").Replace("{highRankPerPoint}", highRankPerPoint)
|
|
|
|
- .Replace("{highRankGrpPoint}", highRankGrpPoint).Replace("{interactionCount}", $"{lessonBase.summary.interactionCount}").Replace("{totalInteractPoint}", $"{lessonBase.summary.totalInteractPoint}")
|
|
|
|
- .Replace("{pushCount}", $"{lessonBase.summary.pushCount}").Replace("{collateTaskCount}", $"{lessonBase.summary.collateTaskCount}").Replace("{examCount}", $"{lessonBase.summary.examCount}")
|
|
|
|
- .Replace("{examQuizCount}", $"{lessonBase.summary.examQuizCount}").Replace("{examPointRate}", $"{lessonBase.summary.examPointRate}").Replace("{highRankExam}", $"{highRankExam}")
|
|
|
|
- .Replace("{lowRankExam}", $"{lowRankExam}").Replace("{smartRatingCount}", $"{lessonBase.summary.smartRatingCount}").Replace("clientSmartRatingCount", $"{lessonBase.summary.clientSmartRatingCount}")
|
|
|
|
- .Replace("{coworkTaskCount}", $"{lessonBase.summary.coworkTaskCount}").Replace("{coworkGroupCount}", $"{lessonBase.summary.coworkGroupCount}").Replace("{coworkGroupCount}", $"{lessonBase.summary.coworkGroupCount}")
|
|
|
|
- .Replace("{avgcoworkGroupCount}", lessonRecord.attendCount>0 ? $"{lessonBase.summary.coworkGroupCount/lessonRecord.attendCount}" : "0"));
|
|
|
|
- }
|
|
|
|
- lessonSB.Append(tw_lessonList.Replace("{lessonName}", lessonRecord.name).Replace("{memberCount}", $"{lessonRecord.clientCount}").Replace("{attendCount}", $"{lessonRecord.attendCount}")).Replace("{attendRate}", $"{lessonRecord.attendRate}");
|
|
|
|
- break;
|
|
|
|
- case "en-us":
|
|
|
|
- if (lessonBase!=null)
|
|
|
|
- {
|
|
|
|
-
|
|
|
|
- lessonDetailSB.Append(en_lessonDetail.Replace("{name}", lessonRecord.name).Replace("{time}", DateTimeOffset.FromUnixTimeMilliseconds(lessonRecord.startTime).ToString("yyyy-MM-dd HH:mm:ss"))
|
|
|
|
- .Replace("{duration}", $"{Math.Round(lessonRecord.duration/60, 2)}").Replace("{count}", $"{lessonRecord.clientCount}").Replace("{attendCount}", $"{lessonRecord.attendCount}")
|
|
|
|
- .Replace("{absentCount}", $"{lessonRecord.clientCount-lessonRecord.attendCount}").Replace("{attendRate}", $"{lessonRecord.attendRate}").Replace("{engagementIndexAverge}", $"{lessonBase.summary?.engagementIndexAverge}")
|
|
|
|
- .Replace("{grpEngagement}", grpEngagement).Replace("{highRankEngagement}", highRankEngagement).Replace("{totalPoint}", $"{lessonBase.summary.totalPoint}").Replace("{highRankPerPoint}", highRankPerPoint)
|
|
|
|
- .Replace("{highRankGrpPoint}", highRankGrpPoint).Replace("{interactionCount}", $"{lessonBase.summary.interactionCount}").Replace("{totalInteractPoint}", $"{lessonBase.summary.totalInteractPoint}")
|
|
|
|
- .Replace("{pushCount}", $"{lessonBase.summary.pushCount}").Replace("{collateTaskCount}", $"{lessonBase.summary.collateTaskCount}").Replace("{examCount}", $"{lessonBase.summary.examCount}")
|
|
|
|
- .Replace("{examQuizCount}", $"{lessonBase.summary.examQuizCount}").Replace("{examPointRate}", $"{lessonBase.summary.examPointRate}").Replace("{highRankExam}", $"{highRankExam}")
|
|
|
|
- .Replace("{lowRankExam}", $"{lowRankExam}").Replace("{smartRatingCount}", $"{lessonBase.summary.smartRatingCount}").Replace("clientSmartRatingCount", $"{lessonBase.summary.clientSmartRatingCount}")
|
|
|
|
- .Replace("{coworkTaskCount}", $"{lessonBase.summary.coworkTaskCount}").Replace("{coworkGroupCount}", $"{lessonBase.summary.coworkGroupCount}").Replace("{coworkGroupCount}", $"{lessonBase.summary.coworkGroupCount}")
|
|
|
|
- .Replace("{avgcoworkGroupCount}", lessonRecord.attendCount>0 ? $"{lessonBase.summary.coworkGroupCount/lessonRecord.attendCount}" : "0"));
|
|
|
|
- }
|
|
|
|
- lessonSB.Append(en_lessonList.Replace("{lessonName}", lessonRecord.name).Replace("{memberCount}", $"{lessonRecord.clientCount}").Replace("{attendCount}", $"{lessonRecord.attendCount}")).Replace("{attendRate}", $"{lessonRecord.attendRate}");
|
|
|
|
- break;
|
|
|
|
- }
|
|
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|