Exemplo n.º 1
0
        public static void PopulateAppUsers(GBMemo entity)
        {
            var approvedUsers = ApproveDialogUser.GetApproveDialogUser(entity.Id.ToString());

            entity.AppUsers = new ApproveUsers();
            if (approvedUsers != null)
            {
                var simp = new SimpleEmployee
                {
                    Code = approvedUsers.ConstructionManagerCode
                };
                entity.AppUsers.ConstructionManager = simp;
            }
            else
            {
                var rbdInfo = RebuildInfo.FirstOrDefault(e => e.ProjectId == entity.ProjectId);
                if (rbdInfo != null)
                {
                    var simp = new SimpleEmployee
                    {
                        Code = rbdInfo.CMAccount
                    };
                    entity.AppUsers.ConstructionManager = simp;
                }
            }
        }
Exemplo n.º 2
0
        public static void PopulateAppUsers(RenewalGBMemo entity)
        {
            var approvedUsers = ApproveDialogUser.GetApproveDialogUser(entity.Id.ToString());

            entity.AppUsers = new ApproveUsers();
            if (approvedUsers != null)
            {
                var simp = new SimpleEmployee
                {
                    Code = approvedUsers.ConstructionManagerCode
                };
                entity.AppUsers.ConstructionManager = simp;
            }
            else
            {
                if (entity.Info != null)
                {
                    var simp = new SimpleEmployee
                    {
                        Code = entity.Info.CMAccount
                    };
                    entity.AppUsers.ConstructionManager = simp;
                }
            }
        }
Exemplo n.º 3
0
        private void PopulateChildren(SimpleEmployee parent, List <SimpleEmployee> children)
        {
            List <SimpleEmployee> myChildren = parent.ChildEmployees.ToList();

            if (myChildren.Any())
            {
                children.AddRange(myChildren);
                foreach (SimpleEmployee child in myChildren)
                {
                    PopulateChildren(child, children);
                }
            }
        }
Exemplo n.º 4
0
        public static void PopulateAppUsers(RebuildLegalReview entity)
        {
            var approvedUsers = ApproveDialogUser.GetApproveDialogUser(entity.Id.ToString());

            entity.AppUsers = new ApproveUsers();
            if (approvedUsers != null)
            {
                var simp = new SimpleEmployee
                {
                    Code = approvedUsers.LegalCode
                };
                entity.AppUsers.Legal = simp;
            }
        }
Exemplo n.º 5
0
        private void PopulateAppUsers(MajorLeaseFinancAnalysis entity)
        {
            var approvedUsers = ApproveDialogUser.GetApproveDialogUser(entity.Id.ToString());

            entity.AppUsers = new ApproveUsers();
            if (approvedUsers != null)
            {
                var simp = new SimpleEmployee
                {
                    Code = approvedUsers.FMCode
                };
                entity.AppUsers.FM = simp;
            }
        }
Exemplo n.º 6
0
        public static void PopulateAppUsers(RebuildFinancAnalysis entity)
        {
            var approvedUsers = ApproveDialogUser.GetApproveDialogUser(entity.Id.ToString());

            entity.AppUsers = new ApproveUsers();
            if (approvedUsers != null)
            {
                var simp = new SimpleEmployee
                {
                    Code = approvedUsers.FMCode
                };
                entity.AppUsers.FM = simp;
            }
        }
Exemplo n.º 7
0
        public GetGeneralResponse <IEnumerable <SimpleEmployeeView> > GetAllChildren(Guid managerID)
        {
            GetGeneralResponse <IEnumerable <SimpleEmployeeView> > response = new GetGeneralResponse <IEnumerable <SimpleEmployeeView> >();
            SimpleEmployee        parent   = _simpleEmployeeRepository.FindBy(managerID);
            List <SimpleEmployee> children = new List <SimpleEmployee>();

            PopulateChildren(parent, children);

            SimpleEmployee manager = new SimpleEmployee();

            manager = _simpleEmployeeRepository.FindBy(managerID);
            children.Add(manager);
            response.data = children.ConvertToSimpleEmployeeViews();

            return(response);
        }
