Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
        public IHttpActionResult AuditTask([FromBody] TaskRecordFilter Input)
        {
            var response = service.AuditTask(Input);

            return(Ok(response));
        }
Esempio n. 4
0
        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);
        }