using DBHelper; using System; using WCS.Entity; using WCS.Entity.Protocol; using TaskStatus = WCS.Entity.TaskStatus; namespace WCS.Service.Extensions { public static class WCS_TaskExtensions { /// /// 任务发生状态变更时,为任务新增状态变更记录 /// /// 对应任务 /// db链接, 没有从新构造一个db的原因是为了保证状态记录的增加与任务状态的变更是同步的 public static void CreateStatusLog(this WCS_TASK task, DB db) { try { System.Reflection.MethodBase mb = new System.Diagnostics.StackTrace(true).GetFrame(1).GetMethod(); var node = $"{mb.DeclaringType.FullName}.{mb.Name}"; var oldStatus = task.STATUS; if (task.STATUS > TaskStatus.新建) oldStatus = db.Default.Entry(task).OriginalValues.GetValue("STATUS"); WCS_StatusLog statusLog = new WCS_StatusLog() { WCS_TASKID = task.ID, OldStatus = oldStatus, NewStatus = task.STATUS, UPDATETIME = task.UPDATETIME, upStatus = task.UPLOADED, Node = node, UPDATEUSER = "WCS" }; db.Default.Add(statusLog); db.Default.SaveChanges(); } catch (Exception e) { Console.WriteLine(e.Message); } } public static void CreateStatusLog(this WCS_TASK task, DB db,string msg) { try { System.Reflection.MethodBase mb = new System.Diagnostics.StackTrace(true).GetFrame(1).GetMethod(); var node = $"{mb.DeclaringType.FullName}.{mb.Name}"; var oldStatus = task.STATUS; if (task.STATUS > TaskStatus.新建) oldStatus = db.Default.Entry(task).OriginalValues.GetValue("STATUS"); WCS_StatusLog statusLog = new WCS_StatusLog() { WCS_TASKID = task.ID, OldStatus = oldStatus, NewStatus = task.STATUS, UPDATETIME = DateTime.Now, upStatus = task.UPLOADED, Node = node, UPDATEUSER = msg }; db.Default.Add(statusLog); db.Default.SaveChanges(); } catch (Exception e) { Console.WriteLine(e.Message); } } } }