Exemplo n.º 8
0
        private void PopulateAppUsers(ReimageConsInvtChecking entity)
        {
            var approvedUsers = ApproveDialogUser.GetApproveDialogUser(entity.Id.ToString());

            entity.AppUsers = new ApproveUsers();
            if (approvedUsers != null)
            {
                var simp = new SimpleEmployee
                {
                    Code = approvedUsers.ConstructionManagerCode
                };
                entity.AppUsers.ConstructionManager = simp;

                entity.AppUsers = new ApproveUsers();
                simp            = new SimpleEmployee
                {
                    Code = approvedUsers.FMCode
                };
                entity.AppUsers.FM = simp;

                entity.AppUsers = new ApproveUsers();
                simp            = new SimpleEmployee
                {
                    Code = approvedUsers.FinanceControllerCode
                };
                entity.AppUsers.FinanceController = simp;

                entity.AppUsers = new ApproveUsers();
                simp            = new SimpleEmployee
                {
                    Code = approvedUsers.VPGMCode
                };
                entity.AppUsers.VPGM = simp;
            }
            else
            {
                var reimageInfo = ReimageInfo.FirstOrDefault(e => e.ProjectId == ProjectId);
                if (reimageInfo != null)
                {
                    entity.AppUsers.ConstructionManager = new SimpleEmployee
                    {
                        Code = reimageInfo.CMAccount
                    };
                }
            }
        }
Exemplo n.º 9
0
        private void PopulateAppUsers()
        {
            var approvedUsers = ApproveDialogUser.GetApproveDialogUser(this.Id.ToString());

            this.AppUsers = new ApproveUsers();
            if (approvedUsers != null)
            {
                var simp = new SimpleEmployee
                {
                    Code = approvedUsers.ConstructionManagerCode
                };
                this.AppUsers.ConstructionManager = simp;

                simp = new SimpleEmployee
                {
                    Code = approvedUsers.MCCLConsManagerCode
                };
                this.AppUsers.MCCLConsManager = simp;

                //simp = new SimpleEmployee
                //{
                //    Code = approvedUsers.MCCLAssetMgrCode
                //};
                //entity.AppUsers.MCCLAssetMgr = simp;

                //simp = new SimpleEmployee
                //{
                //    Code = approvedUsers.MCCLAssetDtrCode
                //};
                //entity.AppUsers.MCCLAssetDtr = simp;
            }
            else
            {
                var reimageInfo = ReimageInfo.FirstOrDefault(e => e.ProjectId == ProjectId);
                if (reimageInfo != null)
                {
                    this.AppUsers.ConstructionManager = new SimpleEmployee
                    {
                        Code = reimageInfo.CMAccount
                    };
                }
            }
        }
Exemplo n.º 10
0
        private void PopulateAppUsers(MajorLeaseConsInfo entity)
        {
            var approvedUsers = ApproveDialogUser.GetApproveDialogUser(entity.Id.ToString());

            entity.AppUsers = new ApproveUsers();
            if (approvedUsers != null)
            {
                var simp = new SimpleEmployee
                {
                    Code = approvedUsers.ConstructionManagerCode
                };
                entity.AppUsers.ConstructionManager = simp;

                simp = new SimpleEmployee
                {
                    Code = approvedUsers.MCCLConsManagerCode
                };
                entity.AppUsers.MCCLConsManager = simp;

                //simp = new SimpleEmployee
                //{
                //    Code = approvedUsers.MCCLAssetMgrCode
                //};
                //entity.AppUsers.MCCLAssetMgr = simp;

                //simp = new SimpleEmployee
                //{
                //    Code = approvedUsers.MCCLAssetDtrCode
                //};
                //entity.AppUsers.MCCLAssetDtr = simp;
            }
            else
            {
                var majorLeaesInfo = MajorLeaseInfo.FirstOrDefault(e => e.ProjectId == ProjectId);
                if (majorLeaesInfo != null)
                {
                    entity.AppUsers.ConstructionManager = new SimpleEmployee()
                    {
                        Code = majorLeaesInfo.CMAccount
                    };
                }
            }
        }
