Example #1
0
        public static ILoan CreateLoan(LoanDTO loanDto)
        {
            switch (loanDto.Type)
            {
                case LoanType.Series:
                    return new SeriesLoan {Amount = loanDto.Amount, Interest = loanDto.Interest, RepaymentYears = loanDto.RepaymentYears};
                case LoanType.Anuity:
                    return new AnuityLoan {Amount = loanDto.Amount, Interest = loanDto.Interest, RepaymentYears = loanDto.RepaymentYears};
            }

            throw new ArgumentException("Arguments could not be parsed correctly.");
        }
Example #2
0
        public HttpResponseMessage Post(LoanDTO loanDto)
        {
            if (!ModelState.IsValid)
            {
                return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
            }

            var loan = LoanFactory.CreateLoan(loanDto);
            var repaymentPlan = loan.CalculateRepaymentPlan();

            return Request.CreateResponse(HttpStatusCode.OK, repaymentPlan);
        }