Exemplo n.º 1
0
        public static void TerminateTransaction(BizPortalSessionContext context, int functionId, int pageId, UserGroupUser uguTarget, ref string message, ref int warningCount)
        {
            string functionName = "";
            string lange        = context.CurrentLanguage.Code;

            using (ITransaction tx = context.PersistenceSession.BeginTransaction())
            {
                try
                {
                    if (uguTarget.IsNotFinalized)
                    {
                        warningCount++;
                        message = Messages.Genaral.TransactionApproved.Format(lange);
                    }
                    if (warningCount == 0)
                    {
                        MaintenanceWorkflow fw = GetFunctionMaintenanceWorkflow(context.User, functionId);
                        functionName = Messages.UserGroupUser.TerminateUserGroupUser.Format(lange, uguTarget.User.LoginName, uguTarget.Group.Title);
                        if (fw.MemberFunction == null)
                        {
                            warningCount++;
                            message = Messages.Genaral.IsNotMemberFunction.Format(context.CurrentLanguage.Code);
                        }
                        BizPortalFunction function = fw.MemberFunction.Function;
                        TerminateMemberGroupUserTransaction transactionMember = new TerminateMemberGroupUserTransaction(context, fw, DateTime.Now, context.Member, uguTarget);
                        transactionMember.Transit(context, fw, functionName, TransitionEventCode.SubmitEvent);
                        transactionMember.Persist(context);
                        tx.Commit();

                        message = String.Format("{0} <br/>", Messages.Genaral.TransactionSubmitedForPendingApproval.Format(lange, functionName));
                        context.Log(functionId, pageId, 0, ActionLog.BankAdminFunction.TerminateMemberGroupUser, functionName);
                    }
                }
                catch (Exception ex)
                {
                    tx.Rollback();
                    warningCount++;
                    context.Log((int)functionId, pageId, 0, ActionLog.BankAdminFunction.TerminateMemberGroupUser
                                , IBankException.LogMessageProgramError(ex, ExceptionMessages.TerminateTransactionUserGroupUserError_Role.Code + '-' + functionName + message));
                    message = ExceptionMessages.TerminateTransactionUserGroupUserError_Role.Message;
                }
            }
        }
Exemplo n.º 2
0
        public static void ReLayoutByWorkflowOutstandingTransaction(BizPortalSessionContext context, MaintenanceWorkflowOutstandingTransaction wat)
        {
            bool addMaintenanceWorkflow = wat.Transaction is AddMaintenanceWorkflowTransaction;
            bool terMaintenanceWorkflow = wat.Transaction is TerminateMaintenanceWorkflowTransaction;
            bool addGroupUser           = wat.Transaction is AddMemberGroupUserTransaction;
            bool terGroupUser           = wat.Transaction is TerminateMemberGroupUserTransaction;
            //1.2A
            bool addServiceWorkflow = wat.Transaction is AddServiceWorkflowTransaction;
            bool terServiceWorkflow = wat.Transaction is TerminateServiceWorkflowTransaction;

            if (addGroupUser)
            {
                AddMemberGroupUserTransaction addMemberGroupUserTransaction = ((AddMemberGroupUserTransaction)wat.Transaction);
                if (addMemberGroupUserTransaction.Target.User.Personalizations.Any())
                {
                    addMemberGroupUserTransaction.Target.User.Personalizations.LastOrDefault().PageID = 1;
                }
            }
            else if (terGroupUser)
            {
                TerminateMemberGroupUserTransaction terMemberGroupUserTransaction = ((TerminateMemberGroupUserTransaction)wat.Transaction);
                if (terMemberGroupUserTransaction.Target.User.Personalizations.Any())
                {
                    terMemberGroupUserTransaction.Target.User.Personalizations.LastOrDefault().PageID = 1;
                }
            }
            else if (addMaintenanceWorkflow)
            {
                AddMaintenanceWorkflowTransaction addMaintenanceWorkflowTransaction = ((AddMaintenanceWorkflowTransaction)wat.Transaction);
                //foreach (MemberUserGroup mug in FunctionWorkflowService.GetMemberUserGroup((MaintenanceWorkflow)addFunctionWorkflowTransaction.Target))
                foreach (MemberUserGroup mug in FunctionWorkflowService.GetMemberUserGroup(addMaintenanceWorkflowTransaction.Target))
                {
                    foreach (UserGroupUser ugu in mug.GetEffectiveUsers(context))
                    {
                        if (ugu.User.Personalizations.Any())
                        {
                            ugu.User.Personalizations.LastOrDefault().PageID = 1;
                        }
                    }
                }
            }
            else if (terMaintenanceWorkflow)
            {
                TerminateMaintenanceWorkflowTransaction terMaintenanceWorkflowTransaction = ((TerminateMaintenanceWorkflowTransaction)wat.Transaction);
                foreach (MemberUserGroup mug in FunctionWorkflowService.GetMemberUserGroup(terMaintenanceWorkflowTransaction.Target))
                {
                    foreach (UserGroupUser ugu in mug.GetEffectiveUsers(context))
                    {
                        if (ugu.User.Personalizations.Any())
                        {
                            ugu.User.Personalizations.LastOrDefault().PageID = 1;
                        }
                    }
                }
            }
            //1.2A by kittikun 2014-08-31
            else if (addServiceWorkflow)
            {
                AddServiceWorkflowTransaction addServiceWorkflowTransaction = ((AddServiceWorkflowTransaction)wat.Transaction);
                foreach (MemberUserGroup mug in FunctionWorkflowService.GetMemberUserGroup(addServiceWorkflowTransaction.Target))
                {
                    foreach (UserGroupUser ugu in mug.GetEffectiveUsers(context))
                    {
                        if (ugu.User.Personalizations.Any())
                        {
                            ugu.User.Personalizations.LastOrDefault().PageID = 1;
                        }
                    }
                }
            }
            else if (terServiceWorkflow)
            {
                TerminateServiceWorkflowTransaction terServiceWorkflowTransaction = ((TerminateServiceWorkflowTransaction)wat.Transaction);
                foreach (MemberUserGroup mug in FunctionWorkflowService.GetMemberUserGroup(terServiceWorkflowTransaction.Target))
                {
                    foreach (UserGroupUser ugu in mug.GetEffectiveUsers(context))
                    {
                        if (ugu.User.Personalizations.Any())
                        {
                            ugu.User.Personalizations.LastOrDefault().PageID = 1;
                        }
                    }
                }
            }
        }