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; } } }
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; } } } } }