Javascript

Kredi Kartı Taksitlendirme İşlemini Yapan Uygulamayı Terminal Tabanlı Olarak Tasarlayan Web Uygulaması

Alış verişlerde müşterilerin en çok istediği özellik taksit ve taksit sayısının çokluğudur. Bu uygulamamızda girilen fiyatın belirtilen taksitlere ayrılması işlemini göreceğiz. Bu uygulama ile neler öğreneceğiz.

Yeni bir proje oluşturma

Projeye yeni bir web sayfası ekleme

Web sayfasına kütüphaneleri dahil etme

Tarım için gerekli olan etiketleri web sayfasına ekleme

Projeyi çalıştırma

Javascript kodlarını yazma ve çalıştırma

Karar kontrol deyimini kullanma

Şimdi uygulamayı yapmaya başlayalım.

Adım 1: Öncelikle web sayfasının tasarımını gerçekleştirmeliyiz. Bunun için paint programını kullanabiliriz.

Adım 2: Visual Studio programını açınız. Bunun için devenv komutunu kullanabilirsiniz.

Adım 3: Create a new project diyerek yeni bir proje oluşturunuz. Dil olarak c#, platform olarak Windows, ortam olarak Web seçiniz. Ekrana gelen şablonlardan Asp.Net Web Application(.Net Framework) seçiniz.

Adım 4: Proje ismini KasaIslemleri olarak belirleyiniz. FrameWork olarak 4.8 tercih ediniz. Projenizi yayınlayacağınız sunucudaki versiyonu dikkate alarak bu tercihi yapınız. Böylece projeniz yayınlandığında hatasız olarak çalıştırılacaktır.. Create diyerek işlemi tamamlayınız.

Adım 5: Empty şablonunu seçtikten sonra sertifika işlemi için kullanılan Configure for HTTPS onay kutusunu kaldırıp Create diyerek işlemi tamamlayınız.

Adım 6: Projeye ismi kasa.html isminde bir web sayfası ekleyiniz. Web sayfasının temel ayarlamalarını yapınız. Web sayfası aşağıdaki gibi olacaktır.

<!DOCTYPE html>
<html lang="tr">
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Tahsilat İşlemleri</title>
    <style>
        /*Css İşlemleri*/
    </style>
    <script>
        //Kod İşlemleri
    </script>
</head>
<body>

</body>
</html>

Adım 7: Web sayfasına Bootstrap ve jquery kütüphanelerini dahil edip gerekli olan linkleri web sayfasının head etiketi arasına ekleyelim. Sayfanın yapısı aşağıdaki gibi olacaktır. 

<link href="lib/bootstrap/css/bootstrap.min.css" rel="stylesheet" />
<script src="lib/jquery/jquery.min.js"></script>
<script src="lib/bootstrap/js/bootstrap.min.js"></script>

Adım 8: Şimdi tasarıma uygun nesneleri yerleştirelim. Öncelikle formun yatay olarak hizalanmasını, üstten belli bir boşluk bırakarak oluşturulmasını sağlayalım.

<div class="container">
    <div class="row justify-content-center mt-5">            
    </div>
</div>

Adım 9: Formun genişliğini kullanılan cihazların genişliğine göre ayarlayalım.

<div class="col-lg-6 col-md-9 col-sm-12">
</div>
Adım 10: Forma ait başlığı belirleyelim.
<div class="p-3 bg-primary text-white rounded mb-4">
    <h2>Kasa</h2>
</div>

Adım 11: Toplam tutarın girilmesi için web sayfasna bir adet label ve bir adet sayısal değer girişi yapılabilen input text ekleyelim.

<div class="mb-3">
    <label for="txtFiyat" class="form-label">Toplam Tutar</label>
    <input type="number" class="form-control" id="txtFiyat" 
placeholder="Toplam tutarı girin" required />
</div>

Adım 12: Ödeme şekillerinin tek bir pencerede yer alması için bir adet groupbox ekleyelim. Başlığı "Ödeme Şekli" yazalım. Projeyi çalıştırıp sonucu görelim.

<div class="mb-3">
    <label class="form-label">Ödeme Şekli</label>
    <div class="border p-3 rounded">
    </div>
</div>

Adım 13: Ödeme şeklinin kullanıcı tarafından seçilebilmesi GroupBox içine 5 tane RadioButton ekleyelim. Projeyi çalıştırıp sonucu görelim.

