Ejemplo n.º 1
0
        /// <summary>
        /// mortgage calculation core part
        /// </summary>
        /// <param name="model"></param>
        /// <returns>MortgageResult</returns>
        public static MortgageResult CalculateMorgage(MortgageModel model)
        {
            MortgageResult result = new MortgageResult();

            double Principal = 0, loanTerm = 0, intrstRate = 0, pwrValue, EMI, totalRepayment, totInterest;

            if (model != null)
            {
                loanTerm   = (model.LoanTerm) * 12;
                Principal  = model.PrincipalAmount;
                intrstRate = model.Rate;
            }
            intrstRate = (intrstRate / 100) / 12;

            pwrValue = Math.Pow((1 + intrstRate), loanTerm);

            EMI = Principal * intrstRate * (pwrValue / (pwrValue - 1));

            totalRepayment = Math.Round((EMI * loanTerm), 2);

            totInterest = Math.Round((totalRepayment - Principal), 2);

            result.TotalInterest = totInterest;

            result.TotalRepayment = totalRepayment;
            return(result);
        }
Ejemplo n.º 2
0
        public void MortgagePaymentWithDownPaymentAndTaxesTest()
        {
            MortgageModel model = new MortgageModel(259000,
                                                    4,
                                                    30,
                                                    2000,
                                                    300);
            MortgagePayment payment = new MortgagePayment(model);
            double          mp      = payment.Algorithm();

            Assert.Equal(1526.96, mp);
        }
Ejemplo n.º 3
0
        public void MortgagePaymentWithNoDownPaymentAndNoTaxesTest()
        {
            MortgageModel model = new MortgageModel(259000,
                                                    4,
                                                    30,
                                                    0,
                                                    0);
            MortgagePayment payment = new MortgagePayment(model);
            double          mp      = payment.Algorithm();

            Assert.Equal(1236.51, mp);
        }
Ejemplo n.º 4
0
 public ActionResult History()
 {
     if (Session["user"] != null)
     {
         MortgageModel data = new MortgageModel();
         ViewBag.result = data.GetHistory();
         return(View());
     }
     else
     {
         return(Redirect("Index"));
     }
 }
Ejemplo n.º 5
0
        public static void CreateMortgage(MortgageModel mortgageModel)
        {
            try
            {
                // Create new mortgage
                Entity newMortgage = new Entity("rev_mortgage");
                newMortgage.Attributes.Add("rev_customerid", new EntityReference("contact", mortgageModel.ContactId));
                // Get State
                Guid StateId = Guid.Empty;
                if (mortgageModel.State == null)
                {
                    mortgageModel.State = "Canada";
                }
                using (var context = new OrganizationServiceContext(service))
                {
                    var ms = (from m in context.CreateQuery("rev_salestax")
                              where m["rev_name"].Equals(mortgageModel.State)
                              select m).FirstOrDefault();

                    if (ms.Id != null)
                    {
                        newMortgage.Attributes.Add("rev_salestaxid", new EntityReference("rev_salestax", ms.Id));
                    }
                }
                newMortgage.Attributes.Add("rev_name", mortgageModel.Name);
                newMortgage.Attributes.Add("rev_region", new OptionSetValue((int)mortgageModel.Region));
                newMortgage.Attributes.Add("rev_approval", new OptionSetValue(283210000));      // Set to New
                newMortgage.Attributes.Add("rev_mortgageamount", new Money(mortgageModel.MortgageAmount));
                newMortgage.Attributes.Add("rev_mortgageterm", new OptionSetValue((int)mortgageModel.MortgageTermInYears));
                // State
                // Documents
                /* */


                // Query for State Name selected, get id and associate
                //newMortgage.Attributes.Add("rev_salestaxid", new EntityReference("rev_salestax", mortgageModel.ContactId));

                /* */
                // Create request for mortgage creation
                CreateRequest request = new CreateRequest();
                request.Target = newMortgage;
                // Execute request
                CreateResponse resp = (CreateResponse)service.Execute(request);
                //Guid mortgageGuid = (Guid)resp.Results["id"];
            }
            catch (Exception ex)
            {
                logger.Info(ex.Message);
                logger.Info(ex.StackTrace);
            }
        }
Ejemplo n.º 6
0
        public ActionResult Login()
        {
            MortgageModel data = new MortgageModel();

            if (data.checkpassword(Request["username"], Request["password"]))
            {
                Session["user"] = Request["username"];
            }
            else
            {
                ViewBag.login = "******";
            }

            return(Redirect("Index"));
        }
Ejemplo n.º 7
0
        public void InsertResult()
        {
            //create object of model
            MortgageModel data = new MortgageModel();


            //pass data to the model using request object
            data.Date      = DateTime.Now;
            data.Principal = Convert.ToInt32(Request["principal"]);
            data.Rate      = Convert.ToDecimal(Request["rate"]);
            data.Years     = Convert.ToInt32(Request["years"]);
            data.Monthly   = Convert.ToDecimal(Request["monthly"]);

            //call insertion method
            data.Insert(data);
        }
Ejemplo n.º 8
0
        public void Email()
        {
            MortgageModel data = new MortgageModel();

            data.Date      = DateTime.Now;
            data.Principal = Convert.ToInt32(Request["principal"]);
            data.Rate      = Convert.ToDecimal(Request["rate"]);
            data.Years     = Convert.ToInt32(Request["years"]);
            data.Monthly   = Convert.ToDecimal(Request["monthly"]);


            Mailer mail = new Mailer();

            mail.to = Request["email"];

            Response.Write(mail.sendMail(data));
        }
Ejemplo n.º 9
0
 public ActionResult NewMortgage([Bind(Include = "Name,Region,State,MortgageAmount,MortgageTermInYears,IdentityDocuments")] MortgageModel mortgageModel)
 {
     System.Diagnostics.Debug.WriteLine($"\n\n\nName={mortgageModel.Name},Region={mortgageModel.Region},State={mortgageModel.State},Amount={mortgageModel.MortgageAmount},Term={mortgageModel.MortgageTermInYears}");
     if (ModelState.IsValid)
     {
         System.Diagnostics.Debug.WriteLine($"Model is valid");
         using (var context = new ApplicationDbContext())
         {
             Guid userId = new Guid(User.Identity.GetUserId());
             mortgageModel.ContactId = (from u in context.UserMapModels
                                        where u.UserWebAppId == userId
                                        select u).ToList()[0].ClientDynamicsId;
         }
         DataAccessLayer.DynamicsDB.CreateMortgage(mortgageModel);
         return(RedirectToAction("Index"));
     }
     ViewBag.States = StatesSelectList;
     //ViewBag.Terms = MortgageTermList;
     return(View(mortgageModel));
 }
Ejemplo n.º 10
0
        public void Delete()
        {
            System.Diagnostics.Debug.WriteLine("hello");
            //create object of model
            MortgageModel data = new MortgageModel();

            //string ids = Request["ids"];
            string[] ids = Request.Form.GetValues("ids");
            System.Diagnostics.Debug.WriteLine(ids[0]);

            /*
             * System.Diagnostics.Debug.WriteLine(ids);
             * string[] ia = ids.Split(',');
             *
             * foreach( string i in ia)
             * {
             * System.Diagnostics.Debug.WriteLine(i);
             * int num = Int32.Parse(i);
             *
             * data.Delete(num);
             * }
             */
            Redirect("History");
        }
Ejemplo n.º 11
0
 public ActionResult MortgageCals(MortgageModel model)
 {
     return(Json(MortgageBL.CalculateMorgage(model), JsonRequestBehavior.AllowGet));
 }