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();
        }
Ejemplo n.º 2
0
        public int CalculateNeededShares(DividendPeriod period)
        {
            var numberOfShares = ((DividendYield * period.ToInt()) / (DividendPercentage / 100)) / StockPrice;

            var roundedNumberOfShares = Convert.ToInt32(numberOfShares);

            return(roundedNumberOfShares);
        }
Ejemplo n.º 3
0
        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();
            }
        }
Ejemplo n.º 4
0
        public decimal CalculateDividendYield(DividendPeriod period)
        {
            var rawCalculatedAmount = CalculateDividendYield() / period.ToInt();

            return(rawCalculatedAmount.ToCurrency());
        }