private void bntCreateUser_Click(object sender, EventArgs e) { User user = new User(); user.accountName = txtAccountName.Text; System.Text.ASCIIEncoding enc = new ASCIIEncoding(); user.password = enc.GetBytes(txtPassword.Text); UserManager.CreateUser(user); Close(); }
/// <summary> /// Speichert die Änderungen des Benutzers in der DB /// </summary> /// <param name="user"> /// geändertes Benutzerobjekt /// </param> /// <returns> /// Gibt das gespeicherte Userobjekt wieder /// </returns> public static User UpdateUser(User user) { using (SqlTransaction transaction = ConnectionManager.GetOpenConnection().BeginTransaction()) { //Zugriffssicht auf díe Datenbank deklarieren und instanzieren UserDal userDal = new UserDal(); //Aufruf der Benutzerändernmethode User useredit = userDal.UpdateUser(user, transaction); //Transaktion speichern transaction.Commit(); //Zurückgeben des geänderten Benutzers return useredit; } }
/// <summary> /// Erstellt einen Benutzer in der DB /// </summary> /// <param name="user"> /// Benutzerobjekt /// </param> public static void CreateUser(User user) { using (SqlTransaction transaction = ConnectionManager.GetOpenConnection().BeginTransaction()) { // Erstellen einer GUID user.userID = Guid.NewGuid(); //Zugriffssicht auf díe Datenbank deklarieren und instanzieren UserDal userDal = new UserDal(); //Aufruf der Benutzererstellenmethode userDal.CreateUser(user, transaction); //Transaktion speichern transaction.Commit(); } }
/// <summary> /// Erstellt den Benutzer in der DB /// </summary> /// <param name="user"> /// Der zuspeichernde Benutzer /// </param> /// <param name="transaction"> /// Sicherung der SQL-Interaktion /// </param> /// <returns> /// Gibt in Byte wieder ob Benutzer in DB erfolgreich gespeichert wurde /// </returns> public byte[] CreateUser(User user, SqlTransaction transaction) { //Erstellen und Instanzieren des SQLkommandos using (SqlCommand sqlcmd = new SqlCommand(createUserMethod, transaction.Connection, transaction)) { //Sqlkommandotyp auf Gespeicherte Prozedur setzen sqlcmd.CommandType = CommandType.StoredProcedure; //SQL-Parameter zum SQLkommando hinzufügen sqlcmd.Parameters.Add("@userId", SqlDbType.UniqueIdentifier).Value = user.userID; sqlcmd.Parameters.Add("@password", SqlDbType.Binary, user.password.Length).Value = user.password; sqlcmd.Parameters.Add("@accountName", SqlDbType.NVarChar, user.accountName.Length).Value = user.accountName; //Ausführen des SQLkommandos byte[] result = (byte[])sqlcmd.ExecuteScalar(); return result; } }
/// <summary> /// Holt die Benutzer anhand der userID aus der DB /// </summary> /// <param name="friendsId"> /// Die FriendId des befreundeten Benutzers /// </param> /// <param name="transaction"> /// Sicherung der SQL-Interaktion /// </param> /// <returns> /// Einen Benutzer mit allen Benutzerinfos /// </returns> public User GetUserByUserId(Guid? friendsId, SqlTransaction transaction) { //Erstellen und Instanzieren des SQLkommandos using (SqlCommand sqlcmd = new SqlCommand(readUserByIdMethod, transaction.Connection, transaction)) { //Sqlkommandotyp auf Gespeicherte Prozedur setzen sqlcmd.CommandType = CommandType.StoredProcedure; //SQL-Parameter zum SQLkommando hinzufügen sqlcmd.Parameters.Add("@userId", SqlDbType.UniqueIdentifier).Value = friendsId; // Ausführen des SQLkommandos und Speichern des Ergebnis in den Dataadapter using (SqlDataAdapter dataApdater = new SqlDataAdapter(sqlcmd)) { // Dekalarieren der Datentabelle DataTable userTable = new DataTable(); // Füllen der Datentabelle mit den Werten aus dem Dataadapter dataApdater.Fill(userTable); // Deklararieren des Benutzers User user = new User(); // Durchgehen der Datentabellenreihen foreach (DataRow dr in userTable.Rows) { // Bauen des Benutzerobjekts user.userID = dr["userId"] as Guid?; user.aliasName = dr["aliasName"] as string; user.accountName = dr["accountName"] as string; user.accountState = dr["accountState"] as string; user.picture = dr["picture"] as byte[]; user.password = dr["password"] as byte[]; } // Rückgabe des Benutzerobjekts return user; } } }
/// <summary> /// Löscht den Benutzer aus der DB /// </summary> /// <param name="user"> /// Der zulöschende Benutzer /// </param> /// <param name="transaction"> /// Sicherung der SQL-Interaktion /// </param> public void DeleteUser(User user, SqlTransaction transaction) { //Erstellen und Instanzieren des SQLkommandos using (SqlCommand sqlcmd = new SqlCommand(deleteUserMethod, transaction.Connection, transaction)) { //Sqlkommandotyp auf Gespeicherte Prozedur setzen sqlcmd.CommandType = CommandType.StoredProcedure; //SQL-Parameter zum SQLkommando hinzufügen sqlcmd.Parameters.Add("@accountName", SqlDbType.NVarChar, user.accountName.Length).Value = user.accountName; //Ausführen des SQLkommandos sqlcmd.ExecuteScalar(); } }
/// <summary> /// Speichert die Änderungen an dem User in der DB /// </summary> /// <param name="user"> /// Der zuändernde Benutzer /// </param> /// <param name="transaction"> /// Sicherung der SQL-Interaktion /// </param> /// <returns> /// Gibt den geänderten Benutzer aus der DB wieder /// </returns> public User UpdateUser(User user, SqlTransaction transaction) { //Erstellen und Instanzieren des SQLkommandos using (SqlCommand sqlcmd = new SqlCommand(createUserMethod, transaction.Connection, transaction)) { //Sqlkommandotyp auf Gespeicherte Prozedur setzen sqlcmd.CommandType = CommandType.StoredProcedure; //SQL-Parameter zum SQLkommando hinzufügen sqlcmd.Parameters.Add("@userId", SqlDbType.UniqueIdentifier).Value = user.userID; sqlcmd.Parameters.Add("@password", SqlDbType.Binary, user.password.Length).Value = user.password; sqlcmd.Parameters.Add("@accountName", SqlDbType.NVarChar, user.accountName.Length).Value = user.accountName; sqlcmd.Parameters.Add("@aliasName", SqlDbType.NVarChar, user.aliasName.Length).Value = user.aliasName; sqlcmd.Parameters.Add("@accountState", SqlDbType.NVarChar, user.accountName.Length).Value = user.accountState; sqlcmd.Parameters.Add("@picture", SqlDbType.Binary, user.picture.Length).Value = user.picture; sqlcmd.Parameters.Add("@ExpierencePionts", SqlDbType.Int).Value = user.expierencePoints; //Ausführen des SQLkommandos sqlcmd.ExecuteScalar(); // Rückgabe des geänderten Benutzers return user; } }
public FRMRelationshipCreate() { InitializeComponent(); user = UserManager.GetUserByAccountName("Test"); }
/// <summary> /// Löscht den Benutzer in der Datenbank /// </summary> /// <param name="user"> /// Das zulöschende Benutzerobject /// </param> public static void DeleteUser(User user) { using (SqlTransaction transaction = ConnectionManager.GetOpenConnection().BeginTransaction()) { //Zugriffssicht auf díe Datenbank deklarieren und instanzieren UserDal userDal = new UserDal(); //Aufruf der Benutzerlöschenmethode List<Relationship> friendlist = RelationshipManager.GetRelationships(user.userID.Value); foreach (Relationship friend in friendlist) { RelationshipManager.DeleteRelationship(friend); } userDal.DeleteUser(user, transaction); //Transaktion speichern transaction.Commit(); } }