Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
E
Education
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
黄奎
Education
Commits
16d5af72
Commit
16d5af72
authored
Mar 08, 2022
by
liudong1993
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/Kui2/education
parents
0dc7b093
2d730f50
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
416 additions
and
7 deletions
+416
-7
RB_Student_Exam.cs
Edu.Model/Entity/Exam/RB_Student_Exam.cs
+60
-0
RB_Student_ExamDetails.cs
Edu.Model/Entity/Exam/RB_Student_ExamDetails.cs
+70
-0
RB_Student_Practice.cs
Edu.Model/Entity/Exam/RB_Student_Practice.cs
+1
-1
RB_Student_ExamDetails_Extend.cs
Edu.Model/ViewModel/Exam/RB_Student_ExamDetails_Extend.cs
+18
-0
RB_Student_Exam_Extend.cs
Edu.Model/ViewModel/Exam/RB_Student_Exam_Extend.cs
+39
-0
CourseExamModule.cs
Edu.Module.Exam/CourseExamModule.cs
+57
-2
EmployeeModule.cs
Edu.Module.User/EmployeeModule.cs
+3
-1
RB_Student_ExamDetailsRepository.cs
Edu.Repository/Exam/RB_Student_ExamDetailsRepository.cs
+42
-0
RB_Student_ExamRepository.cs
Edu.Repository/Exam/RB_Student_ExamRepository.cs
+89
-0
RB_StudentRepository.cs
Edu.Repository/User/RB_StudentRepository.cs
+7
-0
ExamController.cs
Edu.WebApi/Controllers/Exam/ExamController.cs
+30
-3
No files found.
Edu.Model/Entity/Exam/RB_Student_Exam.cs
0 → 100644
View file @
16d5af72
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
using
VT.FW.DB
;
namespace
Edu.Model.Entity.Exam
{
/// <summary>
/// 学员练习考试实体类
/// </summary>
[
Serializable
]
[
DB
(
ConnectionName
=
"DefaultConnection"
)]
public
class
RB_Student_Exam
{
/// <summary>
/// 主键编号
/// </summary>
public
int
Id
{
get
;
set
;
}
/// <summary>
/// 题库编号
/// </summary>
public
int
BankId
{
get
;
set
;
}
/// <summary>
/// 学员编号
/// </summary>
public
int
StudentId
{
get
;
set
;
}
/// <summary>
/// 开始时间
/// </summary>
public
DateTime
StartTime
{
get
;
set
;
}
/// <summary>
/// 结束时间
/// </summary>
public
DateTime
EndTime
{
get
;
set
;
}
/// <summary>
/// 得分
/// </summary>
public
decimal
Score
{
get
;
set
;
}
/// <summary>
/// 测评次数
/// </summary>
public
int
Times
{
get
;
set
;
}
/// <summary>
/// 创建时间
/// </summary>
public
DateTime
CreateTime
{
get
;
set
;
}
/// <summary>
/// 集团编号
/// </summary>
public
int
GroupId
{
get
;
set
;
}
}
}
Edu.Model/Entity/Exam/RB_Student_ExamDetails.cs
0 → 100644
View file @
16d5af72
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
using
VT.FW.DB
;
namespace
Edu.Model.Entity.Exam
{
/// <summary>
/// 学员练习考试详情实体类
/// </summary>
[
Serializable
]
[
DB
(
ConnectionName
=
"DefaultConnection"
)]
public
class
RB_Student_ExamDetails
{
/// <summary>
/// 主键编号
/// </summary>
public
int
DetailId
{
get
;
set
;
}
/// <summary>
/// 考试编号
/// </summary>
public
int
ExamId
{
get
;
set
;
}
/// <summary>
/// 问题编号
/// </summary>
public
int
?
QuestionId
{
get
;
set
;
}
/// <summary>
/// 问题名称(题干)
/// </summary>
public
string
Title
{
get
;
set
;
}
/// <summary>
/// 问题内容
/// </summary>
public
string
QuestionContent
{
get
;
set
;
}
/// <summary>
/// 问题类型编号
/// </summary>
public
int
QuestionTypeId
{
get
;
set
;
}
/// <summary>
/// 问题类型Key
/// </summary>
public
string
QuestionTypeKey
{
get
;
set
;
}
/// <summary>
/// 问题答案
/// </summary>
public
string
Answer
{
get
;
set
;
}
/// <summary>
/// 答案解析
/// </summary>
public
string
AnswerParse
{
get
;
set
;
}
/// <summary>
/// 是否作答(1-是)
/// </summary>
public
int
IsAnswer
{
get
;
set
;
}
/// <summary>
/// 是否作答错误(1-是)
/// </summary>
public
int
IsWrong
{
get
;
set
;
}
}
}
Edu.Model/Entity/Exam/RB_Student_Practice.cs
View file @
16d5af72
...
...
@@ -52,7 +52,7 @@ namespace Edu.Model.Entity.Exam
/// <summary>
/// 问题类型编号
/// </summary>
public
int
?
QuestionTypeId
{
get
;
set
;
}
public
int
QuestionTypeId
{
get
;
set
;
}
/// <summary>
/// 问题类型Key
...
...
Edu.Model/ViewModel/Exam/RB_Student_ExamDetails_Extend.cs
0 → 100644
View file @
16d5af72
using
Edu.Model.Entity.Exam
;
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
namespace
Edu.Model.ViewModel.Exam
{
/// <summary>
/// 学员练习考试详情扩展实体类
/// </summary>
public
class
RB_Student_ExamDetails_Extend
:
RB_Student_ExamDetails
{
/// <summary>
/// 考试编号【查询使用】
/// </summary>
public
string
QExamIds
{
get
;
set
;
}
}
}
Edu.Model/ViewModel/Exam/RB_Student_Exam_Extend.cs
0 → 100644
View file @
16d5af72
using
Edu.Model.Entity.Exam
;
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
namespace
Edu.Model.ViewModel.Exam
{
/// <summary>
/// 学员练习考试扩展实体类
/// </summary>
public
class
RB_Student_Exam_Extend
:
RB_Student_Exam
{
/// <summary>
/// 题库编号【查询使用】
/// </summary>
public
string
QBankIds
{
get
;
set
;
}
/// <summary>
/// 学员考试详情列表
/// </summary>
public
List
<
RB_Student_ExamDetails_Extend
>
ExamDetailsList
{
get
;
set
;
}
/// <summary>
/// 开始时间字符串
/// </summary>
public
string
StartTimeStr
{
get
{
return
Common
.
ConvertHelper
.
FormatTime
(
this
.
StartTime
);
}
}
/// <summary>
/// 结束时间字符串
/// </summary>
public
string
EndTimeStr
{
get
{
return
Common
.
ConvertHelper
.
FormatTime
(
this
.
EndTime
);
}
}
/// <summary>
/// 相差分钟数
/// </summary>
public
int
ExamMinutes
{
get
{
return
Common
.
ConvertHelper
.
CalcMinutes
(
this
.
StartTime
,
this
.
EndTime
);
}
}
}
}
Edu.Module.Exam/CourseExamModule.cs
View file @
16d5af72
...
...
@@ -65,6 +65,16 @@ namespace Edu.Module.Exam
/// </summary>
private
readonly
RB_Student_PracticeRepository
student_PracticeRepository
=
new
RB_Student_PracticeRepository
();
/// <summary>
/// 学员练习考试仓储层对象
/// </summary>
private
readonly
RB_Student_ExamRepository
student_ExamRepository
=
new
RB_Student_ExamRepository
();
/// <summary>
/// 学员练习考试详情仓储层对象
/// </summary>
private
readonly
RB_Student_ExamDetailsRepository
student_ExamDetailsRepository
=
new
RB_Student_ExamDetailsRepository
();
#
region
单词测试和复习
/// <summary>
/// 生成课程复习和预习单词
...
...
@@ -690,6 +700,11 @@ namespace Edu.Module.Exam
readingFinishCount
=
finishList
?.
Where
(
qitem
=>
qitem
.
Category
==
Common
.
Enum
.
Course
.
QuestionCategoryEnum
.
ReadingChoose
)?.
Count
()
??
0
;
listeningFinishCount
=
finishList
?.
Where
(
qitem
=>
qitem
.
Category
==
Common
.
Enum
.
Course
.
QuestionCategoryEnum
.
Listening
)?.
Count
()
??
0
;
grammarFinishCount
=
finishList
?.
Where
(
qitem
=>
qitem
.
Category
==
Common
.
Enum
.
Course
.
QuestionCategoryEnum
.
ChooseGrammarUse
)?.
Count
()
??
0
;
wordsTotalCount
=
finishList
?.
Where
(
qitem
=>
qitem
.
Category
==
Common
.
Enum
.
Course
.
QuestionCategoryEnum
.
ChooseWord
||
qitem
.
Category
==
Common
.
Enum
.
Course
.
QuestionCategoryEnum
.
ChooseMean
||
qitem
.
Category
==
Common
.
Enum
.
Course
.
QuestionCategoryEnum
.
ChooseWordUse
)?.
Count
()
??
0
;
}
var
list
=
questionRepository
.
GetQuestionCategoryListRepository
(
query
);
if
(
list
!=
null
&&
list
.
Count
>
0
)
...
...
@@ -697,6 +712,11 @@ namespace Edu.Module.Exam
readingTotalCount
=
list
?.
Where
(
qitem
=>
qitem
.
Category
==
Common
.
Enum
.
Course
.
QuestionCategoryEnum
.
ReadingChoose
)?.
Sum
(
qitem
=>
qitem
.
QuestionCount
)
??
0
;
listeningTotalCount
=
list
?.
Where
(
qitem
=>
qitem
.
Category
==
Common
.
Enum
.
Course
.
QuestionCategoryEnum
.
Listening
)?.
Sum
(
qitem
=>
qitem
.
QuestionCount
)
??
0
;
grammarTotalCount
=
list
?.
Where
(
qitem
=>
qitem
.
Category
==
Common
.
Enum
.
Course
.
QuestionCategoryEnum
.
ChooseGrammarUse
)?.
Sum
(
qitem
=>
qitem
.
QuestionCount
)
??
0
;
wordsTotalCount
=
list
?.
Where
(
qitem
=>
qitem
.
Category
==
Common
.
Enum
.
Course
.
QuestionCategoryEnum
.
ChooseWord
||
qitem
.
Category
==
Common
.
Enum
.
Course
.
QuestionCategoryEnum
.
ChooseMean
||
qitem
.
Category
==
Common
.
Enum
.
Course
.
QuestionCategoryEnum
.
ChooseWordUse
)?.
Sum
(
qitem
=>
qitem
.
QuestionCount
)
??
0
;
}
obj
=
new
{
...
...
@@ -712,6 +732,14 @@ namespace Edu.Module.Exam
return
obj
;
}
/// <summary>
/// 根据题目分类获取题目分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="query"></param>
/// <returns></returns>
public
List
<
object
>
GetAppQuestionCategoryListModule
(
int
pageIndex
,
int
pageSize
,
out
long
rowsCount
,
RB_Question_ViewModel
query
)
{
List
<
object
>
list
=
new
List
<
object
>();
...
...
@@ -805,14 +833,31 @@ namespace Edu.Module.Exam
var
bankList
=
question_BankRepository
.
GetQuestionBankPageListRepository
(
pageIndex
,
pageSize
,
out
rowsCount
,
query
);
if
(
bankList
!=
null
&&
bankList
.
Count
>
0
)
{
string
bankIds
=
string
.
Join
(
","
,
bankList
.
Select
(
qitem
=>
qitem
.
BankId
));
List
<
RB_Student_Exam_Extend
>
stuExamList
=
new
List
<
RB_Student_Exam_Extend
>();
if
(!
string
.
IsNullOrEmpty
(
bankIds
))
{
stuExamList
=
student_ExamRepository
.
GetStudentExamListRepository
(
new
RB_Student_Exam_Extend
()
{
GroupId
=
query
.
Group_Id
,
QBankIds
=
bankIds
});
}
foreach
(
var
item
in
bankList
)
{
var
tempList
=
stuExamList
?.
Where
(
qitem
=>
qitem
.
BankId
==
item
.
BankId
)?.
ToList
();
string
LeastTime
=
""
;
if
(
tempList
!=
null
)
{
var
least
=
tempList
?.
OrderBy
(
qitem
=>
qitem
.
ExamMinutes
)?.
FirstOrDefault
();
}
var
obj
=
new
{
item
.
BankId
,
item
.
BankName
,
JoinNum
=
new
Random
().
Next
(
1
,
100
),
LeastTime
=
"30:55"
,
JoinNum
=
tempList
?.
Count
(
),
LeastTime
,
HighestScore
=
new
Random
().
Next
(
1
,
100
),
MyUseTime
=
"55:55"
,
MyScore
=
new
Random
().
Next
(
1
,
100
),
...
...
@@ -911,6 +956,16 @@ namespace Edu.Module.Exam
return
result
;
}
/// <summary>
/// 判断是否存在学生练习
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public
bool
ExistsStudentPracticeModule
(
RB_Student_Practice_Extend
model
)
{
return
false
;
}
/// <summary>
/// 新增修改学员练习
/// </summary>
...
...
Edu.Module.User/EmployeeModule.cs
View file @
16d5af72
...
...
@@ -221,6 +221,7 @@ namespace Edu.Module.User
Password
=
extModel
.
Password
,
Token
=
token
,
UserRole
=
extModel
.
UserRole
,
AuditStatus
=
Common
.
Enum
.
User
.
AccountStatusEnum
.
Pass
,
});
break
;
case
Common
.
Enum
.
User
.
AccountTypeEnum
.
Assist
:
...
...
@@ -250,7 +251,8 @@ namespace Edu.Module.User
DirectSupervisor
=
extModel
.
DirectSupervisor
,
AssistAccount
=
extModel
.
Account
,
Password
=
extModel
.
Password
,
Token
=
token
Token
=
token
,
AuditStatus
=
Common
.
Enum
.
User
.
AccountStatusEnum
.
Pass
,
});
break
;
}
...
...
Edu.Repository/Exam/RB_Student_ExamDetailsRepository.cs
0 → 100644
View file @
16d5af72
using
Edu.Model.Entity.Exam
;
using
Edu.Model.ViewModel.Exam
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
namespace
Edu.Repository.Exam
{
/// <summary>
/// 学员练习考试详情仓储层
/// </summary>
public
class
RB_Student_ExamDetailsRepository
:
BaseRepository
<
RB_Student_ExamDetails
>
{
/// <summary>
/// 获取学员练习考试详情列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public
List
<
RB_Student_ExamDetails_Extend
>
GetStudentExamDetailsListRepository
(
RB_Student_ExamDetails_Extend
query
)
{
StringBuilder
builder
=
new
StringBuilder
();
builder
.
AppendFormat
(
@"
SELECT A.*
FROM RB_Student_ExamDetails AS A
WHERE 1=1
"
);
if
(
query
!=
null
)
{
if
(
query
.
ExamId
>
0
)
{
builder
.
AppendFormat
(
@" AND A.{0}={1} "
,
nameof
(
RB_Student_ExamDetails_Extend
.
ExamId
),
query
.
ExamId
);
}
if
(!
string
.
IsNullOrEmpty
(
query
.
QExamIds
))
{
builder
.
AppendFormat
(
@" AND A.{0} IN ({1}) "
,
nameof
(
RB_Student_ExamDetails_Extend
.
ExamId
),
query
.
QExamIds
);
}
}
return
Get
<
RB_Student_ExamDetails_Extend
>(
builder
.
ToString
()).
ToList
();
}
}
}
Edu.Repository/Exam/RB_Student_ExamRepository.cs
0 → 100644
View file @
16d5af72
using
Edu.Model.Entity.Exam
;
using
Edu.Model.ViewModel.Exam
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
namespace
Edu.Repository.Exam
{
/// <summary>
/// 学员练习考试仓储层
/// </summary>
public
class
RB_Student_ExamRepository
:
BaseRepository
<
RB_Student_Exam
>
{
/// <summary>
/// 获取学员练习考试分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="query"></param>
/// <returns></returns>
public
List
<
RB_Student_Exam_Extend
>
GetStudentExamPageRepository
(
int
pageIndex
,
int
pageSize
,
out
long
rowsCount
,
RB_Student_Exam_Extend
query
)
{
StringBuilder
builder
=
new
StringBuilder
();
builder
.
AppendFormat
(
@"
SELECT A.*
FROM RB_Student_Exam AS A
WHERE 1=1
"
);
if
(
query
!=
null
)
{
if
(
query
.
GroupId
>
0
)
{
builder
.
AppendFormat
(
@" AND A.{0}={1} "
,
nameof
(
RB_Student_Exam_Extend
.
GroupId
),
query
.
GroupId
);
}
if
(
query
.
StudentId
>
0
)
{
builder
.
AppendFormat
(
@" AND A.{0}={1} "
,
nameof
(
RB_Student_Exam_Extend
.
StudentId
),
query
.
StudentId
);
}
if
(
query
.
BankId
>
0
)
{
builder
.
AppendFormat
(
@" AND A.{0}={1} "
,
nameof
(
RB_Student_Exam_Extend
.
BankId
),
query
.
BankId
);
}
if
(!
string
.
IsNullOrEmpty
(
query
.
QBankIds
))
{
builder
.
AppendFormat
(
@" AND A.{0} IN({1}) "
,
nameof
(
RB_Student_Exam_Extend
.
BankId
),
query
.
QBankIds
);
}
}
return
GetPage
<
RB_Student_Exam_Extend
>(
pageIndex
,
pageSize
,
out
rowsCount
,
builder
.
ToString
()).
ToList
();
}
/// <summary>
/// 获取学员练习考试列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public
List
<
RB_Student_Exam_Extend
>
GetStudentExamListRepository
(
RB_Student_Exam_Extend
query
)
{
StringBuilder
builder
=
new
StringBuilder
();
builder
.
AppendFormat
(
@"
SELECT A.*
FROM RB_Student_Exam AS A
WHERE 1=1
"
);
if
(
query
!=
null
)
{
if
(
query
.
GroupId
>
0
)
{
builder
.
AppendFormat
(
@" AND A.{0}={1} "
,
nameof
(
RB_Student_Exam_Extend
.
GroupId
),
query
.
GroupId
);
}
if
(
query
.
StudentId
>
0
)
{
builder
.
AppendFormat
(
@" AND A.{0}={1} "
,
nameof
(
RB_Student_Exam_Extend
.
StudentId
),
query
.
StudentId
);
}
if
(
query
.
BankId
>
0
)
{
builder
.
AppendFormat
(
@" AND A.{0}={1} "
,
nameof
(
RB_Student_Exam_Extend
.
BankId
),
query
.
BankId
);
}
if
(!
string
.
IsNullOrEmpty
(
query
.
QBankIds
))
{
builder
.
AppendFormat
(
@" AND A.{0} IN({1}) "
,
nameof
(
RB_Student_Exam_Extend
.
BankId
),
query
.
QBankIds
);
}
}
return
Get
<
RB_Student_Exam_Extend
>(
builder
.
ToString
()).
ToList
();
}
}
}
Edu.Repository/User/RB_StudentRepository.cs
View file @
16d5af72
...
...
@@ -528,6 +528,13 @@ WHERE o.OrderState=1 and og.`Status`=0 and sog.`Status`=0 and og.GuestState <>2
{
model
.
StuSourceId
=
0
;
}
else
if
(
model
.
CreateType
==
Common
.
Enum
.
User
.
StuCreateTypeEnum
.
CustomerInput
)
{
if
(
model
.
CustomerId
<=
0
&&
model
.
StuSourceId
>
0
)
{
model
.
CustomerId
=
model
.
StuSourceId
;
}
}
model
.
StuTel
=
Common
.
Plugin
.
StringHelper
.
ReplaceMobile
(
model
.
StuRealMobile
);
if
(
model
.
StuId
>
0
)
...
...
Edu.WebApi/Controllers/Exam/ExamController.cs
View file @
16d5af72
...
...
@@ -968,7 +968,7 @@ namespace Edu.WebApi.Controllers.Exam
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
GetAppQuestionStatic
Module
()
public
ApiResult
GetAppQuestionStatic
()
{
var
query
=
new
RB_Question_ViewModel
()
{
...
...
@@ -984,13 +984,13 @@ namespace Edu.WebApi.Controllers.Exam
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
GetQuestionWords
List
()
public
ApiResult
GetQuestionWords
()
{
var
pageModel
=
Common
.
Plugin
.
JsonHelper
.
DeserializeObject
<
ResultPageModel
>(
RequestParm
.
Msg
.
ToString
());
var
query
=
new
RB_Question_ViewModel
()
{
BankType
=
(
LevelTypeEnum
)
base
.
ParmJObj
.
GetInt
(
"BankType"
),
QCategoryId
=
base
.
ParmJObj
.
GetStringValue
(
"QCategoryId"
),
QCategoryId
=
string
.
Format
(
"{0},{1},{2}"
,
(
int
)
QuestionCategoryEnum
.
ChooseWord
,
(
int
)
QuestionCategoryEnum
.
ChooseMean
,
(
int
)
QuestionCategoryEnum
.
ChooseWordUse
),
};
var
list
=
courseExamModule
.
GetAppQuestionCategoryListModule
(
pageModel
.
PageIndex
,
pageModel
.
PageSize
,
out
long
rowsCount
,
query
);
pageModel
.
Count
=
rowsCount
;
...
...
@@ -1090,5 +1090,32 @@ namespace Edu.WebApi.Controllers.Exam
pageModel
.
PageData
=
list
;
return
ApiResult
.
Success
(
data
:
pageModel
);
}
/// <summary>
/// 学员提交联系结果
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
SetStudentPractice
()
{
var
model
=
new
RB_Student_Practice_Extend
()
{
Id
=
base
.
ParmJObj
.
GetInt
(
"Id"
),
StudentId
=
base
.
ParmJObj
.
GetInt
(
"StudentId"
),
Category
=(
QuestionCategoryEnum
)
base
.
ParmJObj
.
GetInt
(
"Category"
),
LevelType
=(
LevelTypeEnum
)
base
.
ParmJObj
.
GetInt
(
"LevelType"
),
QuestionId
=
base
.
ParmJObj
.
GetInt
(
"QuestionId"
),
Title
=
base
.
ParmJObj
.
GetStringValue
(
"Title"
),
QuestionContent
=
base
.
ParmJObj
.
GetStringValue
(
"QuestionContent"
),
QuestionTypeId
=
base
.
ParmJObj
.
GetInt
(
"QuestionTypeId"
),
QuestionTypeKey
=
base
.
ParmJObj
.
GetStringValue
(
"QuestionTypeKey"
),
Answer
=
base
.
ParmJObj
.
GetStringValue
(
"Answer"
),
AnswerParse
=
base
.
ParmJObj
.
GetStringValue
(
"AnswerParse"
),
IsAnswer
=
base
.
ParmJObj
.
GetInt
(
"IsAnswer"
),
IsWrong
=
base
.
ParmJObj
.
GetInt
(
"IsWrong"
),
};
bool
flag
=
courseExamModule
.
SetStudentPracticeModule
(
model
);
return
flag
?
ApiResult
.
Success
()
:
ApiResult
.
Failed
();
}
}
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment