Example #1
0
        private void Actions_ActionExecuting(object sender, ActionEventArgs e)
        {
            WorkflowDataFields fields = WorkflowContext.Current.DataFields;
            if (e.Action.Equals("Save", StringComparison.CurrentCultureIgnoreCase))
            {
                WorkflowContext.Current.UpdateWorkflowVariable("isSave", true);
                fields["Status"] = CAWorkflowStatus.Pending;
                WorkflowContext.Current.UpdateWorkflowVariable("completeTaskT", "PAD Change Request needs to Submit");

                WorkflowContext.Current.UpdateWorkflowVariable("editUrl", "/_Layouts/CA/WorkFlows/PADChangeRequest/EditForm.aspx");
            }
            else
            {
                if (Convert.ToDateTime(fields["CurrentPAD"].ToString()) < Convert.ToDateTime(fields["NewPAD"].ToString()))
                {
                    if (sapcommonpad.SapUpdatePAD(fields["PONumber"].ToString(), Convert.ToDateTime(fields["NewPAD"].ToString()).ToString("yyyy-MM-dd")))
                    {
                        WorkflowContext.Current.UpdateWorkflowVariable("isSave", false);
                        WorkflowContext.Current.UpdateWorkflowVariable("isSubmit", true);
                        WorkflowContext.Current.UpdateWorkflowVariable("updateResult", true);
                        WorkflowContext.Current.UpdateWorkflowVariable("isFree", true);
                        fields["Status"] = CAWorkflowStatus.Completed;
                    }
                    else
                    {
                        DisplayMessage("更新SAP数据失败,请联系IT人员或稍后提交.Error:" + sapcommonpad.ErrorMsg);
                        e.Cancel = true;
                        return;
                    }
                }
                else
                {
                    QuickFlow.NameCollection ApproveUser = new QuickFlow.NameCollection();
                    var applicant = WorkFlowUtil.GetApplicantAccount(WorkflowContext.Current.DataFields["Applicant"].ToString());

                    var managerEmp = WorkFlowUtil.GetApproverByLevelPAD(UserProfileUtil.GetEmployeeEx(applicant));
                    //// ApproveUser.Add("ca\\function.head2");
                    ApproveUser.Add(managerEmp.UserAccount);
                    var deleman = WorkFlowUtil.GetDeleman(managerEmp.UserAccount, "127");
                    if (deleman != null)
                    {
                        ApproveUser.Add(deleman);
                        //fields["Delegates"] = deleman;
                    }
                    WorkflowContext.Current.UpdateWorkflowVariable("isSave", false);
                    WorkflowContext.Current.UpdateWorkflowVariable("isSubmit", true);
                    WorkflowContext.Current.UpdateWorkflowVariable("isFree", false);
                    WorkflowContext.Current.UpdateWorkflowVariable("firstApproveUser", ApproveUser);
                    WorkflowContext.Current.UpdateWorkflowVariable("ManagerApproveT", "PAD Change Request needs to Approve");
                    WorkflowContext.Current.UpdateWorkflowVariable("approveUrl", "/_Layouts/CA/WorkFlows/PADChangeRequest/ApproveForm.aspx");
                    fields["Status"] = CAWorkflowStatus.InProgress;
                }
            }

            WorkFlowUtil.UpdateWorkflowPath(WorkflowContext.Current);
        }
Example #2
0
        void actions_ActionExecuting(object sender, QuickFlow.UI.Controls.ActionEventArgs e)
        {
            //SPFieldUserValueCollection col = WorkFlowUtil.GetApproversValue();
            //WorkflowContext.Current.DataFields["Approvers"] = col;
            AddWorkFlowStepApprovers(WorkflowContext.Current.Task.Step, WorkFlowStep.SupplierReinspectionApprovers, WorkFlowStep.SupplierReinspectionApproverLoginName);

            List<string> strGroupUser = WorkFlowUtil.UserListInGroup("wf_Finance_SR");
            QuickFlow.NameCollection GroupUsers = new QuickFlow.NameCollection();
            GroupUsers.AddRange(strGroupUser.ToArray());
            WorkflowContext.Current.UpdateWorkflowVariable(WorkFlowStep.SupplierReinspectionFinanceTaskUsers, GetDelemanNameCollection(GroupUsers, Constants.CAModules.SupplierReInspectionCharge));

            WorkFlowUtil.UpdateWorkflowPath(WorkflowContext.Current);
        }
Example #3
0
        void actions_ActionExecuting(object sender, QuickFlow.UI.Controls.ActionEventArgs e)
        {
            //SPFieldUserValueCollection col = WorkFlowUtil.GetApproversValue();
            //WorkflowContext.Current.DataFields["Approvers"] = col;
            AddWorkFlowStepApprovers(WorkflowContext.Current.Task.Step, CA.WorkFlow.UI.Constants.WorkFlowStep.StoreBudgetApprovers, CA.WorkFlow.UI.Constants.WorkFlowStep.StoreBudgetApproverLoginName);
            if (WorkflowContext.Current.Task.Step == "FinanceTask")
            {
                WorkflowContext.Current.DataFields["Status"] = "Completed";
            }
            else
            {
                WorkflowContext.Current.DataFields["Status"] = "In Progress";
            }
            switch (WorkflowContext.Current.Task.Step)
            {
                case CA.WorkFlow.UI.Constants.WorkFlowStep.StoreBudgetConstructionHeadApproval:
                    string CFOName = WorkFlowUtil.GetUserInGroup("wf_CFO");
                    WorkflowContext.Current.UpdateWorkflowVariable(CA.WorkFlow.UI.Constants.WorkFlowStep.StoreBudgetCFOApprovalUser, GetDelemanNameCollection(new QuickFlow.NameCollection(CFOName), Constants.CAModules.NewStoreBudgetApplication));
                    break;
                case CA.WorkFlow.UI.Constants.WorkFlowStep.StoreBudgetCFOApproval:
                    string CEOName = WorkFlowUtil.GetUserInGroup("wf_CEO");
                    WorkflowContext.Current.UpdateWorkflowVariable(CA.WorkFlow.UI.Constants.WorkFlowStep.StoreBudgetCEOApprovalUser, GetDelemanNameCollection(new QuickFlow.NameCollection(CEOName), Constants.CAModules.NewStoreBudgetApplication));
                    List<string> strGroupUser = WorkFlowUtil.UserListInGroup("wf_Finance_BA");
                    QuickFlow.NameCollection GroupUsers = new QuickFlow.NameCollection();
                    GroupUsers.AddRange(strGroupUser.ToArray());
                    WorkflowContext.Current.UpdateWorkflowVariable(CA.WorkFlow.UI.Constants.WorkFlowStep.StoreBudgetFinanceTaskUsers, GetDelemanNameCollection(GroupUsers, Constants.CAModules.NewStoreBudgetApplication));
                    break;
                case CA.WorkFlow.UI.Constants.WorkFlowStep.StoreBudgetCEOApproval:
                     List<string> strGroupUser1 = WorkFlowUtil.UserListInGroup("wf_Finance_BA");
                    QuickFlow.NameCollection GroupUsers1 = new QuickFlow.NameCollection();
                    GroupUsers1.AddRange(strGroupUser1.ToArray());
                    WorkflowContext.Current.UpdateWorkflowVariable(CA.WorkFlow.UI.Constants.WorkFlowStep.StoreBudgetFinanceTaskUsers, GetDelemanNameCollection(GroupUsers1, Constants.CAModules.NewStoreBudgetApplication));
                    break;
            }

            WorkFlowUtil.UpdateWorkflowPath(WorkflowContext.Current);
        }
Example #4
0
 /// <summary>
 /// 获得原始审批人和其创建的代理人
 /// </summary>
 /// <param name="approverNameCollection">原始审批人</param>
 /// <param name="modulesId">所属List模块ID</param>
 /// <returns></returns>
 public QuickFlow.NameCollection GetDelemanNameCollection(QuickFlow.NameCollection approverNameCollection, string modulesId)
 {
     QuickFlow.NameCollection delemanNameCollection = new QuickFlow.NameCollection();
     foreach (string approver in approverNameCollection)
     {
         if (approver.IsNotNullOrWhitespace())
         {
             delemanNameCollection.Add(approver);
             //一个模块只有一个代理
             var deleman = WorkFlowUtil.GetDeleman(approver, modulesId);
             if (null != deleman)
             {
                 delemanNameCollection.Add(deleman);
             }
         }
     }
     return delemanNameCollection;
 }
Example #5
0
        void actions_ActionExecuting(object sender, QuickFlow.UI.Controls.ActionEventArgs e)
        {
            if(e.Action.Equals("End",StringComparison.CurrentCultureIgnoreCase))
            {
                WorkflowContext.Current.DataFields["Status"]="Cancelled";
                return;

            }
            WorkflowContext.Current.DataFields["ApplyDept"] = DataForm1.Applicant.Department;
            WorkflowContext.Current.DataFields["ApplyDate"] = DataForm1.ApplyDate;
            WorkflowContext.Current.DataFields["ApplyUser"] = this.DataForm1.Applicant.UserAccount;
            WorkflowContext.Current.DataFields["RequestType"] = this.DataForm1.RequestType;
            WorkflowContext.Current.DataFields["BudgetApproved"] = this.DataForm1.BudgetApproved;
            WorkflowContext.Current.DataFields["CurrencyType"] = this.DataForm1.CurrencyType;
            WorkflowContext.Current.DataFields["CostCenter"] = this.DataForm1.CostCenter;
            WorkflowContext.Current.DataFields["BudgetValue"] = this.DataForm1.BudgetValue;
            WorkflowContext.Current.DataFields["ProduceandDeliveryDate"] = this.DataForm1.ProduceandDeliveryDate;

            WorkflowContext.Current.DataFields["Installation"] = this.DataForm1.Installation;
            WorkflowContext.Current.DataFields["Freight"] = this.DataForm1.Freight;
            WorkflowContext.Current.DataFields["Packaging"] = this.DataForm1.Packaging;

            WorkflowContext.Current.DataFields["Status"] = "In Progress";

            string department = string.Empty;
            if (DataForm1.Applicant.Department.Contains(';'))
                department = DataForm1.Applicant.Department.Substring(0, DataForm1.Applicant.Department.IndexOf(';') + 1);
            else
                department = DataForm1.Applicant.Department;
            string departmentManager = UserProfileUtil.GetDepartmentManager(department);
            QuickFlow.NameCollection DepartmentHead = new QuickFlow.NameCollection();
            DepartmentHead.Add(departmentManager);
            WorkflowContext.Current.UpdateWorkflowVariable(CA.WorkFlow.UI.Constants.WorkFlowStep.ConstructionPurchasingDepartmentHeadAccount, GetDelemanNameCollection(DepartmentHead, CA.WorkFlow.UI.Constants.CAModules.ConstructionPurchasingRequest));

            WorkFlowUtil.UpdateWorkflowPath(WorkflowContext.Current);
        }
Example #6
0
        void Actions_ActionExecuting(object sender, ActionEventArgs e)
        {
            bool isCheckOK = CheckData();
            if (!isCheckOK)//未能通过数据验证
            {
                e.Cancel = true;
                return;
            }

            WorkflowDataFields fields = WorkflowContext.Current.DataFields;
            string sWorkflowNumber = fields["Title"].ToString();

            if (e.Action.Equals("Save", StringComparison.CurrentCultureIgnoreCase))
            {
                WorkflowContext.Current.UpdateWorkflowVariable("isSave", true);
                WorkflowContext.Current.UpdateWorkflowVariable("isSubmit", false);
                WorkflowContext.Current.UpdateWorkflowVariable("isFree", false);
                WorkflowContext.Current.UpdateWorkflowVariable("completeTaskT", "PAD Change Request needs to Submit");
                WorkflowContext.Current.UpdateWorkflowVariable("editUrl", "/_Layouts/CA/WorkFlows/PADChangeRequest/BatchEditForm.aspx");
                fields["Status"] = CAWorkflowStatus.InProgress;

                DeleteData(sWorkflowNumber);
                SaveDataToPADChangeRequest(sWorkflowNumber);
            }
            else//submit
            {
                bool IsNeedApprove = IsNeedWorkFlowStep();//是否需要工作流审批,只要有一个记录的原始日期大于新输入的日期,则需要进入工作流审批流程,
                if (!IsNeedApprove)//不需要工作流审批流程
                {
                    bool isSuccess = UpdateToSAP(sWorkflowNumber);
                    if (isSuccess)
                    {
                        WorkflowContext.Current.UpdateWorkflowVariable("isSubmit", true);
                        WorkflowContext.Current.UpdateWorkflowVariable("isFree", true);
                        WorkflowContext.Current.UpdateWorkflowVariable("isSave", false);
                        fields["Status"] = CAWorkflowStatus.Completed;

                        DeleteData(sWorkflowNumber);
                        SaveDataToPADChangeRequest(sWorkflowNumber);
                    }
                    else
                    {
                        e.Cancel = true;
                        return;
                    }
                }
                else//需要工作流审批流程
                {
                    QuickFlow.NameCollection ApproveUser = new QuickFlow.NameCollection();
                    var applicant = WorkFlowUtil.GetApplicantAccount(WorkflowContext.Current.DataFields["Applicant"].ToString());

                    var managerEmp = SapCommonPADChangeRequest.GetApproverByLevelPAD(UserProfileUtil.GetEmployeeEx(applicant));// WorkFlowUtil.GetApproverByLevelPAD(UserProfileUtil.GetEmployeeEx(applicant));
                    if (managerEmp == null)
                    {
                        DisplayMessage("此用户没有Level-5,Level-4级的审批用户,无法提交");
                        e.Cancel = true;
                        return;
                    }
                    ApproveUser.Add(managerEmp.UserAccount);
                    var deleman = WorkFlowUtil.GetDeleman(managerEmp.UserAccount, CA.WorkFlow.UI.Constants.CAModules.PADChangeRequest);
                    if (deleman != null)
                    {
                        ApproveUser.Add(deleman);
                    }
                    WorkflowContext.Current.UpdateWorkflowVariable("isSave", false);
                    WorkflowContext.Current.UpdateWorkflowVariable("isSubmit", true);
                    WorkflowContext.Current.UpdateWorkflowVariable("isFree", false);
                    WorkflowContext.Current.UpdateWorkflowVariable("firstApproveUser", ApproveUser);
                    WorkflowContext.Current.UpdateWorkflowVariable("ManagerApproveT", "PAD Change Request needs to Approve");
                    WorkflowContext.Current.UpdateWorkflowVariable("approveUrl", "/_Layouts/CA/WorkFlows/PADChangeRequest/BatchApproveForm.aspx");
                    fields["Status"] = CAWorkflowStatus.InProgress;
                    fields["CurrManager"] = managerEmp.UserAccount;
                    DeleteData(sWorkflowNumber);
                    SaveDataToPADChangeRequest(sWorkflowNumber);
                }
            }

            WorkFlowUtil.UpdateWorkflowPath(WorkflowContext.Current);
        }
Example #7
0
        void actions_ActionExecuting(object sender, QuickFlow.UI.Controls.ActionEventArgs e)
        {
            if (e.Action.Equals("End", StringComparison.CurrentCultureIgnoreCase))
            {
                WorkflowContext.Current.DataFields["Status"] = "Cancelled";
                return;
            }
            WorkflowContext.Current.DataFields["UserName"] = DataForm1.Applicant.UserAccount;
            WorkflowContext.Current.DataFields["Supplier"] = DataForm1.Supplier;
            WorkflowContext.Current.DataFields["SubDivision"] = DataForm1.SubDivision;
            WorkflowContext.Current.DataFields["IsMondial"] = DataForm1.IsMondia;
            WorkflowContext.Current.DataFields["Status"] = DataForm1.Status;

            WorkflowContext.Current.DataFields["Flag"] = "Submit";

            WorkflowContext.Current.DataFields["RequestStatus"] = "In Progress";
            string Head = WorkFlowUtil.GetEmployeeApproverInDept(DataForm1.Applicant, true, true).UserAccount;
            QuickFlow.NameCollection ManagerUser = new QuickFlow.NameCollection();
            if (!string.IsNullOrEmpty(Head))
            {
                ManagerUser.Add(Head);
                WorkflowContext.Current.UpdateWorkflowVariable(CA.WorkFlow.UI.Constants.WorkFlowStep.SupplierCreationManager, GetDelemanNameCollection(ManagerUser, CAModules.NewSupplierCreation));
            }

            WorkFlowUtil.UpdateWorkflowPath(WorkflowContext.Current);
        }
Example #8
0
        void actions_ActionExecuting(object sender, QuickFlow.UI.Controls.ActionEventArgs e)
        {
            if (WorkflowContext.Current.Step.ToString() == "ITMember")
            {
                string msg = DataForm1.ValidSavedate;
                if (!string.IsNullOrEmpty(msg))
                {
                    DisplayMessage(msg);
                    e.Cancel = true;
                    return;
                }
            }
            WorkflowContext.Current.DataFields["Flag"] = "Approve";
            if (WorkflowContext.Current.Step.ToString() == "ITHeader")
            {
                bool strFOCO = this.DataForm1.IsFOCO;
                WorkflowContext.Current.UpdateWorkflowVariable("IsFOCO", strFOCO);
                WorkflowContext.Current.DataFields["FOCOApprove"] = DataForm1.IsFOCO;
            }
            if (WorkflowContext.Current.Step == "FOCO" && e.Action == "Approve")
            {
                WorkflowContext.Current.DataFields["Status"] = "Completed";
            }
            else if (WorkflowContext.Current.Step == "ITHeader" && !this.DataForm1.IsFOCO && e.Action == "Approve")
            {
                WorkflowContext.Current.DataFields["Status"] = "Completed";
            }
            else
            {
                WorkflowContext.Current.DataFields["Status"] = "In Progress";
            }
            //SPFieldUserValueCollection col = WorkFlowUtil.GetApproversValue();
            //WorkflowContext.Current.DataFields["Approvers"] = col;
            AddWorkFlowStepApprovers(WorkflowContext.Current.Task.Step, CA.WorkFlow.UI.Constants.WorkFlowStep.ITRequestApprovers, CA.WorkFlow.UI.Constants.WorkFlowStep.ITRequestApproverLoginName);

            switch (WorkflowContext.Current.Task.Step)
            {
                case CA.WorkFlow.UI.Constants.WorkFlowStep.ITRequestITMember:
                    CA.SharePoint.Utilities.Common.Employee approver = WorkFlowUtil.GetEmployeeApprover(DataForm1.Applicant);
                    QuickFlow.NameCollection DepartHeadUser = new QuickFlow.NameCollection();
                    DepartHeadUser.Add(approver.UserAccount);
                    WorkflowContext.Current.UpdateWorkflowVariable(CA.WorkFlow.UI.Constants.WorkFlowStep.ITRequestDepartHeaderAccounts, GetDelemanNameCollection(DepartHeadUser, Constants.CAModules.ItRequest));
                    break;
                case CA.WorkFlow.UI.Constants.WorkFlowStep.ITRequestDepartmentHeader:
                    QuickFlow.NameCollection ITHeadUser = new QuickFlow.NameCollection();
                    string strHRHeadAccount = UserProfileUtil.GetDepartmentManager("it");
                    ITHeadUser.Add(strHRHeadAccount);
                    WorkflowContext.Current.UpdateWorkflowVariable(CA.WorkFlow.UI.Constants.WorkFlowStep.ITRequestITHeaderAccounts, GetDelemanNameCollection(ITHeadUser, Constants.CAModules.ItRequest));
                    break;
                case CA.WorkFlow.UI.Constants.WorkFlowStep.ITRequestITHeader:
                    QuickFlow.NameCollection CFOUser = new QuickFlow.NameCollection();
                    List<string> lst = WorkFlowUtil.UserListInGroup("wf_CFO");
                    CFOUser.AddRange(lst.ToArray());
                    WorkflowContext.Current.UpdateWorkflowVariable(CA.WorkFlow.UI.Constants.WorkFlowStep.ITRequestFOCOAccounts, GetDelemanNameCollection(CFOUser, Constants.CAModules.ItRequest));
                    break;
            }

            TaskOutcome = e.Action;

            WorkFlowUtil.UpdateWorkflowPath(WorkflowContext.Current);
        }
