public BaseResponse AuditTask(TaskRecordFilter filter) { var result = new BaseResponse(); try { unitOfWork.BeginTransaction(); var TaskModel = base.Get <DC_Task, TaskModel>((q) => q.TaskID == filter.TaskID); var TaskRecordModel = base.Get <DC_TaskChangeRecord, TaskRecordModel>((q) => q.ID == filter.ID); if (TaskModel != null) { if (filter.IsAudit) { TaskModel.Data.AppointmentTime = filter.AppointmentTime; TaskModel.Data.IsChange = true; base.Save <DC_Task, TaskModel>(TaskModel.Data, (q) => q.TaskID == filter.TaskID); TaskRecordModel.Data.IsAudit = true; TaskRecordModel.Data.ModifiedBy = 0; TaskRecordModel.Data.ModifiedTime = DateTime.Now; base.Save <DC_TaskChangeRecord, TaskRecordModel>(TaskRecordModel.Data, (q) => q.ID == filter.ID); } } unitOfWork.Commit(); result.IsSuccess = true; } catch (Exception ex) { result.IsSuccess = false; result.ResultCode = 500; result.ResultMessage = ex.Message; } return(result); }
public IHttpActionResult ChangeTask(int TaskID, [FromBody] ChangeTaskInput Input) { TaskRecordFilter filter = new TaskRecordFilter() { TaskID = TaskID, AppointmentTime = Input.AppointmentTime, Result = Input.Result }; var response = service.ChangeTask(filter); return(Ok(response)); }
public IHttpActionResult AuditTask([FromBody] TaskRecordFilter Input) { var response = service.AuditTask(Input); return(Ok(response)); }
public BaseResponse <TaskRecordModel> ChangeTask(TaskRecordFilter filter) { var result = new BaseResponse <TaskRecordModel>(); try { bool isAudit = false; unitOfWork.BeginTransaction(); var TaskModel = base.Get <DC_Task, TaskModel>((q) => q.TaskID == filter.TaskID); if (TaskModel != null) { //pc端管理员改签,直接审核通过 //app端如果改签时间超过了一天,则需要审核 TimeSpan?ts = filter.AppointmentTime - TaskModel.Data.AppointmentTime; if (filter.IsAudit || (ts.HasValue && System.Math.Abs(ts.Value.TotalSeconds) <= 24 * 60 * 60)) { isAudit = true; TaskModel.Data.AppointmentTime = filter.AppointmentTime; TaskModel.Data.IsChange = true; base.Save <DC_Task, TaskModel>(TaskModel.Data, (q) => q.TaskID == filter.TaskID); var taskDispatchRecord = unitOfWork.GetRepository <DC_DispathTaskRecord>().dbSet.Where(a => a.OrderID == TaskModel.Data.ServiceOrderID).FirstOrDefault(); if (taskDispatchRecord == null) { taskDispatchRecord = new DC_DispathTaskRecord(); taskDispatchRecord.EmployeeID = TaskModel.Data.EmployeeId; taskDispatchRecord.WorkTime = TaskModel.Data.AppointmentTime; taskDispatchRecord.ClientName = TaskModel.Data.PersonName; taskDispatchRecord.OrderID = TaskModel.Data.ServiceOrderID; unitOfWork.GetRepository <DC_DispathTaskRecord>().Insert(taskDispatchRecord); } else { taskDispatchRecord.EmployeeID = TaskModel.Data.EmployeeId; taskDispatchRecord.WorkTime = TaskModel.Data.AppointmentTime; taskDispatchRecord.ClientName = TaskModel.Data.PersonName; unitOfWork.GetRepository <DC_DispathTaskRecord>().Update(taskDispatchRecord); } } TaskRecordModel TaskRecordModel = new TaskRecordModel(); TaskRecordModel.ServiceTime = filter.AppointmentTime; TaskRecordModel.ChangeTime = DateTime.Now; TaskRecordModel.CreatedBy = 0; TaskRecordModel.CreatedTime = DateTime.Now; TaskRecordModel.IsAudit = isAudit; TaskRecordModel.IsDeleted = false; TaskRecordModel.ModifiedBy = 0; TaskRecordModel.ModifiedTime = DateTime.Now; TaskRecordModel.TaskID = filter.TaskID; TaskRecordModel.Reason = filter.Result; base.Save <DC_TaskChangeRecord, TaskRecordModel>(TaskRecordModel, (q) => false); result.Data = TaskRecordModel; } unitOfWork.Commit(); result.IsSuccess = true; } catch (Exception ex) { result.IsSuccess = false; result.ResultCode = 500; result.ResultMessage = ex.Message; } return(result); }