private static async Task DeleteRecipientsAsync(Message message, MySqlConnection sqlConnection) { foreach (var recipient in message.Recipients) { await sqlConnection.DeleteAsync(recipient); } }
public async Task DeleteRecipientAsync(Recipient recipient) { if (recipient == null) throw new ArgumentNullException(nameof(recipient)); using (var sqlConnection = new MySqlConnection(_connectionString)) { sqlConnection.Open(); await sqlConnection.DeleteAsync(recipient); } }
public async Task DeleteAsync(Message message) { if (message.AccountId > 0) throw new InvalidOperationException(string.Format("Use DeleteAsync(account, message)")); var filename = Path.Combine(_dataDirectory, message.Filename); using (var sqlConnection = new MySqlConnection(_connectionString)) { sqlConnection.Open(); await sqlConnection.DeleteAsync(message); await DeleteRecipientsAsync(message, sqlConnection); } File.Delete(filename); }
public async Task DeleteAsync(Account account, Message message) { if (account == null) throw new ArgumentNullException(nameof(account)); if (message == null) throw new ArgumentNullException(nameof(message)); var filename = GetMessageFullFileName(account, message); using (var sqlConnection = new MySqlConnection(_connectionString)) { sqlConnection.Open(); await sqlConnection.DeleteAsync(message); await DeleteRecipientsAsync(message, sqlConnection); } File.Delete(filename); }