Example #9
0
        private void Actions_ActionExecuting(object sender, ActionEventArgs e)
        {
            SapCommonPADChangeRequest sapcommonpad = new SapCommonPADChangeRequest();
            WorkflowDataFields fields = WorkflowContext.Current.DataFields;
            string sWorkflowNumber = fields["Title"].ToString();
            switch (WorkflowContext.Current.Step)
            {
                case "ManagerApprove":
                    if (e.Action.Equals("Approve", StringComparison.CurrentCultureIgnoreCase))
                    {
                        ///现审请者的manager为4,则结束流程
                        ///现审请者的manager为5,现审请者的manager的manager为4以上,则结束

                        bool isNeedBD = true;

                        Employee eCurrManager=UserProfileUtil.GetEmployeeEx(fields["CurrManager"].ToString());
                        int iCurrLevel = SapCommonPADChangeRequest.GetLevel(eCurrManager.JobLevel);

                        if (iCurrLevel == 4)//当前审批者的级别为4,不需要审批
                        {
                            isNeedBD = false;
                        }
                        else////当前审请者的级别为5
                        {
                           // QuickFlow.NameCollection BDMApprover = new QuickFlow.NameCollection();
                            Employee eBD = WorkFlowUtil.GetNextApprover(eCurrManager);
                            if (null == eBD)//当前审批者没有manager,不需要审批
                            {
                                isNeedBD = false;
                            }
                            else
                            {
                                int iLevel = SapCommonPADChangeRequest.GetLevel(eBD.JobLevel.AsString());
                                if (iLevel != 4)////当前审批者的manager不为4,不需要审批
                                {
                                    isNeedBD = false;
                                }

                            }
                        }
                        if (!isNeedBD)//不需要下一级审批
                        {
                            if (UpdateToSAP(sWorkflowNumber))
                            {
                                WorkflowContext.Current.UpdateWorkflowVariable("isOnlyApp", true);
                                WorkflowContext.Current.UpdateWorkflowVariable("updateResult", true);

                                //fields["CurrManager"] = WorkFlowUtil.GetApproverByLevelPAD(UserProfileUtil.GetEmployeeEx(WorkFlowUtil.GetApplicantAccount(WorkflowContext.Current.DataFields["Applicant"].ToString()))).UserAccount;
                                fields["Approvers"] = ReturnAllApprovers(fields["CurrManager"].ToString());
                                fields["ApproversSPUser"] = ReturnAllApproversSP("ApproversSPUser", fields["CurrManager"].ToString());
                                if (!SPContext.Current.Web.CurrentUser.LoginName.Equals(fields["CurrManager"].ToString(), StringComparison.CurrentCultureIgnoreCase))
                                {
                                    fields["ApproversSPUser"] = ReturnAllApproversSP("ApproversSPUser", SPContext.Current.Web.CurrentUser.LoginName);
                                }

                                fields["Status"] = CAWorkflowStatus.Completed;
                                SendNoticeMail("approved");
                            }
                            else
                            {
                                //DisplayMessage("更新SAP数据失败,请联系IT人员或稍后审批.Error:" + sapcommonpad.ErrorMsg.Replace("'", "‘").Replace("\\n", "  "));
                                e.Cancel = true;
                                return;
                            }
                        }
                        else///需要经过SuperManagerApprove审批
                        {
                            QuickFlow.NameCollection SuperApproveUser = new QuickFlow.NameCollection();
                            //var applicant = WorkFlowUtil.GetApplicantAccount(WorkflowContext.Current.DataFields["Applicant"].ToString());
                            Employee supmanagerEmp = WorkFlowUtil.GetNextApprover(eCurrManager);// WorkFlowUtil.GetApproverIgnoreRight(WorkFlowUtil.GetApproverByLevelPAD(UserProfileUtil.GetEmployeeEx(applicant)));

                            if (supmanagerEmp == null)
                            {
                                DisplayMessage("此用户没有Level-4级审批用户,无法提交");
                                e.Cancel = true;
                                return;
                            }
                            SuperApproveUser.Add(supmanagerEmp.UserAccount);
                            var deleman = WorkFlowUtil.GetDeleman(supmanagerEmp.UserAccount, "127");
                            if (deleman != null)
                            {
                                SuperApproveUser.Add(deleman);
                            }
                            WorkflowContext.Current.UpdateWorkflowVariable("isOnlyApp", false);
                            WorkflowContext.Current.UpdateWorkflowVariable("secApproveU", SuperApproveUser);
                            WorkflowContext.Current.UpdateWorkflowVariable("SuperManagerT", "PAD Change Request needs to Approve");
                            WorkflowContext.Current.UpdateWorkflowVariable("approveUrl", "/_Layouts/CA/WorkFlows/PADChangeRequest/BatchApproveForm.aspx");

                            fields["Approvers"] = ReturnAllApprovers(fields["CurrManager"].ToString());
                            fields["ApproversSPUser"] = ReturnAllApproversSP("ApproversSPUser", fields["CurrManager"].ToString());
                            if (!SPContext.Current.Web.CurrentUser.LoginName.Equals(fields["CurrManager"].ToString(), StringComparison.CurrentCultureIgnoreCase))
                            {
                                fields["ApproversSPUser"] = ReturnAllApproversSP("ApproversSPUser", SPContext.Current.Web.CurrentUser.LoginName);
                            }
                            UpdateItemApprove();
                            fields["Status"] = CAWorkflowStatus.InProgress;
                            fields["CurrManager"] = supmanagerEmp.UserAccount;// WorkFlowUtil.GetApproverByLevelPAD(UserProfileUtil.GetEmployeeEx(WorkFlowUtil.GetApplicantAccount(WorkflowContext.Current.DataFields["Applicant"].ToString()))).UserAccount;
                        }
                    }
                    else//Reject
                    {
                        UpdateItemReject();
                       // fields["CurrManager"] = CurrentEmployee.UserAccount;// WorkFlowUtil.GetApproverByLevelPAD(UserProfileUtil.GetEmployeeEx(WorkFlowUtil.GetApplicantAccount(WorkflowContext.Current.DataFields["Applicant"].ToString()))).UserAccount;
                        fields["Status"] = CAWorkflowStatus.Completed;
                        fields["Approvers"] = ReturnAllApprovers(fields["CurrManager"].ToString());
                        fields["ApproversSPUser"] = ReturnAllApproversSP("ApproversSPUser", fields["CurrManager"].ToString());
                        SendNoticeMail("rejected");
                    }
                    break;
                case "SuperManagerApprove":
                    if (e.Action.Equals("Approve", StringComparison.CurrentCultureIgnoreCase))
                    {
                        if (UpdateToSAP(sWorkflowNumber))
                        {
                            WorkflowContext.Current.UpdateWorkflowVariable("updateResult", true);

                            var applicant = WorkFlowUtil.GetApplicantAccount(WorkflowContext.Current.DataFields["Applicant"].ToString());
                            var supmanagerEmp = WorkFlowUtil.GetApproverIgnoreRight(WorkFlowUtil.GetApproverByLevelPAD(UserProfileUtil.GetEmployeeEx(applicant)));
                           // fields["CurrManager"] = supmanagerEmp.UserAccount;
                            fields["ApproversSPUser"] = ReturnAllApproversSP("ApproversSPUser", fields["CurrManager"].ToString());
                            if (!SPContext.Current.Web.CurrentUser.LoginName.Equals(fields["CurrManager"].ToString(), StringComparison.CurrentCultureIgnoreCase))
                            {
                                fields["ApproversSPUser"] = ReturnAllApproversSP("ApproversSPUser", SPContext.Current.Web.CurrentUser.LoginName);
                            }
                            fields["Status"] = CAWorkflowStatus.Completed;
                            SendNoticeMail("approved");
                        }
                        else
                        {
                            e.Cancel = true;
                            return;
                        }
                    }
                    else
                    {
                        UpdateItemReject();
                       // fields["CurrManager"] = CurrentEmployee.UserAccount;// WorkFlowUtil.GetApproverByLevelPAD(UserProfileUtil.GetEmployeeEx(WorkFlowUtil.GetApplicantAccount(WorkflowContext.Current.DataFields["Applicant"].ToString()))).UserAccount;
                        fields["Status"] = CAWorkflowStatus.Completed;
                        fields["Approvers"] = ReturnAllApprovers(fields["CurrManager"].ToString());
                        fields["ApproversSPUser"] = ReturnAllApproversSP("ApproversSPUser", fields["CurrManager"].ToString());
                        SendNoticeMail("rejected");
                    }
                    break;
            }

            WorkFlowUtil.UpdateWorkflowPath(WorkflowContext.Current);
        }
Example #10
0
        private void Actions_ActionExecuting(object sender, ActionEventArgs e)
        {
            WorkflowDataFields fields = WorkflowContext.Current.DataFields;
            switch (WorkflowContext.Current.Step)
            {
                case "ManagerApprove":
                    if (e.Action.Equals("Approve", StringComparison.CurrentCultureIgnoreCase))
                    {
                        if (WorkFlowUtil.GetApproverIsLastPAD(WorkFlowUtil.GetApproverByLevelPAD(UserProfileUtil.GetEmployeeEx(WorkFlowUtil.GetApplicantAccount(WorkflowContext.Current.DataFields["Applicant"].ToString())))))
                        {
                            if (sapcommonpad.SapUpdatePAD(fields["PONumber"].ToString(), Convert.ToDateTime(fields["NewPAD"]).ToString("yyyy-MM-dd")))
                            {
                                WorkflowContext.Current.UpdateWorkflowVariable("isOnlyApp", true);
                                WorkflowContext.Current.UpdateWorkflowVariable("updateResult", true);

                                fields["CurrManager"] = WorkFlowUtil.GetApproverByLevelPAD(UserProfileUtil.GetEmployeeEx(WorkFlowUtil.GetApplicantAccount(WorkflowContext.Current.DataFields["Applicant"].ToString()))).UserAccount;
                                fields["Approvers"] = ReturnAllApprovers(fields["CurrManager"].ToString());
                                fields["ApproversSPUser"] = ReturnAllApproversSP("ApproversSPUser", fields["CurrManager"].ToString());
                                if (!SPContext.Current.Web.CurrentUser.LoginName.Equals(fields["CurrManager"].ToString(), StringComparison.CurrentCultureIgnoreCase))
                                {
                                    fields["ApproversSPUser"] = ReturnAllApproversSP("ApproversSPUser", SPContext.Current.Web.CurrentUser.LoginName);
                                }

                                fields["Status"] = CAWorkflowStatus.Completed;
                            }
                            else
                            {
                                DisplayMessage("更新SAP数据失败,请联系IT人员或稍后审批.Error:" + sapcommonpad.ErrorMsg);
                                e.Cancel = true;
                                return;
                            }
                        }
                        else
                        {
                            QuickFlow.NameCollection SuperApproveUser = new QuickFlow.NameCollection();
                            var applicant = WorkFlowUtil.GetApplicantAccount(WorkflowContext.Current.DataFields["Applicant"].ToString());
                            var supmanagerEmp = WorkFlowUtil.GetApproverIgnoreRight(WorkFlowUtil.GetApproverByLevelPAD(UserProfileUtil.GetEmployeeEx(applicant)));

                            if (supmanagerEmp == null)
                            {
                                DisplayMessage("此用户没有Level-4级以上的审批用户,无法提交");
                                e.Cancel = true;
                                return;
                            }
                            // ApproveUser.Add("ca\\function.head2");
                            SuperApproveUser.Add(supmanagerEmp.UserAccount);
                            var deleman = WorkFlowUtil.GetDeleman(supmanagerEmp.UserAccount, "127");
                            if (deleman != null)
                            {
                                SuperApproveUser.Add(deleman);
                                //fields["Delegates"] = deleman;
                            }
                            WorkflowContext.Current.UpdateWorkflowVariable("isOnlyApp", false);
                            WorkflowContext.Current.UpdateWorkflowVariable("secApproveU", SuperApproveUser);
                            WorkflowContext.Current.UpdateWorkflowVariable("SuperManagerT", "PAD Change Request needs to Approve");
                            WorkflowContext.Current.UpdateWorkflowVariable("approveUrl", "/_Layouts/CA/WorkFlows/PADChangeRequest/ApproveForm.aspx");

                            fields["CurrManager"] = WorkFlowUtil.GetApproverByLevelPAD(UserProfileUtil.GetEmployeeEx(WorkFlowUtil.GetApplicantAccount(WorkflowContext.Current.DataFields["Applicant"].ToString()))).UserAccount;
                            fields["Approvers"] = ReturnAllApprovers(fields["CurrManager"].ToString());
                            fields["ApproversSPUser"] = ReturnAllApproversSP("ApproversSPUser", fields["CurrManager"].ToString());
                            if (!SPContext.Current.Web.CurrentUser.LoginName.Equals(fields["CurrManager"].ToString(), StringComparison.CurrentCultureIgnoreCase))
                            {
                                fields["ApproversSPUser"] = ReturnAllApproversSP("ApproversSPUser", SPContext.Current.Web.CurrentUser.LoginName);
                            }

                            fields["Status"] = CAWorkflowStatus.InProgress;
                        }
                    }
                    else
                    {
                        fields["Status"] = CAWorkflowStatus.Completed;
                    }
                    break;
                case "SuperManagerApprove":
                    if (e.Action.Equals("Approve", StringComparison.CurrentCultureIgnoreCase))
                    {
                        if (sapcommonpad.SapUpdatePAD(fields["PONumber"].ToString(), Convert.ToDateTime(fields["NewPAD"]).ToString("yyyy-MM-dd")))
                        {
                            WorkflowContext.Current.UpdateWorkflowVariable("updateResult", true);

                            var applicant = WorkFlowUtil.GetApplicantAccount(WorkflowContext.Current.DataFields["Applicant"].ToString());
                            var supmanagerEmp = WorkFlowUtil.GetApproverIgnoreRight(WorkFlowUtil.GetApproverByLevelPAD(UserProfileUtil.GetEmployeeEx(applicant)));
                            fields["CurrManager"] = supmanagerEmp.UserAccount;
                            fields["ApproversSPUser"] = ReturnAllApproversSP("ApproversSPUser", fields["CurrManager"].ToString());
                            if (!SPContext.Current.Web.CurrentUser.LoginName.Equals(fields["CurrManager"].ToString(), StringComparison.CurrentCultureIgnoreCase))
                            {
                                fields["ApproversSPUser"] = ReturnAllApproversSP("ApproversSPUser", SPContext.Current.Web.CurrentUser.LoginName);
                            }

                            fields["Status"] = CAWorkflowStatus.Completed;
                        }
                        else
                        {
                            DisplayMessage("更新SAP数据失败,请联系IT人员或稍后审批.Error:" + sapcommonpad.ErrorMsg);
                            e.Cancel = true;
                            return;
                        }
                    }
                    else
                    {
                        fields["Status"] = CAWorkflowStatus.Completed;
                    }
                    break;
            }

            WorkFlowUtil.UpdateWorkflowPath(WorkflowContext.Current);
        }
