private void HandleRevDivCalcCheck(object sender, RoutedEventArgs e) { if (!(sender is RadioButton rb)) { return; } switch (rb.Name) { case "RevDivRbMonthly": ReverseDividendCalcPeriod = DividendPeriod.Monthly; ReverseCalculateDividend(); break; case "RevDivRbQuarterly": ReverseDividendCalcPeriod = DividendPeriod.Quarterly; ReverseCalculateDividend(); break; case "RevDivRbYearly": ReverseDividendCalcPeriod = DividendPeriod.Yearly; ReverseCalculateDividend(); break; default: return; } ReverseCalculateDividend(); }
public int CalculateNeededShares(DividendPeriod period) { var numberOfShares = ((DividendYield * period.ToInt()) / (DividendPercentage / 100)) / StockPrice; var roundedNumberOfShares = Convert.ToInt32(numberOfShares); return(roundedNumberOfShares); }
public static int ToInt(this DividendPeriod period) { switch (period) { case DividendPeriod.Monthly: return(12); case DividendPeriod.Quarterly: return(4); case DividendPeriod.Yearly: return(1); default: throw new ArgumentOutOfRangeException(); } }
public decimal CalculateDividendYield(DividendPeriod period) { var rawCalculatedAmount = CalculateDividendYield() / period.ToInt(); return(rawCalculatedAmount.ToCurrency()); }