public async Task CreateAsync(ExternalApplication externalApplication) { using (var connection = new SqlConnection(_identityOptions.ConnectionString)) { try { using (var command = new SqlCommand(_createSql, connection)) { command.Parameters.Add(new SqlParameter("@Active", externalApplication.Active)); command.Parameters.Add(new SqlParameter("@ActiveUntil", externalApplication.ActiveUntil)); command.Parameters.Add(new SqlParameter("@Created", externalApplication.Created)); command.Parameters.Add(new SqlParameter("@ExternalApplicationId", externalApplication.ExternalApplicationId)); command.Parameters.Add(new SqlParameter("@Name", externalApplication.Name)); command.Parameters.Add(new SqlParameter("@ApplicationKey", externalApplication.ApplicationKey)); connection.Open(); externalApplication.Id = (int)await command.ExecuteScalarAsync(); } } catch (SqlException ex) { if (ex.Number == 2601 || ex.Number == 2627) { throw new ExternalApplicationAlreadyExistException($"External application {externalApplication.Name} already exist", ex); } throw; } } }
public async Task UpdateAsync(ExternalApplication externalApplication) { using (var connection = new SqlConnection(_identityOptions.ConnectionString)) using (var command = new SqlCommand(_updateSql, connection)) { command.Parameters.Add(new SqlParameter("@Active", externalApplication.Active)); command.Parameters.Add(new SqlParameter("@ActiveUntil", externalApplication.ActiveUntil)); command.Parameters.Add(new SqlParameter("@ExternalApplicationId", externalApplication.ExternalApplicationId)); command.Parameters.Add(new SqlParameter("@Name", externalApplication.Name)); command.Parameters.Add(new SqlParameter("@ApplicationKey", externalApplication.ApplicationKey)); connection.Open(); await command.ExecuteNonQueryAsync(); } }
public Task DeleteAsync(ExternalApplication externalApplication) { throw new NotImplementedException(); }