private void SyncADMINSSAuthority() { using (var SSEntities = new SmartShoppingEntities()) { try { //確定系統管理者擁有全部程式的權限 string ADMIN = "ADMIN"; //系統管理者ADMIN是否存在 var ADMINqry = (from E in SSEntities.SSUsers where E.Employee_ID == ADMIN select E).FirstOrDefault(); if (ADMINqry == null) { //新增系統管理者ADMIN SSUsers NewSSUsers = new SSUsers(); NewSSUsers.Employee_ID = ADMIN; NewSSUsers.EmployeeName = "系統管理員"; NewSSUsers.Password = ADMIN; SSEntities.SSUsers.Add(NewSSUsers); //更新資料 SSEntities.SaveChanges(); } //找出全部的程式 var qryPrograms = from P in SSEntities.SSPrograms select P.Program_ID; foreach (var P in qryPrograms) { //系統管理者的使用權限是否存在 var qry = (from A in SSEntities.SSAuthority where A.Employee_ID == ADMIN && A.Program_ID == P select A).FirstOrDefault(); if (qry == null) { //新增系統管理者的使用權限 SSAuthority NewAuthority = new SSAuthority(); NewAuthority.Employee_ID = ADMIN; NewAuthority.Program_ID = P; NewAuthority.Run = true; NewAuthority.Edit = true; SSEntities.SSAuthority.Add(NewAuthority); } } //更新資料 SSEntities.SaveChanges(); } catch (Exception ex) { MessageBox.Show(ex.Message, "啟動錯誤", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
//同步全部使用者權限(系統管理者擁有全部程式的權限,其他使用者至少要有更改自己密碼的權限) private void SyncBaceSSAuthority() { using (var SSEntities = new SmartShoppingEntities()) { try { //其他使用者至少要有更改自己密碼的權限 string EmployeeID; //找出全部的使用者 var qrysUsers = from E in SSEntities.SSUsers select E.Employee_ID; foreach (var U in qrysUsers) { EmployeeID = (string)U; var qry = (from A in SSEntities.SSAuthority where A.Employee_ID == EmployeeID select A).FirstOrDefault(); if (qry == null) { var ProgramUserPassword = (SSEntities.SSPrograms.Where(i => i.ProgramName == "frmUserPassword")).FirstOrDefault(); //新增使用權限記錄 SSAuthority NewAuthority = new SSAuthority(); NewAuthority.Employee_ID = EmployeeID; NewAuthority.Program_ID = ProgramUserPassword.Program_ID; NewAuthority.Run = true; NewAuthority.Edit = true; SSEntities.SSAuthority.Add(NewAuthority); } } //更新資料 SSEntities.SaveChanges(); } catch (Exception ex) { MessageBox.Show(ex.Message, "啟動錯誤", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }