Exemplo n.º 1
0
        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;
            }
        }