Example #11
0
        void actions_ActionExecuting(object sender, QuickFlow.UI.Controls.ActionEventArgs e)
        {
            SPFieldUserValueCollection col = WorkFlowUtil.GetApproversValue();
            switch (WorkflowContext.Current.Step.ToString())
            {
                case "Construction":
                    string msg = DataForm1.Validate;
                    if (!string.IsNullOrEmpty(msg))
                    {
                        DisplayMessage(msg);
                        e.Cancel = true;
                        return;
                    }

                    WorkflowContext.Current.DataFields["Installation"] = this.DataForm1.Installation;
                    WorkflowContext.Current.DataFields["Freight"] = this.DataForm1.Freight;
                    WorkflowContext.Current.DataFields["Packaging"] = this.DataForm1.Packaging;
                    AddWorkFlowStepApprovers(WorkflowContext.Current.Task.Step, CA.WorkFlow.UI.Constants.WorkFlowStep.ConstructionPurchasingApprovers, CA.WorkFlow.UI.Constants.WorkFlowStep.ConstructionPurchasingApproverLoginName);
                    break;
                case "PlacesTheOrder":
                    CheckBox chk = DataForm1.FindControl("chkPlacesOrder") as CheckBox;
                    if (!chk.Checked)
                    {
                        e.Cancel = true;
                        Page.RegisterStartupScript("msg1", "<script>alert('Can not confirm with Places the order unchecked!')</script>");
                        return;
                    }
                    else
                    {
                        WorkflowContext.Current.DataFields["PlacesOrder"] = "Yes";
                    }
                    //WorkflowContext.Current.DataFields["Approvers"] = col;
                    AddWorkFlowStepApprovers(WorkflowContext.Current.Task.Step, CA.WorkFlow.UI.Constants.WorkFlowStep.ConstructionPurchasingApprovers, CA.WorkFlow.UI.Constants.WorkFlowStep.ConstructionPurchasingApproverLoginName);
                    break;
                case "OrderHandover":
                    CheckBox chk1 = DataForm1.FindControl("chkOrderHandover") as CheckBox;
                    if (!chk1.Checked)
                    {
                        e.Cancel = true;
                        Page.RegisterStartupScript("msg2", "<script>alert('Can not confirm with Order handover unchecked!')</script>");
                        return;
                    }
                    else
                    {
                        WorkflowContext.Current.DataFields["OrderHandover"] = "Yes";
                    }
                    //WorkflowContext.Current.DataFields["Approvers"] = col;
                    AddWorkFlowStepApprovers(WorkflowContext.Current.Task.Step, CA.WorkFlow.UI.Constants.WorkFlowStep.ConstructionPurchasingApprovers, CA.WorkFlow.UI.Constants.WorkFlowStep.ConstructionPurchasingApproverLoginName);
                    break;
                default:
                    // WorkflowContext.Current.DataFields["Approvers"] = col;
                    AddWorkFlowStepApprovers(WorkflowContext.Current.Task.Step, CA.WorkFlow.UI.Constants.WorkFlowStep.ConstructionPurchasingApprovers, CA.WorkFlow.UI.Constants.WorkFlowStep.ConstructionPurchasingApproverLoginName);
                    break;
            }
            if (WorkflowContext.Current.Step == "OrderHandover" && e.Action == "Confirm")
            {
                WorkflowContext.Current.DataFields["Status"] = "Completed";
            }
            else
            {
                WorkflowContext.Current.DataFields["Status"] = "In Progress";
            }

            switch (WorkflowContext.Current.Task.Step)
            {
                case CA.WorkFlow.UI.Constants.WorkFlowStep.ConstructionPurchasingConstructionHead:
                    QuickFlow.NameCollection ConstructionUser = new QuickFlow.NameCollection();
                    List<string> lst = WorkFlowUtil.UserListInGroup("wf_Construction");
                    ConstructionUser.AddRange(lst.ToArray());
                    WorkflowContext.Current.UpdateWorkflowVariable(CA.WorkFlow.UI.Constants.WorkFlowStep.ConstructionPurchasingConstructionAccount, GetDelemanNameCollection(ConstructionUser, Constants.CAModules.ConstructionPurchasingRequest));
                    break;
                case CA.WorkFlow.UI.Constants.WorkFlowStep.ConstructionPurchasingConstruction:
                    string strConstructionHeadAccount = UserProfileUtil.GetDepartmentManager("Construction");
                    QuickFlow.NameCollection ConstructionHead = new QuickFlow.NameCollection();
                    ConstructionHead.Add(strConstructionHeadAccount);
                    WorkflowContext.Current.UpdateWorkflowVariable(CA.WorkFlow.UI.Constants.WorkFlowStep.ConstructionPurchasingConstructionHeadAccount, GetDelemanNameCollection(ConstructionHead, Constants.CAModules.ConstructionPurchasingRequest));
                    break;
                case CA.WorkFlow.UI.Constants.WorkFlowStep.ConstructionPurchasingConstructionHeadAgain:
                    string department = string.Empty;
                    if (DataForm1.Applicant.Department.Contains(';'))
                        department = DataForm1.Applicant.Department.Substring(0, DataForm1.Applicant.Department.IndexOf(';') + 1);
                    else
                        department = DataForm1.Applicant.Department;
                    string departmentManager = UserProfileUtil.GetDepartmentManager(department);
                    QuickFlow.NameCollection DepartmentHead = new QuickFlow.NameCollection();
                    DepartmentHead.Add(departmentManager);
                    WorkflowContext.Current.UpdateWorkflowVariable(CA.WorkFlow.UI.Constants.WorkFlowStep.ConstructionPurchasingDepartmentHeadAccount, GetDelemanNameCollection(DepartmentHead, Constants.CAModules.ConstructionPurchasingRequest));
                    break;
                case CA.WorkFlow.UI.Constants.WorkFlowStep.ConstructionPurchasingDepartmentHead:
                    QuickFlow.NameCollection StoreOperationTeamUser = new QuickFlow.NameCollection();
                    string strStoreOperations = UserProfileUtil.GetDepartmentManager("Store Operations");
                    StoreOperationTeamUser.Add(strStoreOperations);
                    WorkflowContext.Current.UpdateWorkflowVariable(CA.WorkFlow.UI.Constants.WorkFlowStep.ConstructionPurchasingStoreOperationTeamAccount, GetDelemanNameCollection(StoreOperationTeamUser, Constants.CAModules.ConstructionPurchasingRequest));
                    QuickFlow.NameCollection ConstructionUser1 = new QuickFlow.NameCollection();
                    List<string> lst1 = WorkFlowUtil.UserListInGroup("wf_Construction");
                    ConstructionUser1.AddRange(lst1.ToArray());
                    WorkflowContext.Current.UpdateWorkflowVariable(CA.WorkFlow.UI.Constants.WorkFlowStep.ConstructionPurchasingConstructionAccount, GetDelemanNameCollection(ConstructionUser1, Constants.CAModules.ConstructionPurchasingRequest));
                    break;
                case CA.WorkFlow.UI.Constants.WorkFlowStep.ConstructionPurchasingStoreOperationTeam:
                    QuickFlow.NameCollection CFOUser = new QuickFlow.NameCollection();
                    List<string> lst2 = WorkFlowUtil.UserListInGroup("wf_CFO");
                    CFOUser.AddRange(lst2.ToArray());
                    WorkflowContext.Current.UpdateWorkflowVariable(CA.WorkFlow.UI.Constants.WorkFlowStep.ConstructionPurchasingCFOAccount, GetDelemanNameCollection(CFOUser, Constants.CAModules.ConstructionPurchasingRequest));
                    break;
                case CA.WorkFlow.UI.Constants.WorkFlowStep.ConstructionPurchasingCFO:
                    QuickFlow.NameCollection ConstructionUser2 = new QuickFlow.NameCollection();
                    List<string> lst3 = WorkFlowUtil.UserListInGroup("wf_Construction");
                    ConstructionUser2.AddRange(lst3.ToArray());
                    WorkflowContext.Current.UpdateWorkflowVariable(CA.WorkFlow.UI.Constants.WorkFlowStep.ConstructionPurchasingConstructionAccount, GetDelemanNameCollection(ConstructionUser2, Constants.CAModules.ConstructionPurchasingRequest));
                    break;

            }

            TaskOutcome = e.Action;

            WorkFlowUtil.UpdateWorkflowPath(WorkflowContext.Current);
        }
