public Task <IContactAccount> DeleteContactAccountAsync(int accountingNumber, string accountNumber) { NullGuard.NotNullOrWhiteSpace(accountNumber, nameof(accountNumber)); return(ExecuteAsync(async() => { using ContactAccountModelHandler contactAccountModelHandler = new ContactAccountModelHandler(DbContext, AccountingModelConverter.Create(), _eventPublisher, DateTime.Today, true); return await contactAccountModelHandler.DeleteAsync(new Tuple <int, string>(accountingNumber, accountNumber), new AccountingIdentificationState(accountingNumber)); }, MethodBase.GetCurrentMethod())); }
public Task <IContactAccount> UpdateContactAccountAsync(IContactAccount contactAccount) { NullGuard.NotNull(contactAccount, nameof(contactAccount)); return(ExecuteAsync(async() => { using ContactAccountModelHandler contactAccountModelHandler = new ContactAccountModelHandler(DbContext, AccountingModelConverter.Create(), _eventPublisher, DateTime.Today, true); return await contactAccountModelHandler.UpdateAsync(contactAccount, new AccountingIdentificationState(contactAccount.Accounting.Number)); }, MethodBase.GetCurrentMethod())); }
public Task <bool> ContactAccountExistsAsync(int accountingNumber, string accountNumber) { NullGuard.NotNullOrWhiteSpace(accountNumber, nameof(accountNumber)); return(ExecuteAsync(async() => { using ContactAccountModelHandler contactAccountModelHandler = new ContactAccountModelHandler(DbContext, AccountingModelConverter.Create(), _eventPublisher, DateTime.Today, false); return await contactAccountModelHandler.ExistsAsync(accountingNumber, accountNumber); }, MethodBase.GetCurrentMethod())); }
public Task <IContactAccount> GetContactAccountAsync(int accountingNumber, string accountNumber, DateTime statusDate) { NullGuard.NotNullOrWhiteSpace(accountNumber, nameof(accountNumber)); return(ExecuteAsync(async() => { using ContactAccountModelHandler contactAccountModelHandler = new ContactAccountModelHandler(DbContext, AccountingModelConverter.Create(), _eventPublisher, statusDate, true); return await contactAccountModelHandler.ReadAsync(accountingNumber, accountNumber); }, MethodBase.GetCurrentMethod())); }
public Task <IContactAccountCollection> GetContactAccountsAsync(int accountingNumber, DateTime statusDate) { return(ExecuteAsync(async() => { using ContactAccountModelHandler contactAccountModelHandler = new ContactAccountModelHandler(DbContext, AccountingModelConverter.Create(), _eventPublisher, statusDate, true); IContactAccountCollection contactAccountCollection = new ContactAccountCollection { await contactAccountModelHandler.ReadAsync(contactAccountModel => contactAccountModel.AccountingIdentifier == accountingNumber, prepareReadState: new AccountingIdentificationState(accountingNumber)) }; return contactAccountCollection; }, MethodBase.GetCurrentMethod())); }