Ejemplo n.º 1
0
        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;
            }
        }
Ejemplo n.º 2
0
        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());
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
 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;
     }
 }
Ejemplo n.º 5
0
        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());
        }
Ejemplo n.º 6
0
        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);
            }
        }
Ejemplo n.º 7
0
        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;
            }
        }
Ejemplo n.º 8
0
        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;
            }
        }
Ejemplo n.º 9
0
 protected virtual void UpdateProjectTaskUser(TaskWork taskWork, ProjectTeamMembers projectTeamMembers)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 10
0
 protected virtual void UpdateProjectCreateUser(ProjectTeamMembers projectTeamMembers)
 {
 }
Ejemplo n.º 11
0
        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();
            }
        }
Ejemplo n.º 12
0
 protected virtual void ChangeProjectApprover(List <TaskWork> taskWorks, ProjectTeamMembers projectTeamMembers)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 13
0
        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);
        }
Ejemplo n.º 14
0
        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);

            //}
        }
Ejemplo n.º 15
0
 private void GetTeamMembers(ProjectTeamMembers pt)
 {
     pt.TeamMember     = JsonConvert.DeserializeObject <TeamMembersModel>(pt.TeamMemberJson);
     pt.TeamMemberJson = "";
 }
Ejemplo n.º 16
0
        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);
        }