示例#1
0
文件: User.cs 项目: HedinRakot/KVS
        /// <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;
        }
示例#2
0
 partial void DeleteUser(User instance);
示例#3
0
 partial void UpdateUser(User instance);
示例#4
0
 partial void InsertUser(User instance);
示例#5
0
		private void detach_User(User entity)
		{
			this.SendPropertyChanging();
			entity.Contact = null;
		}
示例#6
0
		private void attach_User(User entity)
		{
			this.SendPropertyChanging();
			entity.Contact = this;
		}