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
Validation Kontrollerini Yaparak Kimlik Bilgileri Formunu Oluşturan 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
Tıklanan Resmi Orijinal Boyutunda Canvas Ekranına Yükleme
Html Etiketlerine Kodlarla Resim Ekleme
Faktöriyel Hesabı Yapan Javascript Uygulaması
Tetris Oyununu Javascript Dilini Kullanarak Web Sayfasında Kodlama1
Tetris Oyununu Javascript Dilini Kullanarak Web Sayfasında Kodlama2
Form Nesnesi İçinde Kullanılan Elemanların Dinamik Kullanılması
Tetris Oyununu Javascript Dilini Kullanarak Web Sayfasında Kodlama5
Çarpma İşaretini Kullanmadan İki Sayıyı Çarpan Programı Javascript Script Dilinde Yapınız
Yayınlanan Web Service Hizmetini Terminal Tabanlı Web Sayfasında Kullanma
BootStrap 5 ve Javascript Kullanarak Paralelkenarın Alanını ve Çevresini Bulan Web Uygulaması
Prompt Komutunu Kullanarak Tarayıcının Boyutunu Değiştirip Görüntüleyen Web Sayfasını Tasarlayınız
Kullanıcının Metin Kutusuna Girdiği Değeri Javascript Kodlarıyla Ulaşma Yöntemleri
Belli Bir Süre Tarayıcı Ekranının Boyutunu Değiştiren Animasyon Uygulaması
Girilen Beş Sayıdan En Büyüğünü Bulan Uygulamayı BootStrap Tema İle Tasarlayınız
Web Sayfasında JavaScript Kodlarıyla Tabloda Satıra Bilgi Girme
Herhangi Bir Açısı Belli Olmayan Üçgenin Alanını Bulan Programı Javascript Script Dilinde Kodlayınız
Onaltılık Sayıyı Sekizlik Sayı Sistemine Dönüştüren Programı Javascript Script Dilinde Kodlayınız

Yorum Ekle
   
Kötü İyi