private void Validation()
        {
            string validationString = string.Empty;

            if (LoanAmount.Equals(0))
            {
                validationString += "principal amount";
            }

            if (Interest.Equals(0))
            {
                if (validationString != string.Empty)
                {
                    validationString += ", ";
                }

                validationString += "interest rate";
            }

            if (Term.Equals(0))
            {
                if (validationString != string.Empty)
                {
                    validationString += ", ";
                }

                validationString += "loan term";
            }

            Application.Current.MainPage.DisplayAlert(string.Empty, "Please enter valid " + validationString + ".", "Ok");
        }
 private void ShareLoanDetails()
 {
     if (Interest.Equals(0) || LoanAmount.Equals(0) || Term.Equals(0))
     {
         Validation();
         return;
     }
     Calculate();
     shareService.ShareLoanDetails(LoanAmount, Interest, Term, TermType, emiAmount, TotalPayment, TotalInterestAmount);
 }
        public async Task InitializeAsync()
        {
            if (Interest.Equals(0) || LoanAmount.Equals(0) || Term.Equals(0))
            {
                Validation();
                return;
            }

            Calculate();
            paymentDetails = emiService.GetAmortizationDetails(Interest, MonthlyPayment, LoanAmount, Term, TermType, PaymentStartMonth);
            AddValueKeyPair("loanAmount", LoanAmount);
            AddValueKeyPair("interest", Interest);
            AddValueKeyPair("emi", MonthlyPayment);
            AddValueKeyPair("term", Term);
            AddValueKeyPair("termType", TermType);
            await NavigationService.NavigateToAsync <StatisticPageViewModel>(paymentDetails);
        }
        private void Calculate()
        {
            if (Interest.Equals(0) || LoanAmount.Equals(0) || Term.Equals(0))
            {
                Validation();
                return;
            }

            emiAmount            = emiService.CalculateEMI(LoanAmount, Interest, Term, TermType);
            TotalInterestAmount  = emiService.GetPayableInterestAmount(Term, TermType, LoanAmount);
            TotalPayment         = emiService.GetPayablePrincipalAmount(Term, TermType);
            MonthlyPayment       = emiAmount;
            TotalPrincipalAmount = LoanAmount;

            TotalPaymentCollection = new ObservableCollection <ChartDataPoint>
            {
                new ChartDataPoint("Principal", TotalPrincipalAmount),
                new ChartDataPoint("Interest", TotalInterestAmount)
            };

            MessagingCenter.Send(this, "ScrollToEnd");
        }