public static void TerminateTransaction(BizPortalSessionContext context, int functionId, int pageId, MaintenanceWorkflow fwfTarget, MemberUserGroup mugTarget, ref string message, ref int warningCount, bool approval) { string functionName = ""; string lange = context.CurrentLanguage.Code; using (ITransaction tx = context.PersistenceSession.BeginTransaction()) { try { #region Validate Zone MaintenanceWorkflow fw = GetFunctionMaintenanceWorkflow(context.User, functionId); if (OpenTransactionsUsingWorkflow(fwfTarget.GetNumberOfOpenTransactions(context), ref message, ref warningCount, lange)) { message = message + "<br/>"; } if (fwfTarget.IsNotFinalized) { warningCount++; message = String.Format("- {0}<br/>", Messages.Genaral.TransactionPendingApproval.Format(lange, Messages.FunctionWorkFlow.TerminateFunctionWorkFlow.Format(lange, fwfTarget.MemberFunction.Function.Title, mugTarget.Title))); } if (IsNotPermistion(fw, ref message, ref warningCount, lange)) { message = message + "<br/>"; } #endregion Validate Zone #region Create Transaction Zone if (warningCount == 0) { functionName = Messages.FunctionWorkFlow.TerminateFunctionWorkFlow.Format(lange, fwfTarget.MemberFunction.Function.Title, mugTarget.Title); TerminateMaintenanceWorkflowTransaction transactionMember = new TerminateMaintenanceWorkflowTransaction(context, fw, DateTime.Now, context.Member, fwfTarget); 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.TerminateFunctionWorkflow, functionName); } #endregion Create Transaction Zone } catch (Exception ex) { #region Exception Zone tx.Rollback(); warningCount++; context.Log(functionId, pageId, 0, ActionLog.BankAdminFunction.TerminateFunctionWorkflow , IBankException.LogMessageProgramError(ex, ExceptionMessages.TerminateTransactionMaintenanceWorkflow_BankGroupsManagement.Code + '-' + functionName + message)); message = ExceptionMessages.TerminateTransactionMaintenanceWorkflow_BankGroupsManagement.Message; #endregion Exception Zone } } }
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; } } } } }