<div class="form-check">
    <input class="form-check-input" type="radio" name="paymentMethod" 
id="tekCekim" value="1" checked />
    <label class="form-check-label" for="tekCekim">Tek Çekim</label>
</div>
<div class="form-check">
    <input class="form-check-input" type="radio" name="paymentMethod" 
id="ikiTaksit" value="2" />
    <label class="form-check-label" for="ikiTaksit">
İki Taksit (%3 ek fiyat)</label>
</div>
<div class="form-check">
    <input class="form-check-input" type="radio" name="paymentMethod" 
id="ucTaksit" value="3" />
    <label class="form-check-label" for="ucTaksit">
Üç Taksit (%5 ek fiyat)</label>
</div>
<div class="form-check">
    <input class="form-check-input" type="radio" name="paymentMethod" 
id="dortTaksit" value="4" />
    <label class="form-check-label" for="dortTaksit">
Dört Taksit (%7 ek fiyat)</label>
</div>
<div class="form-check">
    <input class="form-check-input" type="radio" name="paymentMethod" 
id="besTaksit" value="5" />
    <label class="form-check-label" for="besTaksit">
Beş Taksit (%9 ek fiyat)</label>
</div>

Adım 14: Web sayfasına bir adet Button ekleyelim. Projeyi çalıştırıp sonucu görelim. Aşağıdaki gibi bir form ekranı oluşacaktır.

<div class="d-grid">
    <button id="btnOdeme" class="btn btn-primary">Ödeme Yap</button>
</div>

Adım 15: Web sayfasının tasarım kısmı tamamlandı. Şimdi kodlama işlemine geçebiliriz. Öncelikle program çalıştığında imlecin txtFiyat kutusuna konumlanmasını sağlayalım. Bu işlemi gerçekleştirmek için $() olayını kullanacağız. Projeyi çalıştırıp sonucu görelim.

$("#txtFiyat").focus();

Adım 16: Şimdi butonun Click olayını oluşturalım. Öncelikle kullanıcının ne kadar tutar yazdığını bulalım. Toplam tutar ondalıklı olacağı için float tipinde bir değişken tanımlamalıyız. Değişkenin adını fiyat olarak verelim. Projeyi çalıştırıp sonucu görelim.

$("#btnOdeme").click(function () {
    var fiyat = parseFloat($("#txtFiyat").val());
});

Adım 17: Şimdi de kullanıcının hangi Radyo butona tıkladığını bulalım. Bunun için Radyo butonun checked özelliğinden yararlanacağız. Elde ettiğimiz değeri sayısal bir değişkene aktaralım. Değişkenin adını taksitSayisi olarak belirleyelim. Projeyi çalıştırıp sonucu görelim.

var taksitSayisi = 0;
var paymentMethod = parseInt($("input[
             name='paymentMethod']:checked").val());
switch (paymentMethod) {
    case 1:
        taksitSayisi = 1;
        break;
    case 2:
        taksitSayisi = 2;
        break;
    case 3:
        taksitSayisi = 3;
        break;
    case 4:
        taksitSayisi = 4;
        break;
    case 5:
        taksitSayisi = 5;
        break;
};

Adım 18: Taksit sayısına göre ödenecek tutarı bulmaya çalışalım. Bunun için tutar isminde bir değişken tanımlayalım. Girilen miktarı taksit tutarına bölelim. Projeyi çalıştırıp sonucu görelim.

var taksitSayisi = 0;
var tutar = 0;
// ödeme şekline göre taksit sayısını belirle
var paymentMethod = parseInt($("input[
              name='paymentMethod']:checked").val());
switch (paymentMethod) {
    case 1:
        taksitSayisi = 1;
        break;
    case 2:
        taksitSayisi = 2;
        fiyat = fiyat * 1.03;
        break;
    case 3:
        taksitSayisi = 3;
        fiyat = fiyat * 1.05;
        break;
    case 4:
        taksitSayisi = 4;
        fiyat = fiyat * 1.07;
        break;
    case 5:
        taksitSayisi = 5;
        fiyat = fiyat * 1.09;
        break;
}
tutar = fiyat / taksitSayisi;

Adım 19: Şimdi de taksit tarihlerini ve ödeme raporunu oluşturalım. Bunun için web sayfasına paymentDetails isminde bir kutu ekleyelim. Başlığını "Ödeme Detayları" olarak belirleyelim.  

 

<div id="paymentDetails" class="mt-4" style="display: none;">
    <h4>Ödeme Detayları</h4>
    <ul id="paymentList" class="list-group">
        <!-- Ödeme detayları burada listelenecek -->
    </ul>
</div>

Adım 20: Taksit sayısına göre ödeme tarihlerini ve tutarlarını görüntüleyelim. Taksit tarihi hafta sonuna geldiyse bu tarihleri hafta içine almaya çalışalım. Projeyi çalıştırıp sonucu görelim.

$("#paymentDetails").show();
$("#paymentList").html("");
for (let i = 1; i <= taksitSayisi; i++) {
    let taksitTarihi = new Date();
    taksitTarihi.setMonth(taksitTarihi.getMonth() + i);

    switch (taksitTarihi.getDay()) {
        case 6: 
            taksitTarihi.setDate(taksitTarihi.getDate() + 2);
            break;
        case 0: 
            taksitTarihi.setDate(taksitTarihi.getDate() + 1);
            break;
    }

    $("#paymentList").append(`<li class="list-group-item">
${taksitTarihi.toLocaleDateString()} - ${tutar.toFixed(2)} ₺</li>`);
}

$("#txtFiyat").val("");
$("#txtFiyat").focus();

Makaleyi beğenmeyi ve paylaşmayı unutmayalım. Emeğe saygı gösterelim. Sorularınızı ve yapmamıızı istediğiniz problemleri bize yazabilirsiniz. İyi çalışmalar....


İlgili Makaleler
Basamak Değerleri Seçilerek Elde Edilen Sayılarla Toplama İşlemi Alıştırmaları Yapan Programı Javascript Script Dilinde Yapınız
Kredi Kartı Taksitlendirme İşlemini Yapan Uygulamayı Terminal Tabanlı Olarak Tasarlayan Web Uygulaması
Web Sayfasında Tıklanan Resmin Gerçek Boyutunu Öğrenme
Javascript Kodlarıyla Tarayıcı Penceresinde Yön Tuşlarıyla Kutunun Hareket Ettirilmesi
JavaScript Kodlarıyla TextBox Nesnesine Sadece Sayıların Girilmesini Sağlama
RadioButton Yardımıyla Web Sayfasının Arkaplan Rengini Değiştiren Uygulamayı Javascript Kodlarıyla Tasarlama
Validation Kontrollerini Yaparak Kimlik Bilgileri Formunu Oluşturan Programı Javascript Script Dilinde Yapınız
Koordinat Düzleminde Verilen Bir Noktanın Hangi Bölgeye Düştüğünü Bulan Programı Javascript Script Dilinde Yapınız
Faktöriyel Hesabı Yapan Javascript Uygulaması
2020 TYT Matematik Para Makinesiyle İlgili Sorunun Çözümünü Javascript Diliyle Kodlama
Çarpma İşaretini Kullanmadan İki Sayıyı Çarpan Programı Javascript Script Dilinde Yapınız
Tetris Oyununu Javascript Dilini Kullanarak Web Sayfasında Kodlama1
Radio Button İçinden Seçilen Değeri Görüntüleyen Programı Javascript Script Dilinde Yapınız
Pascal Üçgenine Ait İlk 10 Terimin Kat Sayılarını Bulan c# Web Uygulaması
ListBox Yardımıyla Listelenen Dosya Uzantılarının Hangi Medya Dosyası Olduğunu Bulan Web Sayfasını Javascript Kodlarıyla Düzenleme
RadioButton Yardımıyla Resim Galerisi Oluşturan Web Sayfasını Javascript Kodlarıyla Tasarlama
Birinci Dereceden Bir Bilinmeyenli Bir Denkleme Ait Çözüm Kümesine Göre Grafik Oluşturan Programı Javascript Script Dilinde Yapınız
Kullanıcının Metin Kutusuna Girdiği Değeri Javascript Kodlarıyla Ulaşma Yöntemleri
Bölme İşaretini Kullanmadan İki Sayıyı Bölen Programı Javascript Script Dilinde Yapınız
Herbir Satırda Altı Ay Olmak Üzere, Belirtilen Yıla Ait Takvimi Hazırlayıp Görüntüleyen Programı Javascript Script Dilinde Yapınız

Yorum Ekle
   
Kötü İyi