public static RestApi.Transactions.Disposal ToResponse(this Domain.Transactions.Disposal disposal) { var response = new RestApi.Transactions.Disposal(); PopulatePortfolioTransaction(response, disposal); response.Units = disposal.Units; response.AveragePrice = disposal.AveragePrice; response.TransactionCosts = disposal.TransactionCosts; response.CgtMethod = disposal.CgtMethod.ToResponse(); response.CreateCashTransaction = disposal.CreateCashTransaction; return(response); }
public void DisposalToResponse() { var mockRepository = new MockRepository(MockBehavior.Strict); var stock = mockRepository.Create <IReadOnlyStock>(); stock.SetupGet(x => x.Id).Returns(Guid.NewGuid()); var disposal = new Domain.Transactions.Disposal() { Id = Guid.NewGuid(), Date = new Date(2001, 01, 01), Stock = stock.Object, Comment = "Test", Units = 10, AveragePrice = 1.20m, TransactionCosts = 19.95m, CgtMethod = Domain.Utils.CgtCalculationMethod.MinimizeGain, CreateCashTransaction = true }; var response = disposal.ToResponse(); response.Should().BeEquivalentTo(new { Id = disposal.Id, Type = RestApi.Transactions.TransactionType.Disposal, Stock = stock.Object.Id, TransactionDate = new Date(2001, 01, 01), Comment = "Test", Description = "Disposed of 10 shares @ $1.20", Units = 10, AveragePrice = 1.20m, TransactionCosts = 19.95m, CgtMethod = RestApi.Transactions.CgtCalculationMethod.MinimizeGain, CreateCashTransaction = true }); }