From 6e74d35c7708314c0ee00493be46f3ce73aebbf0 Mon Sep 17 00:00:00 2001 From: xiaochanghai Date: Sun, 17 Nov 2024 22:51:46 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=B1=95=E5=BC=80=E9=9D=A2?= =?UTF-8?q?=E8=AF=95=E5=AE=98id?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Model/Tiobon.Web.pdm | 13 +- Tiobon.Core.Api/Tiobon.Core.Model.xml | 60 ++++---- Tiobon.Core.IServices/BASE/IBaseServices.cs | 1 + .../Ghrh/Ghrh_InterviewRecord.Dto.Base.cs | 37 +++-- .../Models/Ghrh/Ghrh_InterviewRecord.cs | 37 +++-- Tiobon.Core.Repository/BASE/BaseRepository.cs | 21 +++ .../BASE/IBaseRepository.cs | 1 + Tiobon.Core.Services/BASE/BaseServices.cs | 4 + .../Ghrh/Ghrh_ResumeServices.cs | 145 ++++++++++-------- 9 files changed, 180 insertions(+), 139 deletions(-) diff --git a/Model/Tiobon.Web.pdm b/Model/Tiobon.Web.pdm index 4cd8d689..d49b06ca 100644 --- a/Model/Tiobon.Web.pdm +++ b/Model/Tiobon.Web.pdm @@ -1,5 +1,5 @@ - + @@ -40894,15 +40894,14 @@ Ghra_staff_InsureBase 6F397F95-C7C8-431C-89B4-CF3453A56C12 -简历接收人ids -ReceiverIds +面试官ID +StaffId 1731491418 Administrator -1731491423 +1731765482 Administrator -简历接收人ids -nvarchar(2000) -2000 +面试官ID +int E5951B5E-C7A5-4168-BDD2-A836AD3B5F9A diff --git a/Tiobon.Core.Api/Tiobon.Core.Model.xml b/Tiobon.Core.Api/Tiobon.Core.Model.xml index c9ce2ad6..81175d11 100644 --- a/Tiobon.Core.Api/Tiobon.Core.Model.xml +++ b/Tiobon.Core.Api/Tiobon.Core.Model.xml @@ -6395,11 +6395,6 @@ 轮数 - - - 简历接收人ids - - 预面试时间1 @@ -6440,11 +6435,6 @@ 简历首次查询时间 - - - 评估时间 - - 是否通过 @@ -6455,11 +6445,6 @@ 面试结果 - - - 状态 - - 备注 @@ -6530,6 +6515,21 @@ 预留字段12 + + + 状态 + + + + + 评估时间 + + + + + 面试官ID + + 个人简历 (Dto.Base) @@ -17016,11 +17016,6 @@ 轮数 - - - 简历接收人ids - - 预面试时间1 @@ -17061,11 +17056,6 @@ 简历首次查询时间 - - - 评估时间 - - 是否通过 @@ -17076,11 +17066,6 @@ 面试结果 - - - 状态 - - 备注 @@ -17151,6 +17136,21 @@ 预留字段12 + + + 状态 + + + + + 评估时间 + + + + + 面试官ID + + 个人简历 (Model) diff --git a/Tiobon.Core.IServices/BASE/IBaseServices.cs b/Tiobon.Core.IServices/BASE/IBaseServices.cs index 800d6a59..b2bd1b51 100644 --- a/Tiobon.Core.IServices/BASE/IBaseServices.cs +++ b/Tiobon.Core.IServices/BASE/IBaseServices.cs @@ -126,6 +126,7 @@ namespace Tiobon.Core.IServices.BASE Task Update(object operateAnonymousObjects); Task Update(TEntity entity, List lstColumns = null, List lstIgnoreColumns = null, string where = ""); + Task Update(List entitys, List lstColumns = null, List lstIgnoreColumns = null, string where = ""); Task> Query(); Task> Query(string where); diff --git a/Tiobon.Core.Model/Base/Ghrh/Ghrh_InterviewRecord.Dto.Base.cs b/Tiobon.Core.Model/Base/Ghrh/Ghrh_InterviewRecord.Dto.Base.cs index 15338267..7d666eb8 100644 --- a/Tiobon.Core.Model/Base/Ghrh/Ghrh_InterviewRecord.Dto.Base.cs +++ b/Tiobon.Core.Model/Base/Ghrh/Ghrh_InterviewRecord.Dto.Base.cs @@ -6,7 +6,7 @@ * * Ver 变更日期 负责人 变更内容 * ─────────────────────────────────── -*V0.01 2024/11/14 9:19:49 SimonHsiao 初版 +*V0.01 2024/11/16 22:02:11 SimonHsiao 初版 * * Copyright(c) 2024 Tiobon Corporation. All Rights Reserved. *┌──────────────────────────────────┐ @@ -33,12 +33,6 @@ public class Ghrh_InterviewRecordBase /// public int? Round { get; set; } - /// - /// 简历接收人ids - /// - [Display(Name = "ReceiverIds"), Description("简历接收人ids"), MaxLength(2000, ErrorMessage = "简历接收人ids 不能超过 2000 个字符")] - public string ReceiverIds { get; set; } - /// /// 预面试时间1 /// @@ -83,11 +77,6 @@ public class Ghrh_InterviewRecordBase /// public DateTime? LastViewTime { get; set; } - /// - /// 评估时间 - /// - public DateTime? AssessTime { get; set; } - /// /// 是否通过 /// @@ -96,15 +85,9 @@ public class Ghrh_InterviewRecordBase /// /// 面试结果 /// - [Display(Name = "InterviewResult"), Description("面试结果"), MaxLength(256, ErrorMessage = "面试结果 不能超过 2000 个字符")] + [Display(Name = "InterviewResult"), Description("面试结果"), MaxLength(2000, ErrorMessage = "面试结果 不能超过 2000 个字符")] public string InterviewResult { get; set; } - /// - /// 状态 - /// - [Display(Name = "Status"), Description("状态"), MaxLength(32, ErrorMessage = "状态 不能超过 32 个字符")] - public string Status { get; set; } - /// /// 备注 /// @@ -185,4 +168,20 @@ public class Ghrh_InterviewRecordBase /// 预留字段12 /// public int? ReverseI2 { get; set; } + + /// + /// 状态 + /// + [Display(Name = "Status"), Description("状态"), MaxLength(32, ErrorMessage = "状态 不能超过 32 个字符")] + public string Status { get; set; } + + /// + /// 评估时间 + /// + public DateTime? AssessTime { get; set; } + + /// + /// 面试官ID + /// + public int? StaffId { get; set; } } diff --git a/Tiobon.Core.Model/Models/Ghrh/Ghrh_InterviewRecord.cs b/Tiobon.Core.Model/Models/Ghrh/Ghrh_InterviewRecord.cs index 1b81ee67..046eedf5 100644 --- a/Tiobon.Core.Model/Models/Ghrh/Ghrh_InterviewRecord.cs +++ b/Tiobon.Core.Model/Models/Ghrh/Ghrh_InterviewRecord.cs @@ -6,7 +6,7 @@ * * Ver 变更日期 负责人 变更内容 * ─────────────────────────────────── -*V0.01 2024/11/14 9:19:49 SimonHsiao 初版 +*V0.01 2024/11/16 22:02:10 SimonHsiao 初版 * * Copyright(c) 2024 Tiobon Corporation. All Rights Reserved. *┌──────────────────────────────────┐ @@ -34,12 +34,6 @@ public class Ghrh_InterviewRecord : BasePoco /// public int? Round { get; set; } - /// - /// 简历接收人ids - /// - [Display(Name = "ReceiverIds"), Description("简历接收人ids"), MaxLength(2000, ErrorMessage = "简历接收人ids 不能超过 2000 个字符")] - public string ReceiverIds { get; set; } - /// /// 预面试时间1 /// @@ -84,11 +78,6 @@ public class Ghrh_InterviewRecord : BasePoco /// public DateTime? LastViewTime { get; set; } - /// - /// 评估时间 - /// - public DateTime? AssessTime { get; set; } - /// /// 是否通过 /// @@ -97,15 +86,9 @@ public class Ghrh_InterviewRecord : BasePoco /// /// 面试结果 /// - [Display(Name = "InterviewResult"), Description("面试结果"), MaxLength(256, ErrorMessage = "面试结果 不能超过 2000 个字符")] + [Display(Name = "InterviewResult"), Description("面试结果"), MaxLength(2000, ErrorMessage = "面试结果 不能超过 2000 个字符")] public string InterviewResult { get; set; } - /// - /// 状态 - /// - [Display(Name = "Status"), Description("状态"), MaxLength(32, ErrorMessage = "状态 不能超过 32 个字符")] - public string Status { get; set; } - /// /// 备注 /// @@ -186,4 +169,20 @@ public class Ghrh_InterviewRecord : BasePoco /// 预留字段12 /// public int? ReverseI2 { get; set; } + + /// + /// 状态 + /// + [Display(Name = "Status"), Description("状态"), MaxLength(32, ErrorMessage = "状态 不能超过 32 个字符")] + public string Status { get; set; } + + /// + /// 评估时间 + /// + public DateTime? AssessTime { get; set; } + + /// + /// 面试官ID + /// + public int? StaffId { get; set; } } diff --git a/Tiobon.Core.Repository/BASE/BaseRepository.cs b/Tiobon.Core.Repository/BASE/BaseRepository.cs index a85a8f59..1485be0c 100644 --- a/Tiobon.Core.Repository/BASE/BaseRepository.cs +++ b/Tiobon.Core.Repository/BASE/BaseRepository.cs @@ -229,6 +229,27 @@ public class BaseRepository : IBaseRepository where TEntity : return await up.ExecuteCommandHasChangeAsync(); } + public async Task Update(List entitys, List lstColumns = null, List lstIgnoreColumns = null, string where = "") + { + IUpdateable up = _db.Updateable(entitys); + if (lstIgnoreColumns != null && lstIgnoreColumns.Count > 0) + { + up = up.IgnoreColumns(lstIgnoreColumns.ToArray()); + } + + if (lstColumns != null && lstColumns.Count > 0) + { + up = up.UpdateColumns(lstColumns.ToArray()); + } + + if (!string.IsNullOrEmpty(where)) + { + up = up.Where(where); + } + + return await up.ExecuteCommandHasChangeAsync(); + } + /// /// 根据实体删除一条数据 /// diff --git a/Tiobon.Core.Repository/BASE/IBaseRepository.cs b/Tiobon.Core.Repository/BASE/IBaseRepository.cs index ae71a388..bf459f1e 100644 --- a/Tiobon.Core.Repository/BASE/IBaseRepository.cs +++ b/Tiobon.Core.Repository/BASE/IBaseRepository.cs @@ -116,6 +116,7 @@ public interface IBaseRepository where TEntity : class /// /// Task Update(TEntity entity, List lstColumns = null, List lstIgnoreColumns = null, string where = ""); + Task Update(List entitys, List lstColumns = null, List lstIgnoreColumns = null, string where = ""); /// /// 查询 diff --git a/Tiobon.Core.Services/BASE/BaseServices.cs b/Tiobon.Core.Services/BASE/BaseServices.cs index 43d7ade0..42259c56 100644 --- a/Tiobon.Core.Services/BASE/BaseServices.cs +++ b/Tiobon.Core.Services/BASE/BaseServices.cs @@ -444,6 +444,10 @@ public class BaseServices : IBaseServ { return await BaseDal.Update(entity, lstColumns, lstIgnoreColumns, where); } + public async Task Update(List entitys, List lstColumns = null, List lstIgnoreColumns = null, string where = "") + { + return await BaseDal.Update(entitys, lstColumns, lstIgnoreColumns, where); + } /// diff --git a/Tiobon.Core.Services/Ghrh/Ghrh_ResumeServices.cs b/Tiobon.Core.Services/Ghrh/Ghrh_ResumeServices.cs index 8908bf45..64084778 100644 --- a/Tiobon.Core.Services/Ghrh/Ghrh_ResumeServices.cs +++ b/Tiobon.Core.Services/Ghrh/Ghrh_ResumeServices.cs @@ -1257,14 +1257,14 @@ END"; OrderNo = await GenerateContinuousSequence("Ghrh_InterviewOrder", "OrderNo", "V"), Status = DIC_INTERVIEW_ORDER_STATUS.HasRecommended }); - await _ghrh_InterviewRecordServices.Add(new InsertGhrh_InterviewRecordInput() - { - OrderId = orderId, - Round = 1, - Status = DIC_INTERVIEW_ORDER_STATUS.HasRecommended, - ReceiverIds = JsonHelper.ObjToJson(recommend.InterviewStaffs), - }); - + for (int i = 0; i < recommend.InterviewStaffs.Count; i++) + await _ghrh_InterviewRecordServices.Add(new InsertGhrh_InterviewRecordInput() + { + OrderId = orderId, + Round = 1, + Status = DIC_INTERVIEW_ORDER_STATUS.HasRecommended, + StaffId = recommend.InterviewStaffs[i].StaffId, + }); return ServiceResult.OprateSuccess(); } @@ -1283,15 +1283,14 @@ END"; var order = await _ghrh_InterviewOrderServices.QuerySingle(x => x.ResumeId == id); if (order != null) { - var record = await _ghrh_InterviewRecordServices.QuerySingle(x => x.Round == order.Round && x.OrderId == order.Id); - if (record.FirstViewTime.IsNotEmptyOrNull()) - return ServiceResult.OprateFailed("面试官已查看简历,暂不可发送提醒!"); + var records = await _ghrh_InterviewRecordServices.Query(x => x.Round == order.Round && x.OrderId == order.Id); + //if (record.FirstViewTime.IsNotEmptyOrNull()) + // return ServiceResult.OprateFailed("面试官已查看简历,暂不可发送提醒!"); - if (record.ReceiverIds.IsNotEmptyOrNull()) + for (int i = 0; i < records.Count; i++) { - - var staffs = JsonHelper.JsonToObj>(record.ReceiverIds); - await SendMessage(staffs.Select(x => x.StaffId).ToList(), "简历提醒", "您有个简历推荐,请及时查看!"); + if (records[i].FirstViewTime.IsNotEmptyOrNull()) + await SendMessage([records[i].StaffId.Value], "简历提醒", "您有个简历推荐,请及时查看!"); } var usser = await GetUser(); @@ -1335,19 +1334,19 @@ END"; var order = await _ghrh_InterviewOrderServices.QuerySingle(x => x.ResumeId == id); if (order != null) { - var record = await _ghrh_InterviewRecordServices.QuerySingle(x => x.Round == order.Round && x.OrderId == order.Id); + var records = await _ghrh_InterviewRecordServices.Query(x => x.Round == order.Round && x.OrderId == order.Id); for (int i = 0; i < times.Count; i++) { if (i == 0) - record.PlanInterviewTime1 = times[i]; + records.ForEach(record => record.PlanInterviewTime1 = times[i]); else if (i == 1) - record.PlanInterviewTime2 = times[i]; + records.ForEach(record => record.PlanInterviewTime2 = times[i]); else if (i == 2) - record.PlanInterviewTime3 = times[i]; + records.ForEach(record => record.PlanInterviewTime3 = times[i]); } - record.Status = DIC_INTERVIEW_ORDER_STATUS.WaitAppointment; + records.ForEach(record => record.Status = DIC_INTERVIEW_ORDER_STATUS.WaitAppointment); - await _ghrh_InterviewRecordServices.Update(record, ["PlanInterviewTime1", "PlanInterviewTime2", "PlanInterviewTime3", "Status"]); + await _ghrh_InterviewRecordServices.Update(records[0], ["PlanInterviewTime1", "PlanInterviewTime2", "PlanInterviewTime3", "Status"]); var usser = await GetUser(); await _ghrh_InterviewLogServices.Add(new InsertGhrh_InterviewLogInput() @@ -1389,14 +1388,17 @@ END"; var order = await _ghrh_InterviewOrderServices.QuerySingle(x => x.ResumeId == id); if (order != null) { - var record = await _ghrh_InterviewRecordServices.QuerySingle(x => x.Round == order.Round && x.OrderId == order.Id); - record.InterviewTime = time; - record.InterviewBeginTime = Convert.ToDateTime(array[0]); - record.InterviewEndTime = Convert.ToDateTime(array[1]); + var records = await _ghrh_InterviewRecordServices.Query(x => x.Round == order.Round && x.OrderId == order.Id); - record.Status = DIC_INTERVIEW_ORDER_STATUS.WaitInterview; + records.ForEach(record => + { + record.InterviewTime = time; + record.InterviewBeginTime = Convert.ToDateTime(array[0]); + record.InterviewEndTime = Convert.ToDateTime(array[1]); + record.Status = DIC_INTERVIEW_ORDER_STATUS.WaitInterview; - await _ghrh_InterviewRecordServices.Update(record, ["InterviewTime", "InterviewBeginTime", "InterviewEndTime", "Status"]); + }); + await _ghrh_InterviewRecordServices.Update(records, ["InterviewTime", "InterviewBeginTime", "InterviewEndTime", "Status"]); var usser = await GetUser(); await _ghrh_InterviewLogServices.Add(new InsertGhrh_InterviewLogInput() @@ -1438,14 +1440,19 @@ END"; var order = await _ghrh_InterviewOrderServices.QuerySingle(x => x.ResumeId == id); if (order != null) { - var record = await _ghrh_InterviewRecordServices.QuerySingle(x => x.Round == order.Round && x.OrderId == order.Id); - record.InterviewTime = time; - record.InterviewBeginTime = Convert.ToDateTime(array[0]); - record.InterviewEndTime = Convert.ToDateTime(array[1]); + var records = await _ghrh_InterviewRecordServices.Query(x => x.Round == order.Round && x.OrderId == order.Id); + + records.ForEach(record => + { + record.InterviewTime = time; + record.InterviewBeginTime = Convert.ToDateTime(array[0]); + record.InterviewEndTime = Convert.ToDateTime(array[1]); - record.Status = DIC_INTERVIEW_ORDER_STATUS.WaitInterview; + record.Status = DIC_INTERVIEW_ORDER_STATUS.WaitInterview; - await _ghrh_InterviewRecordServices.Update(record, ["InterviewTime", "InterviewBeginTime", "InterviewEndTime", "Status"]); + }); + + await _ghrh_InterviewRecordServices.Update(records, ["InterviewTime", "InterviewBeginTime", "InterviewEndTime", "Status"]); //if (record.ReceiverIds.IsNotEmptyOrNull()) //{ @@ -1481,12 +1488,12 @@ END"; var order = await _ghrh_InterviewOrderServices.QuerySingle(x => x.ResumeId == id); if (order != null) { - var record = await _ghrh_InterviewRecordServices.QuerySingle(x => x.Round == order.Round && x.OrderId == order.Id); + var records = await _ghrh_InterviewRecordServices.Query(x => x.Round == order.Round && x.OrderId == order.Id); - if (record.ReceiverIds.IsNotEmptyOrNull()) + for (int i = 0; i < records.Count; i++) { - var staffs = JsonHelper.JsonToObj>(record.ReceiverIds); - await SendMessage(staffs.Select(x => x.StaffId).ToList(), "简历提醒", "您有个简历【待面试】,请及时查看面试时间!"); + if (records[i].FirstViewTime.IsNotEmptyOrNull()) + await SendMessage([records[i].StaffId.Value], "简历提醒", "您有个简历【待面试】,请及时查看面试时间!"); } var usser = await GetUser(); @@ -1533,17 +1540,20 @@ END"; await _ghrh_InterviewOrderServices.Update(order, ["Status", "Round"]); - await _ghrh_InterviewRecordServices.Add(new InsertGhrh_InterviewRecordInput() + for (int i = 0; i < input.InterviewStaffs.Count; i++) { - OrderId = order.Id, - Round = order.Round, - ReceiverIds = JsonHelper.ObjToJson(input.InterviewStaffs), - InterviewTime = input.Time, - PlanInterviewTime1 = input.Time, - InterviewBeginTime = Convert.ToDateTime(array[0]), - InterviewEndTime = Convert.ToDateTime(array[1]), - Status = DIC_INTERVIEW_ORDER_STATUS.WaitInterview - }); + await _ghrh_InterviewRecordServices.Add(new InsertGhrh_InterviewRecordInput() + { + OrderId = order.Id, + Round = order.Round, + StaffId = input.InterviewStaffs[i].StaffId, + InterviewTime = input.Time, + PlanInterviewTime1 = input.Time, + InterviewBeginTime = Convert.ToDateTime(array[0]), + InterviewEndTime = Convert.ToDateTime(array[1]), + Status = DIC_INTERVIEW_ORDER_STATUS.WaitInterview + }); + } var usser = await GetUser(); await _ghrh_InterviewLogServices.Add(new InsertGhrh_InterviewLogInput() @@ -1573,13 +1583,14 @@ END"; entity.Status = DIC_INTERVIEW_ORDER_STATUS.HasRecommended; await Update(entity, ["Status"]); - await _ghrh_InterviewRecordServices.Add(new InsertGhrh_InterviewRecordInput() - { - OrderId = order.Id, - Round = order.Round, - Status = DIC_INTERVIEW_ORDER_STATUS.HasRecommended, - ReceiverIds = JsonHelper.ObjToJson(input.InterviewStaffs), - }); + for (int i = 0; i < input.InterviewStaffs.Count; i++) + await _ghrh_InterviewRecordServices.Add(new InsertGhrh_InterviewRecordInput() + { + OrderId = order.Id, + Round = order.Round, + Status = DIC_INTERVIEW_ORDER_STATUS.HasRecommended, + StaffId = input.InterviewStaffs[i].StaffId, + }); if (input.InterviewStaffs.IsNotEmptyOrNull()) await SendMessage(input.InterviewStaffs.Select(x => x.StaffId).ToList(), "简历提醒", "您有个新的推荐简历,请及时查看!"); @@ -1602,7 +1613,7 @@ END"; order.InterviewResult = input.Content; await _ghrh_InterviewOrderServices.Update(order, ["Status", "IsPass", "InterviewResult"]); - var record = await _ghrh_InterviewRecordServices.QuerySingle(x => x.Round == order.Round && x.OrderId == order.Id); + var record = await _ghrh_InterviewRecordServices.QuerySingle(x => x.Round == order.Round && x.OrderId == order.Id && x.StaffId == GetStaffId()); record.InterviewResult = input.Content; record.IsPass = input.IsPass; record.AssessTime = DateTime.Now; @@ -1629,8 +1640,15 @@ END"; var order = await _ghrh_InterviewOrderServices.QuerySingle(x => x.ResumeId == id); var record = await _ghrh_InterviewRecordServices.QuerySingle(x => x.Round == order.Round && x.OrderId == order.Id); - record.ReceiverIds = JsonHelper.ObjToJson(InterviewStaffs); - await _ghrh_InterviewRecordServices.Update(record, ["ReceiverIds"]); + + var insertRecord = Mapper.Map(record).ToANew(); + + await _ghrh_InterviewRecordServices.Delete(x => x.Round == order.Round && x.OrderId == order.Id); + for (int i = 0; i < InterviewStaffs.Count; i++) + { + insertRecord.StaffId = InterviewStaffs[i].StaffId; + await _ghrh_InterviewRecordServices.Add(insertRecord); + } var usser = await GetUser(); await _ghrh_InterviewLogServices.Add(new InsertGhrh_InterviewLogInput() @@ -1656,9 +1674,9 @@ END"; order.Status = DIC_INTERVIEW_ORDER_STATUS.HasSendOffer; await _ghrh_InterviewOrderServices.Update(order, ["Status"]); - var record = await _ghrh_InterviewRecordServices.QuerySingle(x => x.Round == order.Round && x.OrderId == order.Id); - record.Status = DIC_INTERVIEW_ORDER_STATUS.HasSendOffer; - await _ghrh_InterviewRecordServices.Update(record, ["Status"]); + var records = await _ghrh_InterviewRecordServices.Query(x => x.Round == order.Round && x.OrderId == order.Id); + records.ForEach(record => record.Status = DIC_INTERVIEW_ORDER_STATUS.HasSendOffer); + await _ghrh_InterviewRecordServices.Update(records, ["Status"]); var usser = await GetUser(); await _ghrh_InterviewLogServices.Add(new InsertGhrh_InterviewLogInput() @@ -1716,18 +1734,17 @@ END"; var order = await _ghrh_InterviewOrderServices.QuerySingle(x => x.ResumeId == id); if (order != null) { - var record = await _ghrh_InterviewRecordServices.QuerySingle(x => x.Round == order.Round && x.OrderId == order.Id); + var records = await _ghrh_InterviewRecordServices.Query(x => x.Round == order.Round && x.OrderId == order.Id); if (isOffer) { entity.Status = DIC_INTERVIEW_ORDER_STATUS.HasOffer; order.Status = DIC_INTERVIEW_ORDER_STATUS.HasOffer; - record.Status = DIC_INTERVIEW_ORDER_STATUS.HasOffer; - + records.ForEach(record => record.Status = DIC_INTERVIEW_ORDER_STATUS.HasOffer); } await Update(entity, ["Status"]); await _ghrh_InterviewOrderServices.Update(order, ["Status"]); - await _ghrh_InterviewRecordServices.Update(record, ["Status"]); + await _ghrh_InterviewRecordServices.Update(records, ["Status"]); var usser = await GetUser(); await _ghrh_InterviewLogServices.Add(new InsertGhrh_InterviewLogInput()