private void SaveTransaction(Guid transactionHistoryId, long referenceNumber, double totalPrice) { var transaction = new TransactionHistoryDto { Id = transactionHistoryId, Date = DateTime.Now, ReferenceNumber = $"{referenceNumber}", TotalPrice = (decimal)totalPrice }; transactionAppService.AddTransaction(transaction); }
public async Task <IActionResult> AddTransactionHistory([FromBody] TransactionHistoryDto transactionHistoryToAdd) { if (transactionHistoryToAdd.CurrencyId == 0) { return(BadRequest("The currency is mandatory!")); } var result = await _transactionHistoryService.AddTransactionHistory(transactionHistoryToAdd); if (!result.Succeeded) { return(BadRequest(result)); } return(Ok(result)); }
public async Task <Result> AddTransactionHistory(TransactionHistoryDto transactionHistoryToAdd) { var entity = new TransactionHistory { Amount = transactionHistoryToAdd.Amount, SenderId = _currentUserService.UserId.Value, BeneficiarId = transactionHistoryToAdd.BeneficiarId, CurrencyId = transactionHistoryToAdd.CurrencyId }; await _context.TransactionsHistory.AddAsync(entity); await _context.SaveChangesAsync(); return(Result.Success("Transaction History was created successfully")); }
public IActionResult CreateTransaction([FromBody, SwaggerRequestBody("Transaction history payload", Required = true)] TransactionHistoryDto transactionHistoryDto) { logger.Info(nameof(TransactionHistoryController.CreateTransaction)); try { transactionService.AddTransaction(transactionHistoryDto); return(Ok()); } catch (Exception ex) { logger.Error(ex); return(BadRequest()); } }
public void AddTransaction(TransactionHistoryDto transactionDto) { if (transactionDto == null) { throw new ArgumentNullException(nameof(transactionDto)); } if (transactionDto.TotalPrice <= 0) { throw new ArgumentException("Total Price should be greather than 0"); } var transaction = mapperService.Map <TransactionHistoryDto, TransactionHistory>(transactionDto); unitOfWork.TransactionHistory.Create(transaction); unitOfWork.Save(); }
public async Task <Result> DeleteTransactionHistory(TransactionHistoryDto transactionHistoryToDelete) { var entity = await _context.TransactionsHistory .FirstOrDefaultAsync(x => x.Id == transactionHistoryToDelete.Id && !x.Deleted); if (entity == null) { return(Result.Failure(new List <string> { "No valid transaction history found" })); } entity.Deleted = true; await _context.SaveChangesAsync(); return(Result.Success("Transaction History was deleted")); }
public async Task <Result> UpdateTransactionHistory(TransactionHistoryDto transactionHistoryToUpdate) { var entity = await _context.TransactionsHistory .FirstOrDefaultAsync(x => x.Id == transactionHistoryToUpdate.Id && !x.Deleted); if (entity == null) { return(Result.Failure(new List <string> { "No valid transaction history found" })); } entity.Amount = transactionHistoryToUpdate.Amount; entity.SenderId = transactionHistoryToUpdate.SenderId; entity.BeneficiarId = transactionHistoryToUpdate.BeneficiarId; await _context.SaveChangesAsync(); return(Result.Success("Transaction History update was successful")); }
public TransactionHistoryServiceTests() { unitOfWorkMock = new Mock <IUnitOfWork>(); transactionHistoryDtoEqualityComparer = new TransactionHistoryDtoEqualityComparer(); transactions = new List <TransactionHistory> { new TransactionHistory { Id = Guid.Empty, ReferenceNumber = "ReferenceNumber1", TotalPrice = 101, Date = DateTime.Parse("03/06/20 15:00:00") }, new TransactionHistory { Id = Guid.Empty, ReferenceNumber = "ReferenceNumber2", TotalPrice = 102, Date = DateTime.Parse("03/06/20 16:00:00") }, new TransactionHistory { Id = Guid.Empty, ReferenceNumber = "ReferenceNumber3", TotalPrice = 103, Date = DateTime.Parse("03/06/20 17:00:00") } }; transactionsDto = new List <TransactionHistoryDto> { new TransactionHistoryDto { Id = Guid.Empty, ReferenceNumber = "ReferenceNumber1", TotalPrice = 101, Date = DateTime.Parse("03/06/20 15:00:00") }, new TransactionHistoryDto { Id = Guid.Empty, ReferenceNumber = "ReferenceNumber2", TotalPrice = 102, Date = DateTime.Parse("03/06/20 16:00:00") }, new TransactionHistoryDto { Id = Guid.Empty, ReferenceNumber = "ReferenceNumber3", TotalPrice = 103, Date = DateTime.Parse("03/06/20 17:00:00") } }; transactionDto = new TransactionHistoryDto { Id = transactionEmptyId, ReferenceNumber = "ReferenceNumber", TotalPrice = 100, Date = DateTime.Parse("03/06/20 15:00:00") }; transaction = new TransactionHistory { Id = transactionEmptyId, ReferenceNumber = "ReferenceNumber", TotalPrice = 100, Date = DateTime.Parse("03/06/20 15:00:00") }; transactionEmptyId = Guid.Empty; transactionId = Guid.NewGuid(); userId = Guid.Parse("A2BA5D10-C628-4858-B821-D6F0399D01BC"); tickets = new Ticket[] { new Ticket { UserId = userId, TransactionHistory = transactions.ElementAt(0) }, new Ticket { UserId = userId, TransactionHistory = transactions.ElementAt(1) }, new Ticket { UserId = userId, TransactionHistory = transactions.ElementAt(2) } }; unitOfWorkMock.Setup(uow => uow.TransactionHistory.Create(It.IsAny <TransactionHistory>())); unitOfWorkMock .Setup(uow => uow.TransactionHistory.Get(transactionId)) .Returns(transaction); unitOfWorkMock .Setup(uow => uow.TransactionHistory.GetAll()) .Returns(transactions.AsQueryable); unitOfWorkMock .Setup(uow => uow.Tickets.GetAll()) .Returns(tickets.AsQueryable); var id = Guid.Parse("1DE63B31-A62D-4D5A-9BC7-846EB2E2BADE"); unitOfWorkMock .Setup(uow => uow.TransactionHistory.Get(id)) .Returns(() => null); transactionService = new TransactionService(unitOfWorkMock.Object); }