protected override void UpdateProjectTaskUser(TaskWork taskWork, ProjectTeamMembers projectTeamMembers) { switch (taskWork.TypeCode) { case FlowCode.Rebuild_Package: case FlowCode.Rebuild_LegalReview: if (projectTeamMembers.AssetActor != null) { taskWork.ReceiverAccount = projectTeamMembers.AssetActor.UserAccount; taskWork.ReceiverNameENUS = projectTeamMembers.AssetActor.UserNameENUS; taskWork.ReceiverNameZHCN = projectTeamMembers.AssetActor.UserNameZHCN; } break; case FlowCode.Rebuild_FinanceAnalysis: taskWork.ReceiverAccount = projectTeamMembers.Finance.UserAccount; taskWork.ReceiverNameENUS = projectTeamMembers.Finance.UserNameENUS; taskWork.ReceiverNameZHCN = projectTeamMembers.Finance.UserNameZHCN; break; case FlowCode.Rebuild_ConsInvtChecking: case FlowCode.Rebuild_ConsInfo: taskWork.ReceiverAccount = projectTeamMembers.PM.UserAccount; taskWork.ReceiverNameENUS = projectTeamMembers.PM.UserNameENUS; taskWork.ReceiverNameZHCN = projectTeamMembers.PM.UserNameZHCN; break; } }
protected override void UpdateProjectCreateUser(ProjectTeamMembers projectTeamMembers) { var projectInfo = ProjectInfo.Search(i => i.ProjectId == this.ProjectId && i.FlowCode.Contains(FlowCode.Closure)); foreach (var projectInfoItem in projectInfo) { switch (projectInfoItem.FlowCode) { case FlowCode.Closure: case FlowCode.Closure_LegalReview: case FlowCode.Closure_ExecutiveSummary: case FlowCode.Closure_ClosurePackage: case FlowCode.Closure_Memo: case FlowCode.Closure_ContractInfo: projectInfoItem.CreateUserAccount = projectTeamMembers.AssetActor.UserAccount; break; case FlowCode.Closure_WOCheckList: case FlowCode.Closure_ConsInvtChecking: projectInfoItem.CreateUserAccount = projectTeamMembers.PM.UserAccount; break; case FlowCode.Closure_ClosureTool: projectInfoItem.CreateUserAccount = projectTeamMembers.Finance.UserAccount; break; } } ProjectInfo.Update(projectInfo.ToArray()); }
protected override void ChangeProjectApprover(List <TaskWork> taskWorks, ProjectTeamMembers projectTeamMembers) { foreach (var taskWork in taskWorks) { List <ProcessDataField> dataFields = null; switch (taskWork.TypeCode) { case FlowCode.TempClosure_LegalReview: dataFields = new List <ProcessDataField> { new ProcessDataField("dest_Legal", projectTeamMembers.Legal.UserAccount) }; if (projectTeamMembers.Legal.UserAccount != LegalAccount && taskWork.ReceiverAccount == LegalAccount) { RedirectWorkflowTask(taskWork.K2SN, taskWork.ReceiverAccount, projectTeamMembers.Legal.UserAccount, dataFields); taskWork.ReceiverAccount = projectTeamMembers.Legal.UserAccount; taskWork.ReceiverNameENUS = projectTeamMembers.Legal.UserNameENUS; taskWork.ReceiverNameZHCN = projectTeamMembers.Legal.UserNameZHCN; } else { if (taskWork.ProcInstID.HasValue) { UpdateWorkflowDataField(taskWork.ProcInstID.Value, dataFields); } } break; } } LegalAccount = projectTeamMembers.Legal.UserAccount; LegalNameENUS = projectTeamMembers.Legal.UserNameENUS; LegalNameZHCN = projectTeamMembers.Legal.UserNameZHCN; if (projectTeamMembers.AssetActor != null) { AssetActorAccount = projectTeamMembers.AssetActor.UserAccount; AssetActorNameENUS = projectTeamMembers.AssetActor.UserNameENUS; AssetActorNameZHCN = projectTeamMembers.AssetActor.UserNameZHCN; } AssetRepAccount = projectTeamMembers.AssetRep.UserAccount; AssetRepNameENUS = projectTeamMembers.AssetRep.UserNameENUS; AssetRepNameZHCN = projectTeamMembers.AssetRep.UserNameZHCN; FinanceAccount = projectTeamMembers.Finance.UserAccount; FinanceNameENUS = projectTeamMembers.Finance.UserNameENUS; FinanceNameZHCN = projectTeamMembers.Finance.UserNameZHCN; PMAccount = projectTeamMembers.PM.UserAccount; PMNameENUS = projectTeamMembers.PM.UserNameENUS; PMNameZHCN = projectTeamMembers.PM.UserNameZHCN; Update(this); }
protected override void UpdateProjectTaskUser(TaskWork taskWork, ProjectTeamMembers projectTeamMembers) { switch (taskWork.TypeCode) { case FlowCode.TempClosure_LegalReview: case FlowCode.TempClosure_ClosurePackage: case FlowCode.TempClosure_ClosureMemo: case FlowCode.TempClosure_ReopenMemo: taskWork.ReceiverAccount = projectTeamMembers.AssetActor.UserAccount; taskWork.ReceiverNameENUS = projectTeamMembers.AssetActor.UserNameENUS; taskWork.ReceiverNameZHCN = projectTeamMembers.AssetActor.UserNameZHCN; break; } }
protected override void UpdateProjectCreateUser(ProjectTeamMembers projectTeamMembers) { var projectInfo = ProjectInfo.Search(i => i.ProjectId == this.ProjectId && i.FlowCode.Contains(FlowCode.TempClosure)); foreach (var projectInfoItem in projectInfo) { switch (projectInfoItem.FlowCode) { case FlowCode.TempClosure: case FlowCode.TempClosure_LegalReview: case FlowCode.TempClosure_ClosurePackage: case FlowCode.TempClosure_ClosureMemo: case FlowCode.TempClosure_ReopenMemo: projectInfoItem.CreateUserAccount = projectTeamMembers.AssetActor.UserAccount; break; } } ProjectInfo.Update(projectInfo.ToArray()); }
protected override void UpdateProjectTaskUser(TaskWork taskWork, ProjectTeamMembers projectTeamMembers) { var projectInfo = ProjectInfo.FirstOrDefault(e => e.FlowCode == taskWork.TypeCode && e.ProjectId == taskWork.RefID); if (projectInfo != null) { switch (taskWork.TypeCode) { case FlowCode.MajorLease_Package: case FlowCode.MajorLease_LegalReview: if (projectTeamMembers.AssetActor != null) { taskWork.ReceiverAccount = projectTeamMembers.AssetActor.UserAccount; taskWork.ReceiverNameENUS = projectTeamMembers.AssetActor.UserNameENUS; taskWork.ReceiverNameZHCN = projectTeamMembers.AssetActor.UserNameZHCN; projectInfo.CreateUserAccount = projectTeamMembers.AssetActor.UserAccount; } break; case FlowCode.MajorLease_FinanceAnalysis: taskWork.ReceiverAccount = projectTeamMembers.Finance.UserAccount; taskWork.ReceiverNameENUS = projectTeamMembers.Finance.UserNameENUS; taskWork.ReceiverNameZHCN = projectTeamMembers.Finance.UserNameZHCN; projectInfo.CreateUserAccount = projectTeamMembers.Finance.UserAccount; break; case FlowCode.MajorLease_ConsInvtChecking: case FlowCode.MajorLease_ConsInfo: taskWork.ReceiverAccount = projectTeamMembers.PM.UserAccount; taskWork.ReceiverNameENUS = projectTeamMembers.PM.UserNameENUS; taskWork.ReceiverNameZHCN = projectTeamMembers.PM.UserNameZHCN; projectInfo.CreateUserAccount = projectTeamMembers.PM.UserAccount; break; } ProjectInfo.Update(projectInfo); } }
protected override void UpdateProjectTaskUser(TaskWork taskWork, ProjectTeamMembers projectTeamMembers) { switch (taskWork.TypeCode) { case FlowCode.Reimage_Summary: case FlowCode.Reimage_Package: if (projectTeamMembers.AssetActor != null) { taskWork.ReceiverAccount = projectTeamMembers.AssetActor.UserAccount; taskWork.ReceiverNameENUS = projectTeamMembers.AssetActor.UserNameENUS; taskWork.ReceiverNameZHCN = projectTeamMembers.AssetActor.UserNameZHCN; } break; case FlowCode.Reimage_ConsInvtChecking: case FlowCode.Reimage_ConsInfo: taskWork.ReceiverAccount = projectTeamMembers.PM.UserAccount; taskWork.ReceiverNameENUS = projectTeamMembers.PM.UserNameENUS; taskWork.ReceiverNameZHCN = projectTeamMembers.PM.UserNameZHCN; break; } }
protected override void UpdateProjectTaskUser(TaskWork taskWork, ProjectTeamMembers projectTeamMembers) { switch (taskWork.TypeCode) { case FlowCode.Closure_LegalReview: taskWork.ReceiverAccount = projectTeamMembers.AssetActor.UserAccount; taskWork.ReceiverNameENUS = projectTeamMembers.AssetActor.UserNameENUS; taskWork.ReceiverNameZHCN = projectTeamMembers.AssetActor.UserNameZHCN; break; case FlowCode.Closure_WOCheckList: taskWork.ReceiverAccount = projectTeamMembers.PM.UserAccount; taskWork.ReceiverNameENUS = projectTeamMembers.PM.UserNameENUS; taskWork.ReceiverNameZHCN = projectTeamMembers.PM.UserNameZHCN; break; case FlowCode.Closure_ClosureTool: taskWork.ReceiverAccount = projectTeamMembers.Finance.UserAccount; taskWork.ReceiverNameENUS = projectTeamMembers.Finance.UserNameENUS; taskWork.ReceiverNameZHCN = projectTeamMembers.Finance.UserNameZHCN; break; } }
protected virtual void UpdateProjectTaskUser(TaskWork taskWork, ProjectTeamMembers projectTeamMembers) { throw new NotImplementedException(); }
protected virtual void UpdateProjectCreateUser(ProjectTeamMembers projectTeamMembers) { }
public void ChangeProjectTeamMembers(string projectId, ProjectTeamMembers projectTeamMembers) { using (var scope = new TransactionScope()) { #region update ProjectUsers var projectUsers = ProjectUsers.Search(e => e.ProjectId == projectId).AsNoTracking().ToList(); foreach (var projectUser in projectUsers) { switch (projectUser.RoleCode) { case ProjectUserRoleCode.AssetActor: if (projectTeamMembers.AssetActor != null) { projectUser.UserAccount = projectTeamMembers.AssetActor.UserAccount; projectUser.UserNameENUS = projectTeamMembers.AssetActor.UserNameENUS; projectUser.UserNameZHCN = projectTeamMembers.AssetActor.UserNameZHCN; } break; case ProjectUserRoleCode.Finance: case "Finance Team": projectUser.UserAccount = projectTeamMembers.Finance.UserAccount; projectUser.UserNameENUS = projectTeamMembers.Finance.UserNameENUS; projectUser.UserNameZHCN = projectTeamMembers.Finance.UserNameZHCN; break; case ProjectUserRoleCode.Legal: if (projectTeamMembers.Legal != null) { projectUser.UserAccount = projectTeamMembers.Legal.UserAccount; projectUser.UserNameENUS = projectTeamMembers.Legal.UserNameENUS; projectUser.UserNameZHCN = projectTeamMembers.Legal.UserNameZHCN; } break; case ProjectUserRoleCode.PM: projectUser.UserAccount = projectTeamMembers.PM.UserAccount; projectUser.UserNameENUS = projectTeamMembers.PM.UserNameENUS; projectUser.UserNameZHCN = projectTeamMembers.PM.UserNameZHCN; break; case ProjectUserRoleCode.AssetRep: projectUser.UserAccount = projectTeamMembers.AssetRep.UserAccount; projectUser.UserNameENUS = projectTeamMembers.AssetRep.UserNameENUS; projectUser.UserNameZHCN = projectTeamMembers.AssetRep.UserNameZHCN; break; case ProjectUserRoleCode.AssetManager: projectUser.UserAccount = projectTeamMembers.AssetMgr.UserAccount; projectUser.UserNameENUS = projectTeamMembers.AssetMgr.UserNameENUS; projectUser.UserNameZHCN = projectTeamMembers.AssetMgr.UserNameZHCN; break; case ProjectUserRoleCode.CM: projectUser.UserAccount = projectTeamMembers.CM.UserAccount; projectUser.UserNameENUS = projectTeamMembers.CM.UserNameENUS; projectUser.UserNameZHCN = projectTeamMembers.CM.UserNameZHCN; break; } } ProjectUsers.Update(projectUsers.ToArray()); #endregion #region update project tasks var projectTasks = TaskWork.Search(e => e.RefID == projectId && e.Status == TaskWorkStatus.UnFinish && e.ActivityName == "Start").AsNoTracking().ToList(); foreach (var projectTask in projectTasks) { UpdateProjectTaskUser(projectTask, projectTeamMembers); } UpdateProjectCreateUser(projectTeamMembers); TaskWork.Update(projectTasks.ToArray()); #endregion #region update workflow tasks var workflowTasks = TaskWork.Search(e => e.RefID == projectId && e.Status == TaskWorkStatus.UnFinish && e.K2SN != null).ToList(); ChangeProjectApprover(workflowTasks, projectTeamMembers); #endregion TaskWork.Update(workflowTasks.ToArray()); scope.Complete(); } }
protected virtual void ChangeProjectApprover(List <TaskWork> taskWorks, ProjectTeamMembers projectTeamMembers) { throw new NotImplementedException(); }
protected override void ChangeProjectApprover(List <TaskWork> taskWorks, ProjectTeamMembers projectTeamMembers) { foreach (var taskWork in taskWorks) { var work = taskWork; var approveDialogUser = ApproveDialogUser.FirstOrDefault( e => e.RefTableID == work.RefTableId.ToString() && e.FlowCode == work.TypeCode); List <ProcessDataField> dataFields = null; switch (taskWork.TypeCode) { case FlowCode.MajorLease_LegalReview: var legalReview = new MajorLeaseLegalReview(); legalReview.AppUsers = new ApproveUsers() { Legal = new SimpleEmployee() { Code = projectTeamMembers.Legal.UserAccount, NameENUS = projectTeamMembers.Legal.UserNameENUS, NameZHCN = projectTeamMembers.Legal.UserNameZHCN } }; dataFields = legalReview.SetWorkflowDataFields(null); if (projectTeamMembers.Legal.UserAccount != LegalAccount && taskWork.ReceiverAccount == LegalAccount) { RedirectWorkflowTask(taskWork.K2SN, taskWork.ReceiverAccount, projectTeamMembers.Legal.UserAccount, dataFields); taskWork.ReceiverAccount = projectTeamMembers.Legal.UserAccount; taskWork.ReceiverNameENUS = projectTeamMembers.Legal.UserNameENUS; taskWork.ReceiverNameZHCN = projectTeamMembers.Legal.UserNameZHCN; } else { if (taskWork.ProcInstID.HasValue) { UpdateWorkflowDataField(taskWork.ProcInstID.Value, dataFields); } } if (approveDialogUser != null) { approveDialogUser.LegalCode = projectTeamMembers.Legal.UserAccount; ApproveDialogUser.Update(approveDialogUser); } break; } } LegalAccount = projectTeamMembers.Legal.UserAccount; LegalNameENUS = projectTeamMembers.Legal.UserNameENUS; LegalNameZHCN = projectTeamMembers.Legal.UserNameZHCN; if (projectTeamMembers.AssetActor != null) { AssetActorAccount = projectTeamMembers.AssetActor.UserAccount; AssetActorNameENUS = projectTeamMembers.AssetActor.UserNameENUS; AssetActorNameZHCN = projectTeamMembers.AssetActor.UserNameZHCN; } AssetRepAccount = projectTeamMembers.AssetRep.UserAccount; AssetRepNameENUS = projectTeamMembers.AssetRep.UserNameENUS; AssetRepNameZHCN = projectTeamMembers.AssetRep.UserNameZHCN; FinanceAccount = projectTeamMembers.Finance.UserAccount; FinanceNameENUS = projectTeamMembers.Finance.UserNameENUS; FinanceNameZHCN = projectTeamMembers.Finance.UserNameZHCN; PMAccount = projectTeamMembers.PM.UserAccount; PMNameENUS = projectTeamMembers.PM.UserNameENUS; PMNameZHCN = projectTeamMembers.PM.UserNameZHCN; Update(this); }
protected override void ChangeProjectApprover(List <TaskWork> taskWorks, ProjectTeamMembers projectTeamMembers) { //foreach (var taskWork in taskWorks) //{ List <ProcessDataField> dataFields = null; //switch (taskWork.TypeCode) //{ // case FlowCode.MajorLease_LegalReview: // var legalReview = new MajorLeaseLegalReview(); // legalReview.AppUsers = new ApproveUsers() // { // Legal = new SimpleEmployee() // { // Code = projectTeamMembers.Legal.UserAccount, // NameENUS = projectTeamMembers.Legal.UserNameENUS, // NameZHCN = projectTeamMembers.Legal.UserNameZHCN // } // }; // dataFields = legalReview.SetWorkflowDataFields(null); // if (projectTeamMembers.Legal.UserAccount != LegalAccount // && taskWork.ReceiverAccount == LegalAccount) // { // RedirectWorkflowTask(taskWork.K2SN, taskWork.ReceiverAccount, projectTeamMembers.Legal.UserAccount, // dataFields); // taskWork.ReceiverAccount = projectTeamMembers.Legal.UserAccount; // taskWork.ReceiverNameENUS = projectTeamMembers.Legal.UserNameENUS; // taskWork.ReceiverNameZHCN = projectTeamMembers.Legal.UserNameZHCN; // } // else // { // if (taskWork.ProcInstID.HasValue) // { // UpdateWorkflowDataField(taskWork.ProcInstID.Value, dataFields); // } // } // break; // } //} //LegalAccount = projectTeamMembers.Legal.UserAccount; //LegalNameENUS = projectTeamMembers.Legal.UserNameENUS; //LegalNameZHCN = projectTeamMembers.Legal.UserNameZHCN; if (projectTeamMembers.AssetActor != null) { AssetActorAccount = projectTeamMembers.AssetActor.UserAccount; AssetActorNameENUS = projectTeamMembers.AssetActor.UserNameENUS; AssetActorNameZHCN = projectTeamMembers.AssetActor.UserNameZHCN; } AssetRepAccount = projectTeamMembers.AssetRep.UserAccount; AssetRepNameENUS = projectTeamMembers.AssetRep.UserNameENUS; AssetRepNameZHCN = projectTeamMembers.AssetRep.UserNameZHCN; FinanceAccount = projectTeamMembers.Finance.UserAccount; FinanceNameENUS = projectTeamMembers.Finance.UserNameENUS; FinanceNameZHCN = projectTeamMembers.Finance.UserNameZHCN; PMAccount = projectTeamMembers.PM.UserAccount; PMNameENUS = projectTeamMembers.PM.UserNameENUS; PMNameZHCN = projectTeamMembers.PM.UserNameZHCN; Update(this); //} }
private void GetTeamMembers(ProjectTeamMembers pt) { pt.TeamMember = JsonConvert.DeserializeObject <TeamMembersModel>(pt.TeamMemberJson); pt.TeamMemberJson = ""; }
protected override void ChangeProjectApprover(List <TaskWork> taskWorks, ProjectTeamMembers projectTeamMembers) { foreach (var taskWork in taskWorks) { List <ProcessDataField> dataFields = null; switch (taskWork.TypeCode) { case FlowCode.Rebuild_LegalReview: var legalReview = new RebuildLegalReview(); legalReview.AppUsers = new ApproveUsers() { Legal = new SimpleEmployee() { Code = projectTeamMembers.Legal.UserAccount, NameENUS = projectTeamMembers.Legal.UserNameENUS, NameZHCN = projectTeamMembers.Legal.UserNameZHCN } }; dataFields = legalReview.SetWorkflowDataFields(null); if (projectTeamMembers.Legal.UserAccount != LegalAccount && taskWork.ReceiverAccount == LegalAccount) { RedirectWorkflowTask(taskWork.K2SN, taskWork.ReceiverAccount, projectTeamMembers.Legal.UserAccount, dataFields); taskWork.ReceiverAccount = projectTeamMembers.Legal.UserAccount; taskWork.ReceiverNameENUS = projectTeamMembers.Legal.UserNameENUS; taskWork.ReceiverNameZHCN = projectTeamMembers.Legal.UserNameZHCN; } else { if (taskWork.ProcInstID.HasValue) { UpdateWorkflowDataField(taskWork.ProcInstID.Value, dataFields); } } break; } } LegalAccount = projectTeamMembers.Legal.UserAccount; LegalNameENUS = projectTeamMembers.Legal.UserNameENUS; LegalNameZHCN = projectTeamMembers.Legal.UserNameZHCN; if (projectTeamMembers.AssetActor != null) { AssetActorAccount = projectTeamMembers.AssetActor.UserAccount; AssetActorNameENUS = projectTeamMembers.AssetActor.UserNameENUS; AssetActorNameZHCN = projectTeamMembers.AssetActor.UserNameZHCN; } AssetRepAccount = projectTeamMembers.AssetRep.UserAccount; AssetRepNameENUS = projectTeamMembers.AssetRep.UserNameENUS; AssetRepNameZHCN = projectTeamMembers.AssetRep.UserNameZHCN; FinanceAccount = projectTeamMembers.Finance.UserAccount; FinanceNameENUS = projectTeamMembers.Finance.UserNameENUS; FinanceNameZHCN = projectTeamMembers.Finance.UserNameZHCN; PMAccount = projectTeamMembers.PM.UserAccount; PMNameENUS = projectTeamMembers.PM.UserNameENUS; PMNameZHCN = projectTeamMembers.PM.UserNameZHCN; Update(this); }