internal CorporateAction(Guid id, IReadOnlyStock stock, Date actionDate, string description) { Id = id; Stock = stock; Date = actionDate; Description = description; }
public Holding(IReadOnlyStock stock, Date fromDate) : base(stock.Id) { Stock = stock; Start(fromDate); _Properties.Change(fromDate, new HoldingProperties(0, 0.00m, 0.00m)); }
internal Transformation(Guid id, IReadOnlyStock stock, Date actionDate, string description, Date implementationDate, decimal cashComponent, bool rolloverReliefApplies, IEnumerable <ResultingStock> resultingStocks) : base(id, stock, actionDate, description) { ImplementationDate = implementationDate; CashComponent = cashComponent; RolloverRefliefApplies = rolloverReliefApplies; _ResultingStocks.AddRange(resultingStocks); }
public Holding Add(IReadOnlyStock stock, Date fromDate) { var holding = new Holding(stock, fromDate); _Holdings.Add(stock.Id, holding); return(holding); }
internal Dividend(Guid id, IReadOnlyStock stock, Date actionDate, string description, Date paymentDate, decimal dividendAmount, decimal percentFranked, decimal drpPrice) : base(id, stock, actionDate, description) { PaymentDate = paymentDate; DividendAmount = dividendAmount; PercentFranked = percentFranked; DrpPrice = drpPrice; }
public static RestApi.Portfolios.Stock ToSummaryResponse(this IReadOnlyStock stock, Date date) { var stockProperties = stock.Properties.ClosestTo(date); var result = new RestApi.Portfolios.Stock() { Id = stock.Id, AsxCode = stockProperties.AsxCode, Name = stockProperties.Name, Category = stockProperties.Category.ToResponse() }; return(result); }
public void Add(Date date, IReadOnlyStock stock, int units, decimal costBase, decimal amountReceived, decimal capitalGain, CgtMethod cgtMethod) { Add(new CgtEvent() { Id = Guid.NewGuid(), Date = date, Stock = stock, Units = units, CostBase = costBase, AmountReceived = amountReceived, CapitalGain = capitalGain, CgtMethod = cgtMethod }); }
private void OnCgtEventOccured(Date eventDate, IReadOnlyStock stock, int units, decimal costBase, decimal amountReceived, decimal capitalGain, CgtMethod cgtMethod, IPortfolioTransaction transaction) { // Make a temporary copy of the event to avoid possibility of // a race condition if the last subscriber unsubscribes // immediately after the null check and before the event is raised. var handler = CgtEventOccurred; if (handler != null) { var e = new CgtEventArgs() { EventDate = eventDate, Stock = stock, Units = units, CostBase = costBase, AmountReceived = amountReceived, CapitalGain = capitalGain, CgtMethod = cgtMethod, Transaction = transaction }; handler(this, e); } }
internal CompositeAction(Guid id, IReadOnlyStock stock, Date actionDate, string description, IEnumerable <ICorporateAction> childActions) : base(id, stock, actionDate, description) { ChildActions = childActions; }
internal SplitConsolidation(Guid id, IReadOnlyStock stock, Date actionDate, string description, int originalUnits, int newUnits) : base(id, stock, actionDate, description) { OriginalUnits = originalUnits; NewUnits = newUnits; }
internal CapitalReturn(Guid id, IReadOnlyStock stock, Date actionDate, string description, Date paymentDate, decimal amount) : base(id, stock, actionDate, description) { PaymentDate = paymentDate; Amount = amount; }