public override string Edit() { var taskUrl = string.Format("/Renewal/Main#/GBMemo?projectId={0}", ProjectId); using (var scope = new TransactionScope()) { var rbdInfo = RenewalInfo.Search(e => e.ProjectId.Equals(ProjectId)).FirstOrDefault(); if (rbdInfo == null) { throw new Exception("Could not find the Renewal Info, please check it!"); } var task = rbdInfo.GenerateTaskWork(WorkflowCode, "Renewal GBMemo", "Renewal GBMemo", taskUrl); task.ActivityName = NodeCode.Start; task.ActionName = SetTaskActionName(ProjectId); TaskWork.Add(task); CompleteNotifyTask(ProjectId); AttachmentsMemoProcessInfo.UpdateNotifyDate(ProjectId, FlowCode.GBMemo, false); IsHistory = true; Update(this); Mapper.CreateMap <RenewalGBMemo, RenewalGBMemo>(); var entity = Mapper.Map <RenewalGBMemo>(this); entity.Id = Guid.Empty; entity.ProcInstID = null; entity.IsHistory = false; entity.Comments = null; entity.Save("Edit"); CopyAppUsers(Id.ToString(), entity.Id.ToString()); scope.Complete(); } return(taskUrl); }
public override void Finish(TaskWorkStatus status, TaskWork task) { using (var scope = new TransactionScope()) { switch (status) { case TaskWorkStatus.K2ProcessApproved: RenewalInfo renInfo = RenewalInfo.Search(e => e.ProjectId.Equals(ProjectId)).FirstOrDefault(); var pmTaskUrl = string.Format(@"/Renewal/Main#/GBMemo/Process/Notify?projectId={0}", ProjectId); var pmTask = renInfo.GenerateTaskWork(WorkflowCode, "Renewal GBMemo", "Renewal GBMemo", pmTaskUrl); pmTask.ActivityName = "Notify"; pmTask.ActionName = "Notify"; TaskWork.Add(pmTask); break; } scope.Complete(); } }