Example #12
0
        void StartWorkflowButton1_Excuting(object sender, System.ComponentModel.CancelEventArgs e)
        {
            if (WorkflowPerson.IsCEO(this.DataForm1.Applicant.UserAccount))
            {
                DisplayMessage("当前流程不支持CEO提交申请,请重新填写!");
                e.Cancel = true;
                return;
            }

            bool isCheckOK = CheckData();
            if (!isCheckOK)//未能通过数据验证,如新日期,老日期为空,新日期等于老日期,所有的数据都 是Delivered
            {
                e.Cancel = true;
                return;
            }
            var btn = sender as StartWorkflowButton;
            WorkflowDataFields fields = WorkflowContext.Current.DataFields;
            SPUser ApplicantSPUser = SPContext.Current.Web.EnsureUser(this.DataForm1.Applicant.UserAccount);
            string sWorkflowNumber = HiddenFieldWorkflowNO.Value;
            if (string.IsNullOrEmpty(sWorkflowNumber))
            {
                sWorkflowNumber = CreateWorkFlowNumber();
                HiddenFieldWorkflowNO.Value = sWorkflowNumber;
            }
            fields["Title"] = sWorkflowNumber;
            fields["ApplicantSPUser"] = ApplicantSPUser;
            if (string.Equals(btn.Text, "Save", StringComparison.CurrentCultureIgnoreCase))
            {
                SaveDataToPADChangeRequest(sWorkflowNumber);
                WorkflowContext.Current.UpdateWorkflowVariable("isSave", true);
                WorkflowContext.Current.UpdateWorkflowVariable("isSubmit", false);
                WorkflowContext.Current.UpdateWorkflowVariable("isFree", false);
                WorkflowContext.Current.UpdateWorkflowVariable("completeTaskT", "PAD Change Request needs to Submit");
                WorkflowContext.Current.UpdateWorkflowVariable("editUrl", "/_Layouts/CA/WorkFlows/PADChangeRequest/BatchEditForm.aspx");
                fields["Status"] = CAWorkflowStatus.InProgress;
            }
            else//submit
            {
                bool IsNeedApprove = IsNeedWorkFlowStep();//是否需要工作流审批,只要有一个记录的原始日期大于新输入的日期,则需要进入工作流审批流程,
                if (!IsNeedApprove)//不需要工作流审批流程
                {
                    bool isUpdateSucc = UpdateToSAP(sWorkflowNumber);
                   if (isUpdateSucc)
                   {
                       SaveDataToPADChangeRequest(sWorkflowNumber);
                       WorkflowContext.Current.UpdateWorkflowVariable("isSubmit", true);
                       WorkflowContext.Current.UpdateWorkflowVariable("isFree", true);
                       WorkflowContext.Current.UpdateWorkflowVariable("isSave", false);
                       fields["Status"] = CAWorkflowStatus.Completed;
                   }
                   else
                   {
                       e.Cancel = true;
                       return;
                   }
                }
                else//需要工作流审批流程
                {
                    QuickFlow.NameCollection ApproveUser = new QuickFlow.NameCollection();
                    var managerEmp = SapCommonPADChangeRequest.GetApproverByLevelPAD(this.DataForm1.Applicant);// WorkFlowUtil.GetApproverByLevelPAD(this.DataForm1.Applicant);
                    if (managerEmp == null)
                    {
                        DisplayMessage("此用户没有Level-5,Level-4级的审批用户,无法提交");
                        e.Cancel = true;
                        return;
                    }
                    ApproveUser.Add(managerEmp.UserAccount);
                    var deleman = WorkFlowUtil.GetDeleman(managerEmp.UserAccount, CA.WorkFlow.UI.Constants.CAModules.PADChangeRequest);
                    if (deleman != null)
                    {
                        ApproveUser.Add(deleman);
                    }
                    WorkflowContext.Current.UpdateWorkflowVariable("isSave", false);
                    WorkflowContext.Current.UpdateWorkflowVariable("isSubmit", true);
                    WorkflowContext.Current.UpdateWorkflowVariable("isFree", false);
                    WorkflowContext.Current.UpdateWorkflowVariable("firstApproveUser", ApproveUser);
                    WorkflowContext.Current.UpdateWorkflowVariable("ManagerApproveT", "PAD Change Request needs to Approve");
                    WorkflowContext.Current.UpdateWorkflowVariable("approveUrl", "/_Layouts/CA/WorkFlows/PADChangeRequest/BatchApproveForm.aspx");
                    fields["Status"] = CAWorkflowStatus.InProgress;
                    fields["CurrManager"] = managerEmp.UserAccount;// WorkFlowUtil.GetApproverByLevelPAD(UserProfileUtil.GetEmployeeEx(WorkFlowUtil.GetApplicantAccount(WorkflowContext.Current.DataFields["Applicant"].ToString()))).UserAccount;
                    SaveDataToPADChangeRequest(sWorkflowNumber);
                }
            }

            WorkFlowUtil.UpdateWorkflowPath(WorkflowContext.Current);
        }
