private async Task <Counterparty> MapCommandToCounterparty(AddUpdateCounterpartyCommand command) { Counterparty counterparty = new Counterparty(); counterparty.CounterpartyID = command.CounterpartyID; counterparty.CounterpartyCode = command.CounterpartyCode; counterparty.Description = command.Description; counterparty.CounterpartyType = command.CounterpartyType; counterparty.MDMId = command.MDMId; counterparty.IsDeactivated = command.IsDeactivated; counterparty.CounterpartyTradeStatusId = command.CounterpartyTradeStatusId; counterparty.HeadofFamily = command.HeadofFamily; counterparty.CountryId = command.CountryId; counterparty.ProvinceId = command.ProvinceId; counterparty.C2CCode = command.C2CCode; counterparty.MDMCategoryCode = command.MDMCategoryCode; counterparty.VATRegistrationNumber = command.VATRegistrationNumber; counterparty.FiscalRegistrationNumber = command.FiscalRegistrationNumber; counterparty.ContractTermId = command.ContractTermId; counterparty.ACManagerId = command.ACManagerId; counterparty.DepartmentId = command.DepartmentId; counterparty.AlternateMailingAddress1 = command.AlternateMailingAddress1; counterparty.AlternateMailingAddress2 = command.AlternateMailingAddress2; counterparty.AlternateMailingAddress3 = command.AlternateMailingAddress3; counterparty.AlternateMailingAddress4 = command.AlternateMailingAddress4; counterparty.IntroductoryBrocker = command.IntroductoryBrocker; counterparty.CounterpartyAddresses = command.CounterpartyAddresses; counterparty.CounterpartyBankAccounts = command.CounterpartyBankAccounts; counterparty.CounterpartyBankAccountIntermediaries = command.CounterpartyBankAccountIntermediaries; counterparty.CounterpartyContacts = command.CounterpartyContacts; counterparty.CounterpartyCompanies = command.CounterpartyCompanies; counterparty.CounterpartyTaxes = command.CounterpartyTaxes; counterparty.CounterpartyAccountTypes = command.CounterpartyAccountTypes; counterparty.CounterpartyMdmCategory = command.CounterpartyMdmCategory; return(counterparty); }
public async Task <IEnumerable <int> > Handle(AddUpdateCounterpartyCommand request, CancellationToken cancellationToken) { _unitOfWork.BeginTransaction(); try { List <Counterparty> counterpartyList = new List <Counterparty>(); var counterparty = await MapCommandToCounterparty(request); counterpartyList.Add(counterparty); var counterpartyIds = await _counterpartyRepository.AddUpdateCounterpartyAsync(counterpartyList, request.Company); if (counterparty.CounterpartyID != null && counterparty.CounterpartyID > 0) { await _counterpartyRepository.DeleteCounterpartyDetailsAsync(counterpartyList, request.Company); } _unitOfWork.Commit(); return(counterpartyIds); } catch { _unitOfWork.Rollback(); throw; } }