void ProcessData3() { string UserID = txtUsername.Text; using (WaitDialogForm dlg = new WaitDialogForm("Please Wait", "Performing Operation")) { using (TaxSmartDataContext context = new TaxSmartDataContext()) { TblUsers user = null; #region Process User Record if (!boolIsUpdate) { user = new TblUsers(); user.UserID = UserID; } else { user = context.TblUsers.GetByKey(UserID); } user.Password = Encryption.Encrypt(txtPassword.Text); user.Surname = txtSurname.Text; user.Othernames = txtOthernames.Text; user.UserCode = Common.GetComboBoxValue(cbUserType, true); #endregion // Get Selected Application Type string value = checkedComboBoxEdit1.EditValue as String; string[] valueList = value.Split(',').Select(p => p.Trim()).ToArray(); List <AppAccessDisplay> Dt = gridControl1.DataSource as List <AppAccessDisplay>; if (Dt != null && Dt.Count > 0) { if (!boolIsUpdate) { #region Process user Application List <TblUsersApplication> userAppList = new List <TblUsersApplication>(); foreach (var AppCode in valueList) { TblUsersApplication userApp = new TblUsersApplication(); userApp.ApplicationCode = AppCode; //ProcessNewUserApplication(Dt, AppCode, userApp); #region Process user Application Modules Access List <TblUserApplicationModulesAccess> userAppAccessList = new List <TblUserApplicationModulesAccess>(); foreach (var item in Dt.Where(p => p.Entity.ApplicationCode == AppCode)) { string UserRightList = item.AccessRight; if (!String.IsNullOrEmpty(UserRightList)) { TblUserApplicationModulesAccess userAppAccess = new TblUserApplicationModulesAccess(); userAppAccess.ModulesCode = item.Entity.ModulesCode; userAppAccess.ModuleAccessCode = item.Entity.ModuleAccessCode; #region Process User Application Rights string[] UserRight = UserRightList.Split(','); if (UserRight != null && UserRight.Count() > 0 && !string.Equals(UserRight, null)) { foreach (string obj in UserRight) { if (String.IsNullOrEmpty(obj)) { continue; } int UserRightID = Convert.ToInt32(obj); userAppAccess.TblUsersRightList .Add(new TblUsersRight { ApplicationRghtID = UserRightID }); } } #endregion userAppAccessList.Add(userAppAccess); } } userApp.TblUserApplicationModulesAccessList.AddRange(userAppAccessList); #endregion userAppList.Add(userApp); } user.TblUsersApplicationList.AddRange(userAppList); #endregion } else { List <TblUsersApplication> userAppList = new List <TblUsersApplication>(); foreach (var AppCode in valueList) { bool isInsert = false; var userApp = context.TblUsersApplication.ByApplicationCode(AppCode).FirstOrDefault(); if (userApp == null) // Insert New Record { userApp = new TblUsersApplication(); userApp.ApplicationCode = AppCode; isInsert = true; } } } } else { Common.setMessageBox("No Application Access Right is selected", Program.ApplicationName, 3); return; } if (!boolIsUpdate) { context.TblUsers.InsertOnSubmit(user); } context.SubmitChanges(); if (!boolIsUpdate) { Common.setMessageBox("User Access Right Successfully created", Program.ApplicationName, 1); } else { Common.setMessageBox("User Access Right Successfully updated", Program.ApplicationName, 1); } tsbReload.PerformClick(); } } }
void ProcessData2() { string UserID = txtUsername.Text; string ApplicationCode = Common.GetComboBoxValue(cbApplication, true); using (WaitDialogForm dlg = new WaitDialogForm("Please Wait", "Performing Operation")) { using (TaxSmartDataContext context = new TaxSmartDataContext()) { TblUsers user = null; TblUsersApplication userApp = null; #region Process User Record and user Application if (!boolIsUpdate) { user = new TblUsers(); user.UserID = UserID; userApp = new TblUsersApplication(); userApp.ApplicationCode = ApplicationCode; context.TblUsersApplication.InsertOnSubmit(userApp); user.TblUsersApplicationList.Add(userApp); } else { user = context.TblUsers.GetByKey(UserID); } user.Password = Encryption.Encrypt(txtPassword.Text); user.Surname = txtSurname.Text; user.Othernames = txtOthernames.Text; user.UserCode = Common.GetComboBoxValue(cbUserType, true); #endregion List <AppAccessDisplay> Dt = gridControl1.DataSource as List <AppAccessDisplay>; if (Dt != null && Dt.Count > 0) { if (!boolIsUpdate) { #region Process user Application Modules Access List <TblUserApplicationModulesAccess> userAppAccessList = new List <TblUserApplicationModulesAccess>(); foreach (var item in Dt) { string UserRightList = item.AccessRight; if (!String.IsNullOrEmpty(UserRightList)) { TblUserApplicationModulesAccess userAppAccess = new TblUserApplicationModulesAccess(); userAppAccess.ModulesCode = item.Entity.ModulesCode; userAppAccess.ModuleAccessCode = item.Entity.ModuleAccessCode; #region Process User Application Rights string[] UserRight = UserRightList.Split(','); if (UserRight != null && UserRight.Count() > 0 && !string.Equals(UserRight, null)) { foreach (string obj in UserRight) { if (String.IsNullOrEmpty(obj)) { continue; } int UserRightID = Convert.ToInt32(obj); userAppAccess.TblUsersRightList .Add(new TblUsersRight { ApplicationRghtID = UserRightID }); } } #endregion userAppAccessList.Add(userAppAccess); } } userApp.TblUserApplicationModulesAccessList.AddRange(userAppAccessList); #endregion } } context.SubmitChanges(); Common.setMessageBox("User Access Right Successfully created", Program.ApplicationName, 1); tsbReload.PerformClick(); } } }