Exemplo n.º 11
0
        protected override void ChangeWorkflowApprovers(List <TaskWork> taskWorks, List <ApproveDialogUser> prevApprovers, ApproveUsers currApprover)
        {
            foreach (var taskWork in taskWorks)
            {
                List <ProcessDataField> dataFields = null;
                switch (taskWork.TypeCode)
                {
                case FlowCode.Renewal_Package:
                    var package = RenewalPackage.Get(taskWork.RefID);
                    package.AppUsers = currApprover;
                    dataFields       = package.SetWorkflowDataFields(null);
                    var packageApprovers =
                        prevApprovers.FirstOrDefault(e => e.FlowCode == FlowCode.Renewal_Package);
                    if (packageApprovers != null)
                    {
                        SimpleEmployee receiver = null;
                        if (taskWork.ReceiverAccount == packageApprovers.MarketMgrCode &&
                            packageApprovers.MarketMgrCode != currApprover.MarketMgr.Code)
                        {
                            receiver = currApprover.MarketMgr;
                        }
                        if (taskWork.ReceiverAccount == packageApprovers.RegionalMgrCode &&
                            packageApprovers.RegionalMgrCode != currApprover.RegionalMgr.Code)
                        {
                            receiver = currApprover.RegionalMgr;
                        }
                        if (taskWork.ReceiverAccount == packageApprovers.MDDCode &&
                            packageApprovers.MDDCode != currApprover.MDD.Code)
                        {
                            receiver = currApprover.MDD;
                        }
                        if (taskWork.ReceiverAccount == packageApprovers.GMCode &&
                            packageApprovers.GMCode != currApprover.GM.Code)
                        {
                            receiver = currApprover.GM;
                        }
                        if (taskWork.ReceiverAccount == packageApprovers.FCCode &&
                            packageApprovers.FCCode != currApprover.FC.Code)
                        {
                            receiver = currApprover.FC;
                        }
                        if (taskWork.ReceiverAccount == packageApprovers.VPGMCode &&
                            packageApprovers.VPGMCode != currApprover.VPGM.Code)
                        {
                            receiver = currApprover.VPGM;
                        }
                        if (taskWork.ReceiverAccount == packageApprovers.MCCLAssetDtrCode &&
                            packageApprovers.MCCLAssetDtrCode != currApprover.MCCLAssetDtr.Code)
                        {
                            receiver = currApprover.MCCLAssetDtr;
                        }

                        if (taskWork.ReceiverAccount == packageApprovers.CDOCode &&
                            packageApprovers.CDOCode != currApprover.CDO.Code)
                        {
                            receiver = currApprover.CDO;
                        }
                        if (taskWork.ReceiverAccount == packageApprovers.MngDirectorCode &&
                            packageApprovers.MngDirectorCode != currApprover.ManagingDirector.Code)
                        {
                            receiver = currApprover.ManagingDirector;
                        }
                        if (taskWork.ReceiverAccount == packageApprovers.CFOCode &&
                            packageApprovers.CFOCode != currApprover.CFO.Code)
                        {
                            receiver = currApprover.CFO;
                        }
                        else
                        {
                            if (taskWork.ProcInstID.HasValue)
                            {
                                UpdateWorkflowDataField(taskWork.ProcInstID.Value, dataFields);
                            }
                        }

                        if (receiver != null)
                        {
                            try
                            {
                                RedirectWorkflowTask(taskWork.K2SN, taskWork.ReceiverAccount, receiver.Code, dataFields);
                            }
                            catch (Exception ex)
                            {
                                Log4netHelper.WriteError(string.Format("【Redirect Workflow Task Error】:{0}",
                                                                       JsonConvert.SerializeObject(taskWork)));
                            }
                            taskWork.ReceiverAccount  = receiver.Code;
                            taskWork.ReceiverNameENUS = receiver.NameENUS;
                            taskWork.ReceiverNameZHCN = receiver.NameZHCN;
                        }
                        packageApprovers.MarketMgrCode = currApprover.MarketMgr.Code;
                        if (currApprover.RegionalMgr != null)
                        {
                            packageApprovers.RegionalMgrCode = currApprover.RegionalMgr.Code;
                        }
                        packageApprovers.GMCode           = currApprover.GM.Code;
                        packageApprovers.FCCode           = currApprover.FC.Code;
                        packageApprovers.MDDCode          = currApprover.MDD.Code;
                        packageApprovers.VPGMCode         = currApprover.VPGM.Code;
                        packageApprovers.MCCLAssetDtrCode = currApprover.MCCLAssetDtr.Code;
                        if (currApprover.CDO != null)
                        {
                            packageApprovers.CDOCode = currApprover.CDO.Code;
                        }
                        packageApprovers.MngDirectorCode = currApprover.ManagingDirector.Code;
                        packageApprovers.Update();
                    }
                    break;
                }
            }
        }
Exemplo n.º 12
0
 public static SimpleEmployeeView ConvertToSimpleEmployeeView(this SimpleEmployee employee)
 {
     return(Mapper.Map <SimpleEmployee, SimpleEmployeeView>(employee));
 }
