public async Task <TransactionItemDto> AddAsync(TransactionItemDto transactionItem) { var transaction = _mapper.Map <TransactionHistory>(transactionItem); await _transactionsHistoryRepository.AddAsync(transaction); return(transactionItem); }
protected void ucIDetail_ChildListInstanceRowSaving(object sender, InstanceRowSavingEventArgs e) { using (IUnitOfWork uow = UnitOfWorkFactory.Instance.Start(DataStoreResolver.CRMDataStoreKey)) { switch ((InstanceTypes)Enum.Parse(typeof(InstanceTypes), e.InstanceType)) { case InstanceTypes.TransactionItem: TransactionFacade facade = new TransactionFacade(uow); TransactionItemDto TransactionItemDto = e.Instance as TransactionItemDto; // Save data IFacadeUpdateResult <TransactionData> result = facade.SaveTransactionItem(CurrentInstance.Id, TransactionItemDto); e.IsSuccessful = result.IsSuccessful; if (result.IsSuccessful) { // Refresh TransactionDto savedCurrentInstance = result.ToDto(new TransactionConverter()); CurrentInstance.TransactionItems = savedCurrentInstance.TransactionItems; } else { // Deal with Update result ProcUpdateResult(result.ValidationResult, result.Exception); } break; } } }
public async Task Should_Contain_Successful_StatusCode_When_A_Successfully_Transaction_Could_Be_Found_By_The_Service() { //Arange var transactionId = Guid.NewGuid(); var merchantId = Guid.NewGuid(); var response = new TransactionItemDto( transactionId, merchantId, 100, "Paolo Regoli", "1234567812345678", "Successful", string.Empty); _request.Id = transactionId; _transactionsHistoryService.Setup(x => x.GetByTransactionIdAsync(_request.Id)) .Returns(Task.FromResult(response)); _cardsService.Setup(x => x.Decrypt(response.CardNumber)).Returns(response.CardNumber); //Act var result = await _handler.Handle(_request, new CancellationToken()); //Assert _logger.Verify(x => x.Log(LogLevel.Error, It.IsAny <Exception>(), It.IsAny <string>()), Times.Never); Assert.NotNull(result); Assert.AreEqual(result.StatusCode, "Successful"); }
public async Task Should_Contain_NotFound_StatusCode_When_A_Transaction_Could_Not_Be_Found_By_The_Service() { //Arange TransactionItemDto response = null; _transactionsHistoryService.Setup(x => x.GetByTransactionIdAsync(It.IsAny <Guid>())) .Returns(Task.FromResult(response)); //Act var result = await _handler.Handle(_request, new CancellationToken()); //Assert _logger.Verify(x => x.Log(LogLevel.Error, It.IsAny <Exception>(), It.IsAny <string>()), Times.Never); Assert.NotNull(result); Assert.AreEqual(result.StatusCode, HttpStatusCode.NotFound.ToString()); }
internal IFacadeUpdateResult <TransactionData> SaveTransactionItem(object parentId, TransactionItemDto childDto) { ArgumentValidator.IsNotNull("parentId", parentId); ArgumentValidator.IsNotNull("childDto", childDto); FacadeUpdateResult <TransactionData> result = new FacadeUpdateResult <TransactionData>(); ITransactionService service = UnitOfWork.GetService <ITransactionService>(); var parentQuery = service.Retrieve(parentId); if (parentQuery.HasResult) { Transaction parent = parentQuery.ToBo <Transaction>(); TransactionItem child = RetrieveOrNewTransactionItem(parent, childDto.Id); if (child != null) { child.ItemDescription = childDto.ItemDescription; child.ProductId = childDto.ProductId; child.Quantity = childDto.Quantity; child.UnitPrice = childDto.UnitPrice; child.Amount = childDto.Amount; var saveQuery = service.Save(parent); result.Merge(saveQuery); result.AttachResult(parent.RetrieveData <TransactionData>()); } else { AddError(result.ValidationResult, "TransactionItemCannotBeFound"); } } return(result); }
public IFacadeUpdateResult <TransactionData> SaveTransactionItem(object parentId, TransactionItemDto childDto) { return(TransactionSystem.SaveTransactionItem(parentId, childDto)); }