Esempio n. 1
0
        public void Delete(TaskRecordModel record)
        {
            using (SQLiteCommand command = new SQLiteCommand(Connection))
            {
                command.CommandText = @"
DELETE FROM T_TASK_RECORDS
WHERE id = @id
";
                command.Parameters.Add(new SQLiteParameter("@id", record.Id));
                command.ExecuteNonQuery();
            }
        }
Esempio n. 2
0
        public void Create(TaskRecordModel record)
        {
            using (SQLiteCommand command = new SQLiteCommand(Connection))
            {
                command.CommandText = @"
INSERT INTO T_TASK_RECORDS
    (task_id, start_time)
VALUES
    (@task_id, @start_time);
SELECT last_insert_rowid()
";
                command.Parameters.Add(new SQLiteParameter("@task_id", record.TaskId));
                command.Parameters.Add(new SQLiteParameter("@start_time", record.StartTime));
                record.Id = Convert.ToInt32(command.ExecuteScalar());
            }
        }
Esempio n. 3
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);
        }