Exemplo n.º 13
0
        protected override void ChangeWorkflowApprovers(List <TaskWork> taskWorks, List <ApproveDialogUser> prevApprovers, ApproveUsers currApprover)
        {
            foreach (var taskWork in taskWorks)
            {
                List <ProcessDataField> dataFields = null;
                switch (taskWork.TypeCode)
                {
                case FlowCode.MajorLease_Package:
                    var package = new MajorLeaseChangePackage();
                    package.AppUsers = currApprover;
                    dataFields       = package.SetWorkflowDataFields(null);
                    var packageApprovers =
                        prevApprovers.FirstOrDefault(e => e.FlowCode == FlowCode.MajorLease_Package);
                    if (packageApprovers != null)
                    {
                        SimpleEmployee receiver = null;
                        if (taskWork.ReceiverAccount == packageApprovers.MarketMgrCode &&
                            packageApprovers.MarketMgrCode != currApprover.MarketMgr.Code)
                        {
                            receiver = currApprover.MarketMgr;
                        }
                        if (taskWork.ReceiverAccount == packageApprovers.RegionalMgrCode &&
                            packageApprovers.RegionalMgrCode != currApprover.RegionalMgr.Code)
                        {
                            receiver = currApprover.RegionalMgr;
                        }
                        if (taskWork.ReceiverAccount == packageApprovers.MDDCode &&
                            packageApprovers.MDDCode != currApprover.MDD.Code)
                        {
                            receiver = currApprover.MDD;
                        }
                        if (taskWork.ReceiverAccount == packageApprovers.GMCode &&
                            packageApprovers.GMCode != currApprover.GM.Code)
                        {
                            receiver = currApprover.GM;
                        }
                        if (taskWork.ReceiverAccount == packageApprovers.FCCode &&
                            packageApprovers.FCCode != currApprover.FC.Code)
                        {
                            receiver = currApprover.FC;
                        }
                        if (taskWork.ReceiverAccount == packageApprovers.RDDCode &&
                            packageApprovers.RDDCode != currApprover.RDD.Code)
                        {
                            receiver = currApprover.RDD;
                        }
                        if (taskWork.ReceiverAccount == packageApprovers.VPGMCode &&
                            packageApprovers.VPGMCode != currApprover.VPGM.Code)
                        {
                            receiver = currApprover.VPGM;
                        }
                        if (taskWork.ReceiverAccount == packageApprovers.MCCLAssetDtrCode &&
                            packageApprovers.MCCLAssetDtrCode != currApprover.MCCLAssetDtr.Code)
                        {
                            receiver = currApprover.MCCLAssetDtr;
                        }

                        if (taskWork.ReceiverAccount == packageApprovers.CDOCode &&
                            packageApprovers.CDOCode != currApprover.CDO.Code)
                        {
                            receiver = currApprover.CDO;
                        }
                        if (taskWork.ReceiverAccount == packageApprovers.CFOCode &&
                            packageApprovers.CFOCode != currApprover.CFO.Code)
                        {
                            receiver = currApprover.CFO;
                        }
                        else
                        {
                            if (taskWork.ProcInstID.HasValue)
                            {
                                UpdateWorkflowDataField(taskWork.ProcInstID.Value, dataFields);
                            }
                        }

                        if (receiver != null)
                        {
                            RedirectWorkflowTask(taskWork.K2SN, taskWork.ReceiverAccount, receiver.Code, dataFields);

                            taskWork.ReceiverAccount  = receiver.Code;
                            taskWork.ReceiverNameENUS = receiver.NameENUS;
                            taskWork.ReceiverNameZHCN = receiver.NameZHCN;
                        }

                        packageApprovers.MarketMgrCode = currApprover.MarketMgr.Code;
                        packageApprovers.MarketMgrCode = currApprover.RegionalMgr.Code;
                        packageApprovers.MarketMgrCode = currApprover.DD.Code;
                        packageApprovers.MarketMgrCode = currApprover.GM.Code;
                        packageApprovers.MarketMgrCode = currApprover.FC.Code;
                        packageApprovers.MarketMgrCode = currApprover.RDD.Code;
                        packageApprovers.MarketMgrCode = currApprover.VPGM.Code;
                        packageApprovers.MarketMgrCode = currApprover.MCCLAssetDtr.Code;
                        packageApprovers.MarketMgrCode = currApprover.CDO.Code;
                        packageApprovers.MarketMgrCode = currApprover.CFO.Code;
                    }


                    break;
                }
            }
        }
