예제 #1
0
        public static void AddTransactionClient(BizPortalSessionContext context, Member member, int functionId, UserGroupUser uguTarget, User u, 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 (IsExisting(uguTarget.Group.GroupUsers, u, ref message))
                    {
                        warningCount++;
                    }
                    if (warningCount == 0)
                    {
                        MaintenanceWorkflow fw = GetFunctionMaintenanceWorkflow(context.User, functionId);
                        functionName = Messages.UserGroupUser.AddUserGroupUser.Format(lange, uguTarget.User.LoginName, uguTarget.Group.Title);
                        if (fw.MemberFunction == null)
                        {
                            warningCount++;
                            message = Messages.Genaral.IsNotMemberFunction.Format(context.CurrentLanguage.Code);
                        }
                        else
                        {
                            BizPortalFunction             function          = fw.MemberFunction.Function;
                            AddMemberGroupUserTransaction transactionMember = new AddMemberGroupUserTransaction(context, fw, DateTime.Now, member, uguTarget);
                            transactionMember.Transit(context, fw, functionName, TransitionEventCode.SubmitEvent);
                            transactionMember.Persist(context);
                            tx.Commit();

                            message = String.Format("- {0} {1} {2} <br/>",
                                                    functionName,
                                                    Messages.Genaral.Success.Format(lange),
                                                    Messages.Genaral.PendingApproval.Format(lange));
                            context.Log(functionId, 0, 0, ActionLog.BankAdminFunction.AddMemberGroupUser, functionName);
                        }
                    }
                }
                catch (Exception)
                {
                    tx.Rollback();
                    warningCount++;
                    context.Log((int)functionId, 0, 0, ActionLog.BankAdminFunction.AddMemberGroupUser, functionName + message);
                    //context.Log((int)functionId, 0, 0, Messages.UserGroupUser.AddUserGroupUser.Format(lange, "", ""),
                    //        functionName + message);
                }
            }
        }
예제 #2
0
        public static void AddTransaction(BizPortalSessionContext context, int functionId, int pageId, UserGroupUser uguTarget, User u, ref string message, ref int warningCount)
        {
            string functionName = "";
            string lange        = context.CurrentLanguage.Code;

            using (ITransaction tx = context.PersistenceSession.BeginTransaction())
            {
                try
                {
                    if (IsExisting(uguTarget.Group.GroupUsers, u, ref message))
                    {
                        warningCount++;
                    }
                    if (warningCount == 0)
                    {
                        MaintenanceWorkflow fw = GetFunctionMaintenanceWorkflow(context.User, functionId);
                        functionName = Messages.UserGroupUser.AddUserGroupUser.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;
                        AddMemberGroupUserTransaction transactionMember = new AddMemberGroupUserTransaction(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.AddMemberGroupUser, functionName);
                    }
                }
                catch (Exception ex)
                {
                    tx.Rollback();
                    warningCount++;
                    context.Log((int)functionId, pageId, 0, ActionLog.BankAdminFunction.AddMemberGroupUser
                                , IBankException.LogMessageProgramError(ex, ExceptionMessages.AddTransactionUserGroupUserError_Role.Code + "-" + functionName + message));
                    message = ExceptionMessages.AddTransactionUserGroupUserError_Role.Message;
                }
            }
        }
예제 #3
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;
                        }
                    }
                }
            }
        }