Пример #1
0
        public static string Create(VMKreditRumah data)
        {
            string result = "ok";

            using (Model1 db = new Model1())
            {
                try
                {
                    db.TB_KREDIT_RUMAH.Add(new TB_KREDIT_RUMAH
                    {
                        NO_REKENING       = data.NO_REKENING,
                        JANGKA_WAKTU      = data.JANGKA_WAKTU,
                        NAMA              = "",
                        PERSEN_BUNGA      = data.PERSEN_BUNGA,
                        PLAFOND           = data.PLAFOND,
                        TANGGAL_REALISASI = data.TANGGAL_REALISASI,
                        CREATED_BY        = "System",
                        CREATED_DATE      = DateTime.Now,
                        IS_DELETE         = false
                    });
                    db.SaveChanges();
                }
                catch (Exception ex)
                {
                    result = ex.Message;
                }
            }

            return(result);
        }
Пример #2
0
        public static List <VM_Angsuran> HitungAngsuran(long id)
        {
            List <VM_Angsuran> result = new List <VM_Angsuran>();

            try
            {
                VMKreditRumah data = new VMKreditRumah();
                using (Model1 db = new Model1())
                {
                    data = db.TB_KREDIT_RUMAH.Where(x => x.ID_KREDIT == id).Select(x => new VMKreditRumah
                    {
                        TANGGAL_REALISASI = x.TANGGAL_REALISASI,
                        PLAFOND           = x.PLAFOND,
                        JANGKA_WAKTU      = x.JANGKA_WAKTU,
                        PERSEN_BUNGA      = x.PERSEN_BUNGA
                    }).FirstOrDefault();
                }

                for (int i = 0; i <= data.JANGKA_WAKTU; i++)
                {
                    result.Add(new VM_Angsuran
                    {
                        Bulan           = i,
                        TanggalAngsuran = data.TANGGAL_REALISASI.AddMonths(i),
                        SaldoPokok      = data.PLAFOND,
                        Bunga           = data.PERSEN_BUNGA
                    });
                    double JangkaWaktu = data.JANGKA_WAKTU - (i - 1);
                    if (i != 0)
                    {
                        double SaldoPokokPrev = Convert.ToDouble(result.Where(x => x.Bulan == i - 1).Select(x => x.SaldoPokok).FirstOrDefault());
                        double BungaPrev      = Convert.ToDouble(result.Where(x => x.Bulan == i - 1).Select(x => x.Bunga).FirstOrDefault());

                        double test1 = Convert.ToDouble(1) - Math.Pow(Convert.ToDouble(1) + (Convert.ToDouble(BungaPrev) / Convert.ToDouble(100)) / Convert.ToDouble(12), JangkaWaktu * Convert.ToDouble(-1));

                        double AngsuranTotal = SaldoPokokPrev * ((BungaPrev / Convert.ToDouble(100)) / Convert.ToDouble(12)) / (test1);
                        double AngsuranBunga = SaldoPokokPrev * (BungaPrev / Convert.ToDouble(100)) * (Convert.ToDouble(30) / Convert.ToDouble(360));
                        double AngsuranPokok = AngsuranTotal - AngsuranBunga;

                        result[i].AngsuranTotal = Convert.ToDecimal(AngsuranTotal);
                        result[i].AngsuranBunga = Convert.ToDecimal(AngsuranBunga);
                        result[i].AngsuranPokok = Convert.ToDecimal(AngsuranPokok);
                        result[i].SaldoPokok    = Convert.ToDecimal(SaldoPokokPrev - AngsuranPokok);
                    }
                }
            }
            catch (Exception ex)
            {
                throw;
            }

            return(result);
        }
Пример #3
0
        public ActionResult Create(VMKreditRumah data)
        {
            string result = RepoKreditRumah.Create(data);

            if (result == "ok")
            {
                return(Json(new { message = "Berhasil", data = result }, JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(RedirectToAction("Index", "KreditRumah"));
            }
        }