Exemplo n.º 14
0
        protected override void ChangeWorkflowApprovers(List <TaskWork> taskWorks, List <ApproveDialogUser> prevApprovers, ApproveUsers currApprover)
        {
            var packageApprovers =
                prevApprovers.FirstOrDefault(e => e.FlowCode == WorkflowCode &&
                                             e.RefTableID == Id.ToString());

            foreach (var taskWork in taskWorks)
            {
                List <ProcessDataField> dataFields = null;
                switch (taskWork.TypeCode)
                {
                case FlowCode.TempClosure_ClosurePackage:
                    var package = new TempClosurePackage();
                    package.AppUsers = currApprover;
                    dataFields       = package.SetWorkflowDataFields(null);
                    if (packageApprovers != null)
                    {
                        SimpleEmployee receiver = null;
                        if (taskWork.ReceiverAccount == packageApprovers.MarketMgrCode &&
                            packageApprovers.MarketMgrCode != currApprover.MarketMgr.Code)
                        {
                            receiver = currApprover.MarketMgr;
                        }
                        if (taskWork.ReceiverAccount == packageApprovers.RegionalMgrCode &&
                            packageApprovers.RegionalMgrCode != currApprover.RegionalMgr.Code)
                        {
                            receiver = currApprover.RegionalMgr;
                        }
                        if (taskWork.ReceiverAccount == packageApprovers.MDDCode &&
                            packageApprovers.MDDCode != currApprover.MDD.Code)
                        {
                            receiver = currApprover.MDD;
                        }
                        if (taskWork.ReceiverAccount == packageApprovers.GMCode &&
                            packageApprovers.GMCode != currApprover.GM.Code)
                        {
                            receiver = currApprover.GM;
                        }
                        if (taskWork.ReceiverAccount == packageApprovers.FCCode &&
                            packageApprovers.FCCode != currApprover.FC.Code)
                        {
                            receiver = currApprover.FC;
                        }
                        if (taskWork.ReceiverAccount == packageApprovers.RDDCode &&
                            packageApprovers.RDDCode != currApprover.RDD.Code)
                        {
                            receiver = currApprover.RDD;
                        }
                        if (taskWork.ReceiverAccount == packageApprovers.VPGMCode &&
                            packageApprovers.VPGMCode != currApprover.VPGM.Code)
                        {
                            receiver = currApprover.VPGM;
                        }
                        if (taskWork.ReceiverAccount == packageApprovers.MCCLAssetDtrCode &&
                            packageApprovers.MCCLAssetDtrCode != currApprover.MCCLAssetDtr.Code)
                        {
                            receiver = currApprover.MCCLAssetDtr;
                        }

                        if (taskWork.ReceiverAccount == packageApprovers.CDOCode &&
                            packageApprovers.CDOCode != currApprover.CDO.Code)
                        {
                            receiver = currApprover.CDO;
                        }
                        if (taskWork.ReceiverAccount == packageApprovers.CFOCode &&
                            packageApprovers.CFOCode != currApprover.CFO.Code)
                        {
                            receiver = currApprover.CFO;
                        }
                        else
                        {
                            if (taskWork.ProcInstID.HasValue)
                            {
                                UpdateWorkflowDataField(taskWork.ProcInstID.Value, dataFields);
                            }
                        }

                        if (receiver != null)
                        {
                            try
                            {
                                RedirectWorkflowTask(taskWork.K2SN, taskWork.ReceiverAccount, receiver.Code, dataFields);
                            }
                            catch (Exception ex)
                            {
                                Log4netHelper.WriteError(string.Format("【Redirect Workflow Task Error】:{0}",
                                                                       JsonConvert.SerializeObject(taskWork)));
                            }
                            finally
                            {
                                taskWork.ReceiverAccount  = receiver.Code;
                                taskWork.ReceiverNameENUS = receiver.NameENUS;
                                taskWork.ReceiverNameZHCN = receiver.NameZHCN;
                            }
                        }
                        if (currApprover.MarketMgr != null)
                        {
                            packageApprovers.MarketMgrCode = currApprover.MarketMgr.Code;
                        }
                        if (currApprover.RegionalMgr != null)
                        {
                            packageApprovers.RegionalMgrCode = currApprover.RegionalMgr.Code;
                        }
                        if (currApprover.DD != null)
                        {
                            packageApprovers.DDCode = currApprover.DD.Code;
                        }
                        if (currApprover.GM != null)
                        {
                            packageApprovers.GMCode = currApprover.GM.Code;
                        }
                        if (currApprover.FC != null)
                        {
                            packageApprovers.FCCode = currApprover.FC.Code;
                        }
                        if (currApprover.RDD != null)
                        {
                            packageApprovers.RDDCode = currApprover.RDD.Code;
                        }
                        if (currApprover.VPGM != null)
                        {
                            packageApprovers.VPGMCode = currApprover.VPGM.Code;
                        }
                        if (currApprover.MCCLAssetDtr != null)
                        {
                            packageApprovers.MCCLAssetDtrCode = currApprover.MCCLAssetDtr.Code;
                        }
                        if (currApprover.CDO != null)
                        {
                            packageApprovers.CDOCode = currApprover.CDO.Code;
                        }
                        if (currApprover.CFO != null)
                        {
                            packageApprovers.CFOCode = currApprover.CFO.Code;
                        }
                        if (currApprover.NoticeUsers != null)
                        {
                            packageApprovers.NoticeUsers = "";
                            foreach (var noticeUser in currApprover.NoticeUsers)
                            {
                                if (string.IsNullOrEmpty(packageApprovers.NoticeUsers))
                                {
                                    packageApprovers.NoticeUsers = noticeUser.Code;
                                }
                                else
                                {
                                    packageApprovers.NoticeUsers += ";" + noticeUser.Code;
                                }
                            }
                        }
                        if (currApprover.NecessaryNoticeUsers != null)
                        {
                            packageApprovers.NecessaryNoticeUsers = "";
                            foreach (var noticeUser in currApprover.NecessaryNoticeUsers)
                            {
                                if (string.IsNullOrEmpty(packageApprovers.NecessaryNoticeUsers))
                                {
                                    packageApprovers.NecessaryNoticeUsers = noticeUser.Code;
                                }
                                else
                                {
                                    packageApprovers.NecessaryNoticeUsers += ";" + noticeUser.Code;
                                }
                            }
                        }
                    }


                    break;
                }
            }
        }
