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.DecomposeTask.Handle.DecomposeTask { public class 保存分解任务: IHandler { /// /// 主任务容器 /// private MainTaskContainer MainTaskContainer; /// /// 分解任务容器 /// private PartTaskContainer PartTaskContainer; private IHandler nextHandler = null; /// /// 该节点的下一个节点 /// public IHandler NextHandler { set { nextHandler = value; } } /// /// 根据主任务起止点及托盘类型生成第一段分解任务 /// public 保存分解任务(MainTaskContainer mainTaskContainer, PartTaskContainer partTaskContainer) { this.MainTaskContainer = mainTaskContainer; this.PartTaskContainer = partTaskContainer; } /// /// 根据主任务类型、起止点生成第一段分解任务 /// public void Handle() { using (var dbModel = new DbModel()) { try { var lTask = dbModel.MainTasks.OrderByDescending(x => x.id).FirstOrDefault(x => x.id == MainTaskContainer.DecompositionMainTask.id); lTask.status = (int)EMainTaskStatus.已分解; lTask.decompositiontime = DateTime.Now; dbModel.PartTasks.Add(PartTaskContainer.DecompositionTask); var count = dbModel.SaveChanges(); LogTextHelper.WriteLine(Resources.LogDir + @"/分解任务流程", "保存相应的分解任务号:{0}", PartTaskContainer.DecompositionTask.id); if (nextHandler != null) { nextHandler.Handle(); } } catch (Exception ex) { LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "Handle", ex.Message); } } } } }