using IWareCC.CacheInfo.Container; using IWareCC.ORM; using IWareCC.Properties; using IWareCommon.Enum.Common; using IWareCommon.Help; using IWareCommon.Util; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace IWareCC.HandleTask.Handle.HandleTask { public class 保存处理信息 : IHandler { private IHandler nextHandler = null; /// /// 该节点的下一个节点 /// public IHandler NextHandler { set { nextHandler = value; } } /// /// 处理任务容器 /// private PartTaskContainer HandleTaskContainer; /// /// 下一任务容器 /// private PartTaskContainer NextTaskContainer; /// /// 保存处理任务 /// public 保存处理信息(PartTaskContainer handleTaskContainer, PartTaskContainer nextTaskContainer) { this.HandleTaskContainer = handleTaskContainer; this.NextTaskContainer = nextTaskContainer; } /// /// 数据库里更新处理任务,保存下一任务 /// public void Handle() { using (var dbModel = new DbModel()) { try { var maintask = dbModel.MainTasks.OrderByDescending(x => x.id).FirstOrDefault(x => x.id == HandleTaskContainer.DecompositionTask.maintaskid); var hTask = dbModel.PartTasks.FirstOrDefault(x => x.id == HandleTaskContainer.DecompositionTask.id); hTask.ishandled = (int)EYesOrNo.是; hTask.updatetime = DateTime.Now; var nTask = NextTaskContainer.DecompositionTask; if (nTask != null) { nTask.targetplace = maintask.toplace; nTask.heighttype = (int)maintask.heighttype; dbModel.PartTasks.Add(nTask); } dbModel.SaveChanges(); LogTextHelper.WriteLine(Resources.LogDir + @"/处理任务流程", "保存处理信息"); if (nextHandler != null) { nextHandler.Handle(); } } catch (Exception ex) { LogTextHelper.WriteLine(Resources.LogDir + @"/处理任务流程", "保存处理信息:{0}", ex.Message); LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "Handle", ex.Message); } } } } }