Exemplo n.º 15
0
        protected override void ChangeWorkflowApprovers(List <TaskWork> taskWorks, List <ApproveDialogUser> prevApprovers, ApproveUsers currApprover)
        {
            RebuildPackage packageInfo = null;

            if (taskWorks.Count > 0)
            {
                string refID = taskWorks[0].RefID;
                packageInfo = RebuildPackage.FirstOrDefault(i => i.ProjectId == refID && i.IsHistory == false);
            }
            foreach (var taskWork in taskWorks)
            {
                List <ProcessDataField> dataFields = null;
                switch (taskWork.TypeCode)
                {
                case FlowCode.Rebuild_Package:
                    var package = new RebuildPackage();
                    package.AppUsers = currApprover;
                    dataFields       = package.SetWorkflowDataFields(null);
                    ApproveDialogUser packageApprovers = null;
                    if (packageInfo == null)
                    {
                        packageApprovers = prevApprovers.FirstOrDefault(e => e.FlowCode == FlowCode.Rebuild_Package);
                    }
                    else
                    {
                        packageApprovers = prevApprovers.FirstOrDefault(e => e.RefTableID == packageInfo.Id.ToString());
                    }
                    if (packageApprovers != null)
                    {
                        SimpleEmployee receiver = null;
                        if (taskWork.ReceiverAccount == packageApprovers.MarketMgrCode &&
                            packageApprovers.MarketMgrCode != currApprover.MarketMgr.Code)
                        {
                            receiver = currApprover.MarketMgr;
                        }
                        if (taskWork.ReceiverAccount == packageApprovers.RegionalMgrCode &&
                            packageApprovers.RegionalMgrCode != currApprover.RegionalMgr.Code)
                        {
                            receiver = currApprover.RegionalMgr;
                        }
                        if (taskWork.ReceiverAccount == packageApprovers.MDDCode &&
                            packageApprovers.MDDCode != currApprover.MDD.Code)
                        {
                            receiver = currApprover.MDD;
                        }
                        if (taskWork.ReceiverAccount == packageApprovers.GMCode &&
                            packageApprovers.GMCode != currApprover.GM.Code)
                        {
                            receiver = currApprover.GM;
                        }
                        if (taskWork.ReceiverAccount == packageApprovers.FCCode &&
                            packageApprovers.FCCode != currApprover.FC.Code)
                        {
                            receiver = currApprover.FC;
                        }
                        //if (taskWork.ReceiverAccount == packageApprovers.RDDCode
                        //     && packageApprovers.RDDCode != currApprover.RDD.Code)
                        //{
                        //    receiver = currApprover.RDD;
                        //}
                        if (taskWork.ReceiverAccount == packageApprovers.VPGMCode &&
                            packageApprovers.VPGMCode != currApprover.VPGM.Code)
                        {
                            receiver = currApprover.VPGM;
                        }
                        if (taskWork.ReceiverAccount == packageApprovers.MCCLAssetDtrCode &&
                            packageApprovers.MCCLAssetDtrCode != currApprover.MCCLAssetDtr.Code)
                        {
                            receiver = currApprover.MCCLAssetDtr;
                        }

                        if (taskWork.ReceiverAccount == packageApprovers.CDOCode &&
                            packageApprovers.CDOCode != currApprover.CDO.Code)
                        {
                            receiver = currApprover.CDO;
                        }
                        if (taskWork.ReceiverAccount == packageApprovers.CFOCode &&
                            packageApprovers.CFOCode != currApprover.CFO.Code)
                        {
                            receiver = currApprover.CFO;
                        }
                        else
                        {
                            if (taskWork.ProcInstID.HasValue)
                            {
                                UpdateWorkflowDataField(taskWork.ProcInstID.Value, dataFields);
                            }
                        }

                        if (receiver != null)
                        {
                            RedirectWorkflowTask(taskWork.K2SN, taskWork.ReceiverAccount, receiver.Code, dataFields);

                            taskWork.ReceiverAccount  = receiver.Code;
                            taskWork.ReceiverNameENUS = receiver.NameENUS;
                            taskWork.ReceiverNameZHCN = receiver.NameZHCN;
                        }

                        if (currApprover.MarketMgr != null)
                        {
                            packageApprovers.MarketMgrCode = currApprover.MarketMgr.Code;
                        }
                        if (currApprover.RegionalMgr != null)
                        {
                            packageApprovers.RegionalMgrCode = currApprover.RegionalMgr.Code;
                        }
                        if (currApprover.DD != null)
                        {
                            packageApprovers.DDCode = currApprover.DD.Code;
                        }
                        if (currApprover.MDD != null)
                        {
                            packageApprovers.MDDCode = currApprover.MDD.Code;
                        }
                        if (currApprover.GM != null)
                        {
                            packageApprovers.GMCode = currApprover.GM.Code;
                        }
                        if (currApprover.FC != null)
                        {
                            packageApprovers.FCCode = currApprover.FC.Code;
                        }
                        if (currApprover.RDD != null)
                        {
                            packageApprovers.RDDCode = currApprover.RDD.Code;
                        }
                        if (currApprover.VPGM != null)
                        {
                            packageApprovers.VPGMCode = currApprover.VPGM.Code;
                        }
                        if (currApprover.MCCLAssetDtr != null)
                        {
                            packageApprovers.MCCLAssetDtrCode = currApprover.MCCLAssetDtr.Code;
                        }
                        if (currApprover.CDO != null)
                        {
                            packageApprovers.CDOCode = currApprover.CDO.Code;
                        }
                        if (currApprover.CFO != null)
                        {
                            packageApprovers.CFOCode = currApprover.CFO.Code;
                        }
                        packageApprovers.NoticeUsers = "";
                        foreach (var noticeUser in currApprover.NoticeUsers)
                        {
                            if (string.IsNullOrEmpty(packageApprovers.NoticeUsers))
                            {
                                packageApprovers.NoticeUsers = noticeUser.Code;
                            }
                            else
                            {
                                packageApprovers.NoticeUsers += ";" + noticeUser.Code;
                            }
                        }
                        packageApprovers.NecessaryNoticeUsers = "";
                        foreach (var noticeUser in currApprover.NecessaryNoticeUsers)
                        {
                            if (string.IsNullOrEmpty(packageApprovers.NecessaryNoticeUsers))
                            {
                                packageApprovers.NecessaryNoticeUsers = noticeUser.Code;
                            }
                            else
                            {
                                packageApprovers.NecessaryNoticeUsers += ";" + noticeUser.Code;
                            }
                        }
                        packageApprovers.Update();
                    }


                    break;
                }
            }
        }