// constructor with parameters public Staff(int StaffID, string FullName, string PasswordHash, Privelege privelege) { this.StaffID = StaffID; this.FullName = FullName; this.PasswordHash = PasswordHash; this.privelege = privelege; }
/// <summary> /// Add a staff record to the database. /// </summary> /// <param name="staff">Staff object.</param> public void addStaff(IStaff staff) { // StaffID in the database is PK and AI string queryAddStaff = "INSERT INTO Staff (FullName, PasswordHash, Privelege) " + "VALUES (@name, @password, @privelege);"; using (SqlConnection conn = new SqlConnection(this.connString)) { // prepare the command SqlCommand cmd = new SqlCommand(queryAddStaff, conn); // parameterise SqlParameter nameParam = new SqlParameter(); nameParam.ParameterName = "@name"; nameParam.Value = staff.fullName; cmd.Parameters.Add(nameParam); SqlParameter passParam = new SqlParameter(); passParam.ParameterName = "@password"; passParam.Value = staff.passwordHash; cmd.Parameters.Add(passParam); SqlParameter privParam = new SqlParameter(); privParam.ParameterName = "@privelege"; Privelege privelege = staff.privelege; switch (privelege) { case Privelege.Admin: privParam.Value = "Admin"; break; case Privelege.Normal: privParam.Value = "Normal"; break; default: // this shouldn't happen throw new Exception("Invalid staff data"); } cmd.Parameters.Add(privParam); // try a connection conn.Open(); // execute the query cmd.ExecuteNonQuery(); } return; }
public static string PrivelegeToText(Privelege privelege) { switch (privelege) { case Privelege.All: return(Properties.Resources.PermissionAll); case Privelege.RedactRole: return(Properties.Resources.PermissionRedactRole); case Privelege.RedactUser: return(Properties.Resources.PermissionRedactUser); case Privelege.RedactButton: return(Properties.Resources.PermissionRedactButton); case Privelege.RedactTva: return(Properties.Resources.PermissionRedactVat); case Privelege.RedactGroupsProduct: return(Properties.Resources.PermissionRedactGroupsProduct); case Privelege.RedactSyncSettings: return(Properties.Resources.PermissionRedactSync); case Privelege.DeleteProductFromCheck: return(Properties.Resources.PermissionDeleteProductFromCheck); case Privelege.WriteOff: return(Properties.Resources.PermissionWriteOff); case Privelege.RedactStockCount: return(Properties.Resources.PermissionRedactStockCount); default: throw new ArgumentOutOfRangeException(nameof(privelege), privelege, null); } }
public bool IsPermiss(Privelege privelege) { return(Privelegies.Contains(Privelege.All) || Privelegies.Contains(privelege)); }
public static bool PermiseByPrivelege(Privelege privelege) { return(LoginedUser.Role.Privelegies.Contains(privelege) || LoginedUser.Role.Privelegies.Contains(Privelege.All)); }