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);
        }
        /// <summary>
        /// Returns true if CreditCard instances are equal
        /// </summary>
        /// <param name="other">Instance of CreditCard to be compared</param>
        /// <returns>Boolean</returns>
        public bool Equals(CreditCard other)
        {
            if (ReferenceEquals(null, other))
            {
                return(false);
            }
            if (ReferenceEquals(this, other))
            {
                return(true);
            }

            return
                ((
                     Name == other.Name ||
                     Name != null &&
                     Name.Equals(other.Name)
                     ) &&
                 (
                     Identification == other.Identification ||
                     Identification != null &&
                     Identification.Equals(other.Identification)
                 ) &&
                 (
                     RewardsProgram == other.RewardsProgram ||
                     RewardsProgram != null &&
                     RewardsProgram.Equals(other.RewardsProgram)
                 ) &&
                 (
                     Fees == other.Fees ||
                     Fees != null &&
                     Fees.Equals(other.Fees)
                 ) &&
                 (
                     Interest == other.Interest ||
                     Interest != null &&
                     Interest.Equals(other.Interest)
                 ) &&
                 (
                     TermsConditions == other.TermsConditions ||
                     TermsConditions != null &&
                     TermsConditions.Equals(other.TermsConditions)
                 ));
        }
        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");
        }