public ActionResult GetCollateralRiskRE(int loanId) { if (loanId < 0) { return(this.BadRequest("Invalid ID")); } CollateralLoanRealEstate collateralLoanRealEstate = new CollateralLoanRealEstate(); CollateralRisk collateralRisk = new CollateralRisk(); try { if (loanId > 200 && loanId <= 299) { collateralLoanRealEstate = RiskCalculator.GetCollateralRiskRE(loanId).Result; if (collateralLoanRealEstate != null) { TimeSpan dateDifference = DateTime.Now - collateralLoanRealEstate.DateOfPurchase; double days = dateDifference.TotalDays; long diff = Convert.ToInt64(days) / 365; long marketValue = collateralLoanRealEstate.CurrentValue + (collateralLoanRealEstate.DepreciationRate * collateralLoanRealEstate.CurrentValue * diff) / 100; if (collateralLoanRealEstate.CurrentValue <= marketValue) { collateralRisk.RiskPercentage = (Math.Abs(collateralLoanRealEstate.CurrentValue - marketValue) * 100) / collateralLoanRealEstate.CurrentValue; collateralRisk.DateAssessed = collateralLoanRealEstate.PledgedDate; } else { collateralRisk.RiskPercentage = 0; } } else { return(BadRequest()); } } else { return(NoContent()); } return(Ok(collateralRisk)); } catch (Exception e) { return(this.BadRequest(e.Message)); } }
public ActionResult GetCollateralRiskCD(int loanId) { if (loanId < 0) { return(this.BadRequest("Invalid ID")); } CollateralLoanCashDeposit collateralLoanCashDeposit = new CollateralLoanCashDeposit(); CollateralRisk collateralRisk = new CollateralRisk(); try { if (loanId > 100 && loanId <= 199) { collateralLoanCashDeposit = RiskCalculator.GetCollateralRiskCD(loanId).Result; if (collateralLoanCashDeposit != null) { double marketValue = collateralLoanCashDeposit.CurrentValue + (collateralLoanCashDeposit.InterestRate * collateralLoanCashDeposit.CurrentValue) / 100; if (collateralLoanCashDeposit.CurrentValue <= marketValue) { collateralRisk.RiskPercentage = (Math.Abs(collateralLoanCashDeposit.CurrentValue - marketValue) * 100) / collateralLoanCashDeposit.CurrentValue; collateralRisk.DateAssessed = collateralLoanCashDeposit.PledgedDate; } else { collateralRisk.RiskPercentage = 0; } } else { return(BadRequest()); } } else { return(NoContent()); } return(Ok(collateralRisk)); } catch (Exception e) { return(this.BadRequest(e.Message)); } }