/// <summary> /// Legt einen Benutzer mit den angebenen Daten an. /// </summary> /// <param name="login">Login des Benutzers.</param> /// <param name="password">Passwort des Benutzers.</param> /// <param name="name">Nachname des Benutzers.</param> /// <param name="firstname">Vorname des Benutzers.</param> /// <param name="title">Anrede des Benutzers.</param> /// <param name="dbContext">Datenbankkontext, mit dem die Transaktion durchgefuehrt werden soll.</param> /// <returns>Den neu erstellten Benutzer.</returns> /// <exception cref="ArgumentNullException"></exception> /// <exception cref="ArgumentException"></exception> public static User CreateUser(string login, string password, string name, string firstname, string title, DataClasses1DataContext dbContext) { if (string.IsNullOrEmpty(login)) { throw new ArgumentNullException("Der Benutzername darf nicht leer sein."); } if (login.Length < 3) { throw new ArgumentException("Der Benutzername muss mindestens 3 Zeichen lang sein."); } CheckPassword(password); if (string.IsNullOrEmpty(name)) { throw new ArgumentNullException("Der Name darf nicht leer sein."); } // Salt und Passwort-Hash berechnen. SaltedHash sh = new SaltedHash(); string passwordHash = string.Empty; string salt = string.Empty; sh.GetHashAndSaltString(password, out passwordHash, out salt); var user = new User() { LogDBContext = dbContext, Login = login, Password = passwordHash, Salt = salt, IsLocked = false, Person = new Person() { LogDBContext = dbContext, FirstName = firstname, Name = name, Title = title } }; dbContext.User.InsertOnSubmit(user); dbContext.SubmitChanges(); dbContext.WriteLogItem("Benutzer " + login + " wurde angelegt.", LogTypes.INSERT, user.Id, "User", user.PersonId); return user; }
partial void DeleteUser(User instance);
partial void UpdateUser(User instance);
partial void InsertUser(User instance);
private void detach_User(User entity) { this.SendPropertyChanging(); entity.Contact = null; }
private void attach_User(User entity) { this.SendPropertyChanging(); entity.Contact = this; }