public static AddMemberTransaction CreateTransaction(BizPortalSessionContext context, int functionId, Member mTarget, TransitionEventCode eventName, ref string message, ref int warningCount, bool approval) { string functionName = ""; string lange = context.CurrentLanguage.Code; using (ITransaction tx = context.PersistenceSession.BeginTransaction()) { AddMemberTransaction transactionMember = null; try { if (mTarget.IsNotFinalized) { warningCount++; message = Messages.Genaral.TransactionApproved.Format(lange); } if (warningCount == 0) { MaintenanceWorkflow fw = GetFunctionMaintenanceWorkflow(context.User, functionId); functionName = Messages.Member.AddMember.Format(lange, mTarget.MemberOrganization.CurrentName.Code); if (fw.MemberFunction == null) { warningCount++; message = Messages.Genaral.IsNotMemberFunction.Format(context.CurrentLanguage.Code); } BizPortalFunction function = fw.MemberFunction.Function; transactionMember = new AddMemberTransaction(context, fw, DateTime.Now, context.Member, mTarget); transactionMember.Transit(context, fw, functionName, eventName); transactionMember.Persist(context); tx.Commit(); if (approval) { message = String.Format("- {0} {1} {2} <br/>", functionName, Messages.Genaral.Success.Format(lange), Messages.Genaral.PendingApproval.Format(lange)); } else { message = String.Format("- {0} {1} <br/>", functionName, Messages.Genaral.Success.Format(lange)); } context.Log(functionId, 0, 0, Messages.Member.AddMember.Format(lange, ""), functionName); } } catch (Exception ex) { tx.Rollback(); warningCount++; message = ex.Message; context.Log((int)functionId, 0, 0, Messages.Member.AddMember.Format(lange, ""), functionName + ex.Message); } return(transactionMember); } }
public static void AddTransaction(BizPortalSessionContext context, int functionId, int pageId, MemberBankAccount mbaTarget, ref string message, ref int warningCount) { string functionName = ""; string accountNoTemp = mbaTarget.BankAccount.AccountNo; string lange = context.CurrentLanguage.Code; using (ITransaction tx = context.PersistenceSession.BeginTransaction()) { try { functionName = Messages.MemberBankAccount.AddMemberBankAccount.Format(lange, mbaTarget.BankAccount.AccountName, accountNoTemp); if (mbaTarget.IsNotFinalized) { warningCount++; message = Messages.Genaral.TransactionApproved.Format(lange); } if (warningCount == 0) { MaintenanceWorkflow fw = GetFunctionMaintenanceWorkflow(context.User, functionId); //functionName = Messages.MemberBankAccount.AddMemberBankAccount.Format(lange, mbaTarget.BankAccount.AccountName, accountNoTemp); if (fw.MemberFunction == null) { warningCount++; message = Messages.Genaral.IsNotMemberFunction.Format(context.CurrentLanguage.Code); } else { BizPortalFunction function = fw.MemberFunction.Function; if (mbaTarget.BankAccount.Bank.OfficialIDNo == "022") //022=CIMBT edit by kittikun { mbaTarget.BankAccount.AccountNo = "03" + accountNoTemp + "03"; } AddMemberBankAccountTransaction transactionMember = new AddMemberBankAccountTransaction(context, fw, DateTime.Now, context.Member, mbaTarget); 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, pageId, 0, ActionLog.ClientAdminFunction.AddMemberBankAccount, functionName); } } } catch (Exception e) { tx.Rollback(); warningCount++; message = functionName + Messages.Genaral.TransactionException.Format(e.Message); context.Log(functionId, pageId, 0, ActionLog.ClientAdminFunction.AddMemberBankAccount, functionName + message); } } }
/// <summary> /// ExpireUsers /// </summary> /// <param name="context">SessionContext is persist</param> /// <param name="funtionId">function BankAdminFunctionID</param> /// <param name="listId">users target</param> /// <param name="message">string ref : message</param> /// <param name="warningCount">int ref : count of warning</param> /// <param name="errorCount">int ref : count of error</param> public static void ExpireUsersNonApproval(BizPortalSessionContext context, int funtionId, List <int> listId, ref string message, ref int warningCount, ref int errorCount) { User userTarget = null; string lang = context.CurrentLanguage.Code; string functionName = ""; BizPortalFunction function = null; DateTime EffectiveDate = DateTime.Now; foreach (int userId in listId) // 1 2 3 n select { using (ITransaction tx = context.PersistenceSession.BeginTransaction()) { try { userTarget = context.PersistenceSession.Get <MemberUser>(userId); functionName = Messages.MemberUser.ExpireUser.Format(lang, userTarget.LoginName); MemberUser mem = context.PersistenceSession.Get <MemberUser>(userId); MaintenanceWorkflow workflow = GetFunctionWorkflowFormFunctionID(funtionId, context.User); if (workflow.MemberFunction != null) { function = workflow.MemberFunction.Function; } else { warningCount++; message += string.Format("- {0} <br/>", Messages.Genaral.IsNotMemberFunction.Format(lang)); } TerminateMemberUserTransaction transactionMember = new TerminateMemberUserTransaction(context, workflow, EffectiveDate, context.Member, mem); mem.Terminate(EffectiveDate); mem.Terminate(EffectiveDate); if (mem.IsNotFinalized) // if user reinstate but logon admin expire user this { mem.IsNotFinalized = false; } mem.Persist(context); transactionMember.Transit(context, workflow, functionName, TransitionEventCode.SubmitEvent); transactionMember.Persist(context); tx.Commit(); message += String.Format("- {0} {1} <br/>", functionName, Messages.Genaral.Success.Format(lang)); context.Log(funtionId, 0, 0, Messages.MemberUser.ExpireUser.Format(lang, ""), functionName); } catch (Exception ex) { tx.Rollback(); errorCount++; message += Messages.Genaral.TransactionException.Format(lang, ex.Message) + "<br/>"; context.Log((int)funtionId, 0, 0, Messages.MemberUser.ExpireUser.Format(lang, ""), functionName + Messages.Genaral.TransactionException.Format(lang, ex.Message)); } } } }
public static void AddMemberUser(BizPortalSessionContext context, Member member, IList <MemberUser> memberUsers, int funtionId, int pageID, string action, ref string message, ref int warningCount, ref int errorCount) { string lang = context.CurrentLanguage.Code; string functionName = ""; IList <MemberUser> newUsers = memberUsers; foreach (MemberUser memberUser in newUsers) { using (ITransaction tx = context.PersistenceSession.BeginTransaction()) { try { #region Validation Zone // 1. ตรวจสอบว่ามีสิทธิ์ใช้งานฟังก์ชัน ///////////////////////////////////////////////////// MaintenanceWorkflow addMemberUserWorkflow = GetFunctionMaintenanceWorkflow(context.User, funtionId); if (null == addMemberUserWorkflow || addMemberUserWorkflow.MemberFunction == null) { warningCount++; message += Messages.Genaral.IsNotAddMemberUser.Format(lang); } #endregion Validation Zone #region Create Transaction Zone if (warningCount == 0) { BizPortalFunction function = addMemberUserWorkflow.MemberFunction.Function; functionName = Messages.MemberUser.AddMemberUser.Format(lang, memberUser.LoginName); memberUser.Member = member; AddMemberUserTransaction mainTransaction = new AddMemberUserTransaction(context, addMemberUserWorkflow, DateTime.Now, member, memberUser); mainTransaction.Transit(context, addMemberUserWorkflow, RemarkTransaction.AddMemberUser(memberUser), TransitionEventCode.SubmitEvent); mainTransaction.Persist(context); tx.Commit(); message += String.Format("- {0} {1} {2}", functionName, Messages.Genaral.Success.Format(lang), Messages.Genaral.PendingApproval.Format(lang)); context.Log(funtionId, pageID, 0, action, functionName); } #endregion Create Transaction Zone } catch (Exception ex) { #region Exception Zone tx.Rollback(); warningCount++; context.PersistenceSession.Clear(); context.Log(funtionId, pageID, 0, action , IBankException.LogMessageProgramError(ex, ExceptionMessages.AddMemberUserTransactionError_MemberUserService.Code + '-' + functionName + message)); message = ExceptionMessages.AddMemberUserTransactionError_MemberUserService.Message; #endregion Exception Zone } } } }
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); } } }
public static void AddTransaction(BizPortalSessionContext context, int functionId, int pageId, MemberUserGroup mguTarget, 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 if (mguTarget.IsNotFinalized) { warningCount++; message = Messages.Genaral.TransactionApproved.Format(lange); } MaintenanceWorkflow fw = GetFunctionMaintenanceWorkflow(context.User, functionId); if (IsNotPermistion(fw, ref message, ref warningCount, lange)) { message = message + "<br/>"; } #endregion Validate Zone #region Create Transaction Zone if (warningCount == 0) { functionName = Messages.MemberUserGroup.AddMemberUserGroup.Format(lange, mguTarget.Title); BizPortalFunction function = fw.MemberFunction.Function; AddMemberGroupTransaction transactionMember = new AddMemberGroupTransaction (context, fw, DateTime.Now, context.Member, mguTarget); 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.AddMemberGroup, functionName); } #endregion Create Transaction Zone } catch (Exception ex) { #region Exception Zone tx.Rollback(); warningCount++; context.Log(functionId, pageId, 0, ActionLog.BankAdminFunction.AddMemberGroup , IBankException.LogMessageProgramError(ex, ExceptionMessages.AddTransactionMemberGroup_BankGroupsManagement.Code + "-" + functionName + message)); message = ExceptionMessages.AddTransactionMemberGroup_BankGroupsManagement.Message; #endregion Exception Zone } } }
/// <summary> /// DisableUsers /// </summary> /// <param name="context">SessionContext is persist</param> /// <param name="funtionId">function BankAdminFunctionID</param> /// <param name="listId">users target</param> /// <param name="message">string ref : message</param> /// <param name="warningCount">int ref : count of warning</param> /// <param name="errorCount">int ref : count of error</param> public static void DisableUsers(BizPortalSessionContext context, int funtionId, IList <int> listId, ref string message, ref int warningCount, ref int errorCount) { MemberUser userTarget = null; string lang = context.CurrentLanguage.Code; string functionName = ""; BizPortalFunction function = null; foreach (int ID in listId) // 1 2 3 n select { using (ITransaction tx = context.PersistenceSession.BeginTransaction()) { try { MemberUser mem = context.PersistenceSession.Get <MemberUser>(ID); userTarget = mem; functionName = Messages.MemberUser.DisableUser.Format(lang, userTarget.LoginName); if (userTarget.IsNotFinalized == true) { warningCount++; message += string.Format("- {0} <br/>", Messages.Genaral.UserTransactionWaitingApproved.Format(lang, functionName)); } MaintenanceWorkflow workflow = GetFunctionWorkflowFormFunctionID(funtionId, context.User); function = workflow.MemberFunction.Function; DisableUserTransaction disableUserTransaction = new DisableUserTransaction(context, workflow, DateTime.Now, context.Member, userTarget); disableUserTransaction.Transit(context, workflow, functionName, TransitionEventCode.SubmitEvent); disableUserTransaction.Persist(context); tx.Commit(); message += String.Format("- {0} {1} {2} <br/>", functionName, Messages.Genaral.Success.Format(lang), Messages.Genaral.PendingApproval.Format(lang)); context.Log(funtionId, 0, 0, Messages.MemberUser.DisableUser.Format(lang, ""), functionName); } catch { tx.Rollback(); errorCount++; context.Log((int)funtionId, 0, 0, Messages.MemberUser.DisableUser.Format(lang, ""), functionName + message); //message += Messages.Genaral.TransactionException.Format(lang, ex.Message) + "<br/>"; //context.Log((int)funtionId, 0, 0, Messages.MemberUser.DisableUser.Format(lang, ""), // functionName + Messages.Genaral.TransactionException.Format(lang, ex.Message)); } } } }
public ClientFunction(string languageCode, BizPortalFunction function, Member member) { if (languageCode == null) { throw new ArgumentNullException("languageCode"); } LanguageCode = languageCode; Function = function; Member = member; FunctionID = function.ID; FunctionTitle = function.Title.ToString(languageCode); _status = ClientFunctionStatus.Unsubscribed; //this.MemberFunction = subscribedFunction; }
/// <summary> /// DisableUsers /// </summary> /// <param name="context">SessionContext is persist</param> /// <param name="funtionId">function BankAdminFunctionID</param> /// <param name="listId">users target</param> /// <param name="message">string ref : message</param> /// <param name="warningCount">int ref : count of warning</param> /// <param name="errorCount">int ref : count of error</param> public static void DisableUsersNonApproval(BizPortalSessionContext context, int funtionId, List <int> listId, ref string message, ref int warningCount, ref int errorCount) { MemberUser userTarget = null; string lang = context.CurrentLanguage.Code; string functionName = ""; BizPortalFunction function = null; DateTime now = DateTime.Now; foreach (int ID in listId) // 1 2 3 n select { using (ITransaction tx = context.PersistenceSession.BeginTransaction()) { try { MemberUser mem = context.PersistenceSession.Get <MemberUser>(ID); userTarget = mem; functionName = Messages.MemberUser.DisableUser.Format(lang, userTarget.LoginName); MaintenanceWorkflow workflow = GetFunctionWorkflowFormFunctionID(funtionId, context.User); function = workflow.MemberFunction.Function; if (userTarget.IsNotFinalized && ((SelfAuthenticatedUser)userTarget).IsReinstated) // if user reinstate but logon admin disable user this { userTarget.IsNotFinalized = false; ((SelfAuthenticatedUser)userTarget).IsReinstated = false; userTarget.LastLoginTimestamp = now; userTarget.Persist(context); } DisableUserTransaction disableUserTransaction = new DisableUserTransaction(context, workflow, now, context.Member, userTarget); disableUserTransaction.Transit(context, workflow, functionName, TransitionEventCode.SubmitEvent); disableUserTransaction.Persist(context); tx.Commit(); message += String.Format("- {0} {1} <br/>", functionName, Messages.Genaral.Success.Format(lang)); context.Log(funtionId, 0, 0, Messages.MemberUser.DisableUser.Format(lang, ""), functionName); } catch (Exception ex) { tx.Rollback(); errorCount++; message += Messages.Genaral.TransactionException.Format(lang, ex.Message) + "<br/>"; context.Log((int)funtionId, 0, 0, Messages.MemberUser.DisableUser.Format(lang, ""), functionName + Messages.Genaral.TransactionException.Format(lang, ex.Message)); } } } }
public static void AddTransaction(BizPortalSessionContext context, int functionId, int pageId, string action, MemberBankAccount mbaTarget, ref string message, ref int warningCount) { string functionName = ""; string lange = context.CurrentLanguage.Code; using (ITransaction tx = context.PersistenceSession.BeginTransaction()) { try { if (mbaTarget.IsNotFinalized) { warningCount++; message = Messages.Genaral.TransactionApproved.Format(lange); } if (warningCount == 0) { MaintenanceWorkflow fw = GetFunctionMaintenanceWorkflow(context.User, functionId); functionName = Messages.MemberBankAccount.AddMemberBankAccount.Format(lange, mbaTarget.BankAccount.AccountName, mbaTarget.BankAccount.AccountNo); if (fw.MemberFunction == null) { warningCount++; message = Messages.Genaral.IsNotMemberFunction.Format(context.CurrentLanguage.Code); } else { BizPortalFunction function = fw.MemberFunction.Function; AddMemberBankAccountTransaction transactionMember = new AddMemberBankAccountTransaction(context, fw, DateTime.Now, context.Member, mbaTarget); 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, pageId, 0, action, functionName); //edit by itsada use action gobal } } } catch (Exception e) { tx.Rollback(); warningCount++; message = string.Format("{0}", e.Message); context.Log(functionId, pageId, 0, action, functionName + message); //edit by itsada use action gobal } } }
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 Enable(BizPortalSessionContext context, int functionId, int pageID, IList <long> listId, string action, ref string message, ref int warningCount, Member memberTarget) { string lange = context.CurrentLanguage.Code; string functionName = ""; foreach (long userId in listId) // 1 2 3 n select { using (ITransaction tx = context.PersistenceSession.BeginTransaction()) { try { #region Validation Zone MemberUser userTarget = context.PersistenceSession.Get <MemberUser>(userId); functionName = Messages.MemberUser.EnableUser.Format(lange, userTarget.LoginName); // 1. ตรวจสอบ IsNotFinalized //////////////////////////////////////////////////// if (userTarget.IsNotFinalized) { warningCount++; message += string.Format("- {0} {1}", Messages.Genaral.UserTransactionWaitingApproved.Format(lange, functionName), newLineHTML); } // 2. ตรวจสอบว่ามีตัวตนบน Active Directory ////////////////////////////////////////// if (userTarget is ActiveDirectoryUser) { IList <UserPrincipal> userPrincipal = ActiveDirectoryUser.GetADUsers(context , System.Configuration.ConfigurationManager.AppSettings["ADUser"].ToString() , System.Configuration.ConfigurationManager.AppSettings["ADPass"].ToString()); foreach (UserPrincipal adUser in userPrincipal) { if (userTarget.LoginName.Equals(adUser.SamAccountName, StringComparison.InvariantCultureIgnoreCase)) { userTarget.TempID = 1; } } if (userTarget.TempID != 1) { warningCount++; message += "- ไม่สามารถ ยกเลิกระงับการใช้งาน : " + userTarget.LoginName + " ได้ เนื่องจากไม่พบผู้ใช้งานใน Active Directory Server"; } } // 3. ตรวจสอบว่ามีสิทธิ์ใช้งานฟังก์ชัน ///////////////////////////////////////////////////// MaintenanceWorkflow workflow = GetFunctionMaintenanceWorkflow(context.User, functionId); if (workflow.MemberFunction == null) { warningCount++; message = Messages.Genaral.IsNotMemberFunction.Format(context.CurrentLanguage.Code); } #endregion Validation Zone #region Create Transaction Zone if (warningCount == 0) { BizPortalFunction function = workflow.MemberFunction.Function; EnableUserTransaction enableUserTransaction = new EnableUserTransaction(context, workflow, DateTime.Now, memberTarget, userTarget); enableUserTransaction.Transit(context, workflow, functionName, TransitionEventCode.SubmitEvent); enableUserTransaction.Persist(context); tx.Commit(); message += String.Format("- {0} {1} {2} {3}", functionName, Messages.Genaral.Success.Format(lange), Messages.Genaral.PendingApproval.Format(lange), newLineHTML); context.Log(functionId, pageID, 0, action, functionName); } #endregion Create Transaction Zone } catch (Exception ex) { #region Exception Zone tx.Rollback(); warningCount++; context.Log(functionId, pageID, 0, action , IBankException.LogMessageProgramError(ex, ExceptionMessages.EnableUserTransactionError_UserService.Code + '-' + functionName + message)); message = ExceptionMessages.EnableUserTransactionError_UserService.Message; #endregion Exception Zone } } } }
public static void Disable(BizPortalSessionContext context, int functionId, int pageID, IList <long> listId, string action, ref string message, ref int warningCount, Member memberTarget) { string lange = context.CurrentLanguage.Code; string functionName = ""; foreach (long ID in listId) // 1 2 3 n select { using (ITransaction tx = context.PersistenceSession.BeginTransaction()) { try { #region Validation Zone MemberUser userTarget = context.PersistenceSession.Get <MemberUser>(ID); functionName = Messages.MemberUser.DisableUser.Format(lange, userTarget.LoginName); // 1. ตรวจสอบ IsNotFinalized //////////////////////////////////////////////////// if (userTarget.IsNotFinalized) { warningCount++; message += string.Format("- {0} {1}", Messages.Genaral.UserTransactionWaitingApproved.Format(lange, functionName), newLineHTML); } // 2. ตรวจสอบว่ามีสิทธิ์ใช้งานฟังก์ชัน ///////////////////////////////////////////////////// MaintenanceWorkflow workflow = GetFunctionMaintenanceWorkflow(context.User, functionId); if (workflow.MemberFunction == null) { warningCount++; message += Messages.Genaral.IsNotMemberFunction.Format(context.CurrentLanguage.Code); } #endregion Validation Zone #region Create Transaction Zone if (warningCount == 0) { BizPortalFunction function = workflow.MemberFunction.Function; DisableUserTransaction disableUserTransaction = new DisableUserTransaction(context, workflow, DateTime.Now, memberTarget, userTarget); disableUserTransaction.Transit(context, workflow, functionName, TransitionEventCode.SubmitEvent); disableUserTransaction.Persist(context); tx.Commit(); message += String.Format("- {0} {1} {2} {3}", functionName, Messages.Genaral.Success.Format(lange), Messages.Genaral.PendingApproval.Format(lange), newLineHTML); context.Log(functionId, pageID, 0, action, functionName); } #endregion Create Transaction Zone } catch (Exception ex) { #region Exception Zone tx.Rollback(); warningCount++; context.Log(functionId, pageID, 0, action , IBankException.LogMessageProgramError(ex, ExceptionMessages.DisableUserTransactionError_UserService.Code + '-' + functionName + message)); message = ExceptionMessages.DisableUserTransactionError_UserService.Message; #endregion Exception Zone } } } }
//Edit v1.1 add parameter mamberTarget of transaction public static void Expire(BizPortalSessionContext context, int funtionId, int pageID, IList <long> listId, string action, ref IList <MessageRespone> message, ref int warningCount, Member memberTarget) { string lange = context.CurrentLanguage.Code; string functionName = ""; foreach (long userId in listId) // 1 2 3 n select { using (ITransaction tx = context.PersistenceSession.BeginTransaction()) { try { #region Validation Zone MemberUser mem = context.PersistenceSession.Get <MemberUser>(userId); functionName = Messages.MemberUser.ExpireUser.Format(lange, mem.LoginName); // 1. ตรวจสอบ IsNotFinalized //////////////////////////////////////////////////// if (mem.IsNotFinalized) { warningCount++; message.Add(new MessageRespone { IsSuccess = false, Message = Messages.Genaral.ExistingTransactionOfUserWaitingApproved.Format(lange, mem.LoginName), }); } // 2. ตรวจสอบว่ามีสิทธิ์ใช้งานฟังก์ชัน ///////////////////////////////////////////////////// MaintenanceWorkflow workflow = GetFunctionMaintenanceWorkflow(context.User, funtionId); if (workflow.MemberFunction == null) { warningCount++; message.Add(new MessageRespone { IsSuccess = false, Message = Messages.Genaral.IsNotMemberFunction.Format(context.CurrentLanguage.Code), }); } #endregion Validation Zone #region Create Transaction Zone if (warningCount == 0) { BizPortalFunction function = workflow.MemberFunction.Function; TerminateMemberUserTransaction transactionMember = new TerminateMemberUserTransaction(context, workflow, DateTime.Now, memberTarget, mem); transactionMember.Transit(context, workflow, functionName, TransitionEventCode.SubmitEvent); transactionMember.Persist(context); tx.Commit(); message.Add(new MessageRespone { IsSuccess = true, Message = String.Format("{0} {1} {2}", functionName, Messages.Genaral.Success.Format(lange), Messages.Genaral.PendingApproval.Format(lange)), }); context.Log(funtionId, pageID, 0, action, functionName); } #endregion Create Transaction Zone } catch (Exception ex) { #region Exception Zone tx.Rollback(); string tempMessage = ""; foreach (var item in message) { tempMessage = tempMessage + item.Message + "<br />"; } warningCount++; context.Log(funtionId, pageID, 0, action , IBankException.LogMessageProgramError(ex, ExceptionMessages.TerminateMemberUserTransactionError_MemberUserService.Code + '-' + functionName + tempMessage)); message.Add(new MessageRespone { IsSuccess = false, Message = ExceptionMessages.TerminateMemberUserTransactionError_MemberUserService.Message, }); #endregion Exception Zone } } } }