Example #1
0
        private static ITransactionPerformance GetDividendPerformance(ITransactionBook book, Guid stockId, Guid sellTransId)
        {
            var entries  = book.GetLastCommittedChanges(stockId).ToList();
            var dividend = entries.FirstOrDefault(e => e.TransactionId == sellTransId) as IDividendTransactionBookEntry;
            var other    = entries.Where(e => e.TransactionId != sellTransId).Cast <IBuyingTransactionBookEntry>();

            return(new TransactionPerformanceService().GetPerformance(dividend, other));
        }
Example #2
0
        private static ITransactionPerformance GetPerformance(ITransactionBook book, Guid stockId, Guid sellTransId, decimal?mfe, decimal?mae)
        {
            var entries = book.GetLastCommittedChanges(stockId).ToList();
            var sell    = entries.FirstOrDefault(e => e.TransactionId == sellTransId) as ISellingTransactionBookEntry;
            var other   = entries.Where(e => e.TransactionId != sellTransId).Cast <IBuyingTransactionBookEntry>();

            return(new TransactionPerformanceService().GetPerformance(sell, other, mfe, mae));
        }
Example #3
0
 /// <summary>
 /// Initializes this object
 /// </summary>
 /// <param name="modelRepository">The repository for reading and writing</param>
 /// <param name="stockRepository">The repository for reading stocks</param>
 /// <param name="transactionBook">The transaction book</param>
 public TransactionDividendOrderAddedEventHandler(
     IModelRepository <ITransaction> modelRepository,
     IModelReaderRepository <IStock> stockRepository,
     ITransactionBook transactionBook)
 {
     _writerRepository = modelRepository;
     _stockRepository  = stockRepository;
     _transactionBook  = transactionBook;
 }
Example #4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="TransactionProcessManager"/> class.
 /// </summary>
 /// <param name="transactionPerformanceService">The transaction performance service</param>
 /// <param name="transactionBook">The transaction book.</param>
 /// <param name="eventBus"></param>
 public TransactionProcessManager(
     ITransactionPerformanceService transactionPerformanceService,
     ITransactionBook transactionBook,
     IEventBus eventBus)
 {
     _transactionPerformanceService = transactionPerformanceService;
     _transactionBook = transactionBook;
     _eventBus        = eventBus;
 }
Example #5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ChartController" /> class.
 /// </summary>
 /// <param name="queryDispatcher">The query dispatcher.</param>
 /// <param name="dateCalculationService">The date calculation service.</param>
 /// <param name="transactionBook">The transaction book which contains all open positions.</param>
 public ChartController(
     IQueryDispatcher queryDispatcher,
     IDateCalculationService dateCalculationService,
     ITransactionBook transactionBook)
 {
     _queryDispatcher        = queryDispatcher;
     _dateCalculationService = dateCalculationService;
     _transactionBook        = transactionBook;
 }
Example #6
0
 /// <summary>
 /// Initializes this object
 /// </summary>
 /// <param name="modelRepository">The repository for reading and writing</param>
 /// <param name="stockRepository">The repository for reading stocks</param>
 /// <param name="feedbackRepository">The repository for reading feedbacks</param>
 /// <param name="transactionBook">The transaction book</param>
 /// <param name="feedbackProportionRepository">The repository for reading the feedback proportions</param>
 public TransactionSellingOrderAddedEventHandler(
     IModelRepository <ITransaction> modelRepository,
     IModelReaderRepository <IStock> stockRepository,
     IModelReaderRepository <IFeedback> feedbackRepository,
     ITransactionBook transactionBook,
     IModelReaderRepository <IFeedbackProportion> feedbackProportionRepository)
 {
     _writerRepository             = modelRepository;
     _stockRepository              = stockRepository;
     _feedbackRepository           = feedbackRepository;
     _transactionBook              = transactionBook;
     _feedbackProportionRepository = feedbackProportionRepository;
 }
Example #7
0
 /// <summary>
 /// Initializes this object
 /// </summary>
 /// <param name="transactionBook">The transaction book</param>
 public OpenPositionsAllQueryHandler(ITransactionBook transactionBook)
 {
     _transactionBook = transactionBook;
 }
Example #8
0
 /// <summary>
 /// Initializes this object
 /// </summary>
 /// <param name="repository">The repository for the aggregate</param>
 /// <param name="book">The transation book</param>
 public TransactionDividendCommandHandler(IAggregateRepository <TransactionAggregate> repository, ITransactionBook book)
 {
     _repository = repository;
     _book       = book;
 }