/// <inheritdoc /> public int CreateAblieferndeStelle(string bezeichnung, string kuerzel, List <int> tokenIdList, List <string> kontrollstelleList, string currentUserId) { if (kontrollstelleList == null) { kontrollstelleList = new List <string>(); } const string query = "INSERT INTO AblieferndeStelle (Bezeichnung, Kuerzel, Kontrollstellen, CreatedBy, ModifiedBy) OUTPUT INSERTED.AblieferndeStelleId VALUES (@p1, @p2, @p3, (SELECT EmailAddress FROM ApplicationUser WHERE ID = @p4), (SELECT EmailAddress FROM ApplicationUser WHERE ID = @p4))"; var parameterList = new List <SqlParameter> { new SqlParameter { Value = bezeichnung, ParameterName = "p1", SqlDbType = SqlDbType.VarChar }, new SqlParameter { Value = kuerzel, ParameterName = "p2", SqlDbType = SqlDbType.VarChar }, new SqlParameter { Value = string.Join(",", kontrollstelleList), ParameterName = "p3", SqlDbType = SqlDbType.VarChar }, new SqlParameter { Value = currentUserId, ParameterName = "p4", SqlDbType = SqlDbType.NVarChar } }; var result = DataAccessExtensions.CreateNewItem(connectionString, query, parameterList); var ablieferndeStelleId = Convert.ToInt32(result); if (tokenIdList == null) { return(ablieferndeStelleId); } // Alle Tokens zuordnen var queryInsertToken = GetQueryForCleanAndInsertTokens(ablieferndeStelleId, tokenIdList); DataAccessExtensions.ExecuteQuery(connectionString, queryInsertToken); return(ablieferndeStelleId); }
/// <inheritdoc /> public void UpdateAblieferndeStelle(int ablieferndeStelleId, string bezeichnung, string kuerzel, List <int> tokenIdList, List <string> kontrollstelleList, string currentUserId) { if (ablieferndeStelleId == 0) { return; } if (string.IsNullOrEmpty(bezeichnung) || string.IsNullOrEmpty(kuerzel)) { return; } if (kontrollstelleList == null) { kontrollstelleList = new List <string>(); } using (var cn = new SqlConnection(connectionString)) { cn.Open(); using (var cmd = cn.CreateCommand()) { cmd.CommandText += "UPDATE AblieferndeStelle SET Bezeichnung = @p1, Kuerzel = @p2, Kontrollstellen = @p3, ModifiedBy = (SELECT EmailAddress FROM ApplicationUser WHERE ID = @p4), ModifiedOn = sysdatetime() WHERE AblieferndeStelleId = @p5"; cmd.Parameters.Add(new SqlParameter { Value = bezeichnung, ParameterName = "p1", SqlDbType = SqlDbType.NVarChar }); cmd.Parameters.Add(new SqlParameter { Value = kuerzel, ParameterName = "p2", SqlDbType = SqlDbType.VarChar }); cmd.Parameters.Add(new SqlParameter { Value = string.Join(",", kontrollstelleList), ParameterName = "p3", SqlDbType = SqlDbType.NVarChar }); cmd.Parameters.Add(new SqlParameter { Value = currentUserId, ParameterName = "p4", SqlDbType = SqlDbType.NVarChar }); cmd.Parameters.Add(new SqlParameter { Value = ablieferndeStelleId, ParameterName = "p5", SqlDbType = SqlDbType.Int }); cmd.ExecuteNonQuery(); } } // Alle Tokens neu zuordnen var queryInsertToken = GetQueryForCleanAndInsertTokens(ablieferndeStelleId, tokenIdList); DataAccessExtensions.ExecuteQuery(connectionString, queryInsertToken); }