/// <summary> /// Extension method. Return the unique value (as an entity) corresponding to the User user rank. /// </summary> /// <param name="userRanks">Extension method parameter.</param> /// <returns>An UserRank instance of the User value.</returns> public static UserRank User(this DbSet <UserRank> userRanks) { UserRank urUser = userRanks.SingleOrDefault(ur => ur.Rank == UserRank.User); if (urUser == null) { throw new Exception(); } return(urUser); }
/// <summary> /// Extension method. Return the unique value (as an entity) corresponding to the Administrator user rank. /// </summary> /// <param name="userRanks">Extension method parameter.</param> /// <returns>An UserRank instance of the Administrator value.</returns> public static UserRank Administrator(this DbSet <UserRank> userRanks) { UserRank urAdministrator = userRanks.SingleOrDefault(ur => ur.Rank == UserRank.Administrator); if (urAdministrator == null) { throw new Exception(); } return(urAdministrator); }
/// <summary> /// Add a new user to the database. Doesn't check if a user already exists with the same login. /// </summary> /// <param name="grantedUsers">Self-instance (extension method).</param> /// <param name="login">New user's login</param> /// <param name="password">New user's password</param> /// <param name="badgeNumber">New user's badge number</param> /// <param name="userRank">New user's rank</param> /// <returns>Just created/inserted GrantedUser instance.</returns> public static GrantedUser AddNewUser(this DbSet <GrantedUser> grantedUsers, string login, string password, string badgeNumber, UserRank userRank, string firstname, string lastname) { var newUser = new GrantedUser { Login = login, Password = PasswordHashing.Sha256Of(password), BadgeNumber = badgeNumber, UserRank = userRank, FirstName = firstname, LastName = lastname }; return(grantedUsers.Add(newUser)); }