Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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
            });
        }