Example #13
0
        void actions_ActionExecuting(object sender, QuickFlow.UI.Controls.ActionEventArgs e)
        {
            if (WorkflowContext.Current.Step.ToString() == "BSSTeam")
            {
                string strStatus = DataForm1.Status.ToString();
                if (strStatus != "Factory Assessment Failed" && strStatus != "Contract Signed & System Setup OK")
                {
                    e.Cancel = true;
                    Page.RegisterStartupScript("msg", "<script>alert('Can not confirm with selected status!')</script>");
                    ((HtmlTableRow)DataForm1.FindControl("trShow")).Style.Add("display", "");
                    ((HtmlTableRow)DataForm1.FindControl("updateList")).Style.Add("display", "");
                    return;
                }
                else
                {
                    SPListItem item = SPContext.Current.ListItem;
                    WorkflowContext.Current.DataFields["StatusList"] = item["StatusList"] + "<br>" + DataForm1.Status.ToString() + "     " + DateTime.Now.ToString("yyyy-MM-dd");
                }
            }
            WorkflowContext.Current.DataFields["Flag"] = "Approve";
            if (WorkflowContext.Current.Step == "BSSTeam" && e.Action == "Confirm")
            {
                WorkflowContext.Current.DataFields["RequestStatus"] = "Completed";
            }
            else
            {
                WorkflowContext.Current.DataFields["RequestStatus"] = "In Progress";
            }
            //SPFieldUserValueCollection col = WorkFlowUtil.GetApproversValue();
            //WorkflowContext.Current.DataFields["Approvers"] = col;
            AddWorkFlowStepApprovers(WorkflowContext.Current.Task.Step, CA.WorkFlow.UI.Constants.WorkFlowStep.SupplierCreationApprovers, CA.WorkFlow.UI.Constants.WorkFlowStep.SupplierCreationApproverLoginName);

            switch (WorkflowContext.Current.Task.Step)
            {
                case CA.WorkFlow.UI.Constants.WorkFlowStep.SupplierCreationDivisionManagerApprove:
                    QuickFlow.NameCollection DirectorUser = new QuickFlow.NameCollection();
                    Employee employee = WorkFlowUtil.GetEmployeeApproverInDept(WorkFlowUtil.GetEmployeeApproverInDept(DataForm1.Applicant, true, true), true, false);
                    if (employee != null)
                    {
                        string strhead = employee.UserAccount;
                        if (!string.IsNullOrEmpty(strhead))
                        {
                            DirectorUser.Add(strhead);
                        }
                    }
                    WorkflowContext.Current.UpdateWorkflowVariable(CA.WorkFlow.UI.Constants.WorkFlowStep.SupplierCreationBuyDirector, GetDelemanNameCollection(DirectorUser, Constants.CAModules.NewSupplierCreation));

                     QuickFlow.NameCollection HeadUser1 = new QuickFlow.NameCollection();
                    List<string> lst1 = WorkFlowUtil.UserListInGroup("wf_CommercialHead");
                    HeadUser1.AddRange(lst1.ToArray());
                    WorkflowContext.Current.UpdateWorkflowVariable(CA.WorkFlow.UI.Constants.WorkFlowStep.SupplierCreationHeader, GetDelemanNameCollection(HeadUser1, Constants.CAModules.NewSupplierCreation));

                     QuickFlow.NameCollection BBSTeamUser1 = new QuickFlow.NameCollection();
                     List<string> lst2 = WorkFlowUtil.UserListInGroup("wf_BSSTeam");
                    BBSTeamUser1.AddRange(lst2.ToArray());
                    WorkflowContext.Current.UpdateWorkflowVariable(CA.WorkFlow.UI.Constants.WorkFlowStep.SupplierCreationBBSTeamAccount, GetDelemanNameCollection(BBSTeamUser1, Constants.CAModules.NewSupplierCreation));
                    break;
                case CA.WorkFlow.UI.Constants.WorkFlowStep.SupplierCreationBuyingDirector:
                    QuickFlow.NameCollection HeadUser = new QuickFlow.NameCollection();
                    List<string> lst = WorkFlowUtil.UserListInGroup("wf_CommercialHead");
                    HeadUser.AddRange(lst.ToArray());
                    WorkflowContext.Current.UpdateWorkflowVariable(CA.WorkFlow.UI.Constants.WorkFlowStep.SupplierCreationHeader, GetDelemanNameCollection(HeadUser, Constants.CAModules.NewSupplierCreation));

                    QuickFlow.NameCollection BBSTeamUser3 = new QuickFlow.NameCollection();
                    List<string> lst3 = WorkFlowUtil.UserListInGroup("wf_BSSTeam");
                    BBSTeamUser3.AddRange(lst3.ToArray());
                    WorkflowContext.Current.UpdateWorkflowVariable(CA.WorkFlow.UI.Constants.WorkFlowStep.SupplierCreationBBSTeamAccount, GetDelemanNameCollection(BBSTeamUser3, Constants.CAModules.NewSupplierCreation));

                    break;
                case CA.WorkFlow.UI.Constants.WorkFlowStep.SupplierCreationCommercialHeader:
                    QuickFlow.NameCollection BBSTeamUser = new QuickFlow.NameCollection();
                    lst = WorkFlowUtil.UserListInGroup("wf_BSSTeam");
                    BBSTeamUser.AddRange(lst.ToArray());
                    WorkflowContext.Current.UpdateWorkflowVariable(CA.WorkFlow.UI.Constants.WorkFlowStep.SupplierCreationBBSTeamAccount, GetDelemanNameCollection(BBSTeamUser, Constants.CAModules.NewSupplierCreation));
                    break;
            }

            WorkFlowUtil.UpdateWorkflowPath(WorkflowContext.Current);
        }