@ -1401,11 +1401,20 @@ public class Ghre_ExamServices : BaseServices<Ghre_Exam, Ghre_ExamDto, InsertGhr
}
# endregion
var ids1 = ids . Where ( x = > id ! = x ) . ToList ( ) ;
if ( entity . LinkType = = DIC_EXAM_LINK_TYPE_COURSE )
{
var ids1 = await Db . Queryable < Ghre_Exam > ( )
. Where ( x = >
x . Source = = null & &
x . Status = = DIC_EXAM_STATUS . RELEASED & &
x . CourseId = = entity . CourseId & &
x . Id ! = id )
. Select ( x = > x . Id ) . ToListAsync ( ) ;
#region 校验同一个课程下 考试时间不允许重叠
var exams = await base . Query ( x = > ( x . Source = = null & & x . Status = = DIC_EXAM_STATUS . RELEASED & & x . CourseId = = entity . CourseId & & x . Id ! = id ) | | ids1 . Contains ( x . Id ) ) ;
var exams = await base . Query ( x = > (
x . Source = = null & &
x . Status = = DIC_EXAM_STATUS . RELEASED & & x . CourseId = = entity . CourseId & & x . Id ! = id ) | | ids1 . Contains ( x . Id ) ) ;
if ( exams . Any ( ) )
for ( int i = 0 ; i < exams . Count ; i + + )
{
@ -1428,6 +1437,13 @@ public class Ghre_ExamServices : BaseServices<Ghre_Exam, Ghre_ExamDto, InsertGhr
}
else
{
var ids1 = await Db . Queryable < Ghre_Exam > ( )
. Where ( x = >
x . Source = = null & &
x . Status = = DIC_EXAM_STATUS . RELEASED & &
x . CourseSceneId = = entity . CourseSceneId & &
x . Id ! = id )
. Select ( x = > x . Id ) . ToListAsync ( ) ;
#region 校验同一个课程场景下 考试时间不允许重叠
var exams = await base . Query ( x = > ( x . Source = = null & & x . Status = = DIC_EXAM_STATUS . RELEASED & & x . CourseSceneId = = entity . CourseSceneId & & x . Id ! = id ) | | ids1 . Contains ( x . Id ) ) ;
if ( exams . Any ( ) )
@ -1468,11 +1484,11 @@ public class Ghre_ExamServices : BaseServices<Ghre_Exam, Ghre_ExamDto, InsertGhr
if ( status = = DIC_EXAM_STATUS . RELEASED | | status = = DIC_EXAM_STATUS . DISABLED | | status = = DIC_EXAM_STATUS . DRAFT )
{
entity . Status = status ;
entities . Add ( entity ) ;
await BaseDal . Update ( entity ) ;
}
}
var result = await BaseDal . Update ( entities ) ;
//var result = await BaseDal.Update(entities) ;
if ( status = = DIC_EXAM_STATUS . RELEASED )
return ServiceResult . OprateSuccess ( "发布成功!" ) ;
else if ( status = = DIC_EXAM_STATUS . DRAFT )
@ -1924,4 +1940,31 @@ public class Ghre_ExamServices : BaseServices<Ghre_Exam, Ghre_ExamDto, InsertGhr
//}
return ServiceResult . OprateSuccess ( "执行成功!" ) ;
}
#region 批量删除
public override async Task < bool > DeleteById1 ( object id )
{
return await DeleteByIds1 ( [ id . ObjToLong ( ) ] ) ;
}
/// <summary>
/// 删除指定ID集合的数据(批量删除)
/// </summary>
/// <param name="ids">主键ID集合</param>
/// <returns></returns>
public override async Task < bool > DeleteByIds1 ( long [ ] ids )
{
await Db . Updateable < Ghre_Exam > ( )
. SetColumns ( it = > new Ghre_Exam ( ) { IsEnable = 0 } , true )
. Where ( it = > ids . Contains ( it . Id ) )
. ExecuteCommandAsync ( ) ;
await Db . Updateable < Ghre_StudyRecord > ( )
. SetColumns ( it = > new Ghre_StudyRecord ( ) { ExamId = null } , true )
. Where ( it = > it . ExamId ! = null & & ids . Contains ( it . ExamId . Value ) )
. ExecuteCommandAsync ( ) ;
return true ;
}
# endregion
}