考试 新增复制接口

master
xiaochanghai 1 year ago
parent e8aabe70a0
commit f2f6aa982f
  1. 14
      Tiobon.Core.Api/Controllers/Ghre/Ghre_ExamController.cs
  2. 2
      Tiobon.Core.IServices/Ghre/IGhre_ExamServices.cs
  3. 24
      Tiobon.Core.Services/Ghre/Ghre_ExamServices.cs

@ -126,4 +126,18 @@ public class Ghre_ExamController : BaseController<IGhre_ExamServices, Ghre_Exam,
return await _service.StartExam(id); return await _service.StartExam(id);
} }
#endregion #endregion
#region 复制
/// <summary>
/// 复制
/// </summary>
/// <param name="id">考试ID</param>
/// <returns></returns>
[HttpPost("Copy/{id}")]
public async Task<ServiceResult> Copy(long id)
{
return await _service.Copy(id);
}
#endregion
} }

@ -24,5 +24,7 @@ namespace Tiobon.Core.IServices
Task<ServiceResult> GetStatus(long id); Task<ServiceResult> GetStatus(long id);
Task<ServiceResult> StartExam(long id); Task<ServiceResult> StartExam(long id);
Task<ServiceResult> Copy(long id);
} }
} }

@ -15,6 +15,7 @@ using Tiobon.Core.Common.Helper;
using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http;
using Tiobon.Core.Common.UserManager; using Tiobon.Core.Common.UserManager;
using MathNet.Numerics.Distributions; using MathNet.Numerics.Distributions;
using System.Drawing.Drawing2D;
namespace Tiobon.Core.Services; namespace Tiobon.Core.Services;
@ -323,6 +324,12 @@ public class Ghre_ExamServices : BaseServices<Ghre_Exam, Ghre_ExamDto, InsertGhr
x.canEdit = 0; x.canEdit = 0;
x.canDelete = 0; x.canDelete = 0;
} }
if (x.Status == "Released")
{
x.showLink = 0;
x.showResult = 0;
x.canClose = 0;
}
if (x.Status == "Disabled") if (x.Status == "Disabled")
{ {
@ -791,4 +798,21 @@ public class Ghre_ExamServices : BaseServices<Ghre_Exam, Ghre_ExamDto, InsertGhr
} }
catch (Exception) { throw; } catch (Exception) { throw; }
} }
public async Task<ServiceResult> Copy(long id)
{
var exam = await base.QueryById(id);
var staffs = await _ghre_ExamStaffServices.Query(x => x.ExamId == id);
exam.Status = "Draft";
var insert = Mapper.Map(exam).ToANew<InsertGhre_ExamInput>();
var insertStaffs = Mapper.Map(exam).ToANew<List<InsertGhre_ExamStaffInput>>();
id = await base.Add(insert);
insertStaffs.ForEach(x => x.ExamId = id);
await _ghre_ExamStaffServices.Add(insertStaffs);
return ServiceResult.OprateSuccess("复制成功!");
}
} }
Loading…
Cancel
Save