Son Haberler
Anasayfa / Yazılım / ASP.NET / Geriye Değer Döndüren Metotlar Uygulama-2

Geriye Değer Döndüren Metotlar Uygulama-2

Bir önceki yazıma kaldığım yerden devam ediyorum. Bu yazıyı okumadan önce aşağıdaki linke göz atınız.

Geriye Değer Döndüren Metotlar Uygulama-1

Şimdi geriye değer döndüren metotlarda uygulamamıza devam edelim. Geriye değer döndüren metotların void ile tanımlanmazlar, bunların bir veri tipi vardır. Parametreli, parametresiz olabilir. Örnek bir tanımlama aşağıdaki gibidir.

string metodumuz (int sayi1, int sayi2, string deneme)
{

kodlarımız,
 return geriyeDonen;
}

Uygulamamıza geri dönüyorum ve işlemlerime devam ediyorum. Kodlarımda geriye değer döndürmeyen ve geriye değer döndüren parametreli metotlar olacak. Tamamen öğrenme amaçlı olarak mantık aramadan gelişigüzel şekilde, string tipinde, double tipinde geriye değer döndüren metotlar oluşturacağım. Şimdi önceki yazıyı okudunuz incelediniz var sayıyor ve devam ediyorum. Butona basıldığı anda benim uygulamam hesap yapacak. Tabi bu arada adet texboxına sayısal veri girilmiş olması gerek. Daha sonra Ödeme tipi alanından da ödeme tipinin seçilmiş olması gerek.

Adet bilgisini alıp, toplam fiyatı bulmak için geriye değer döndürmeyen tipte bir metot tanımladım, iki parametresi var

 void Toplamfiyat(double urunfiyat, double adet)
    {
        //double türünde değişken kullanıyorum çünkü daha sonra KDV hesaba girecek ve odanlıklı sonuçlar alacağım
        double FiyatToplami = urunfiyat * adet;
        lblToplamFiyat.Text = FiyatToplami.ToString();
    }

Daha sonra Toplam KDV tutarını bulacağım. Burada string tipinde geriye değer döndüren bir metot tanımlıyorum.

  string ToplamKDVTutari(double urunFiyat, double adet)
    {
        //KDV toplamını hesaplatıyorum
        double KDVToplami = (urunFiyat * adet) * 0.18;
        return KDVToplami.ToString();
    }

Görüldüğü gibi geriye değer döndüren metotların bir veri tipi mevcut. Parametrede alabiliyor. Daha sonra metotumun içinde yapmam gereken işlemi yapıyorum. ve Return deyimi ile geriye değer döndürüyorum.

KDV Dahil Toplam Fiyatı hesaplamak içinde bu sefer double tipinde iki parametreli bir geriye değer döndüren metot tanımladım. Dolayısı ile bu sefer geriye dönecek değer double olur. Bunu bir yazı alanına yazdıracaksam string yaparım, sonra kodlarda göreceksiniz zaten..

double KDVDahilToplamFiyat(double urunFiyat, double adet)
    {
        //KDV Dahil toplam fiyatı oluşturdum
        double ToplamFiyatKDVli = (urunFiyat * adet) * 1.18;
        return ToplamFiyatKDVli;
    }

Yine son olarak kullanıcı ödeme tipini seçtiğinde kredi kartına taksitli ise hiç indirim almayacak, kapıda nakit ödeme ise %3 indirim alacak, kredi kartına tek ödeme ise %5 indirim alacak, havale ile ödeme ise %7 indirim alacak. Bu durumu Ödeme Tipi alanındaki DropDownList kontrolümden seçeceğim. Burada seçilen öğenin value değerini okuyacağım. Bir önceki yazıdan hatırlayacağınız üzere buralara değer girmiştik.

    string OdenecekTutar(double kdvDahilToplamFiyat, double indirimOran)
    {
        double odemeTutari = kdvDahilToplamFiyat - ((kdvDahilToplamFiyat / 100) * (indirimOran));
        return odemeTutari.ToString();
    }

Ve butona tıklandığında da çalışacak kodlarım aşağıdaki gibi, zaten butona basıldığı anda metotlarımı çağırıyorum.

 protected void btnHesapla_Click(object sender, EventArgs e)
    {
        //Burada DropDownListte seçilen elemanın value değerini okuyorum ve adet bilgisi içinde textboxdan veri alıyorum
        Toplamfiyat(Convert.ToDouble(ddlUrunler.SelectedValue), Convert.ToDouble(txtAdet.Text));
        lblToplamKdvTutari.Text = ToplamKDVTutari(Convert.ToDouble(ddlUrunler.SelectedValue), Convert.ToDouble(txtAdet.Text));
        lblKdvDahilToplamFiyat.Text = Convert.ToString(KDVDahilToplamFiyat(Convert.ToDouble(ddlUrunler.SelectedValue),Convert.ToDouble(txtAdet.Text)));
        lblOdeyeceginizTutar.Text = OdenecekTutar(Convert.ToDouble(lblKdvDahilToplamFiyat.Text),Convert.ToDouble(ddlOdemeTipi.SelectedValue));

    }

İşlemlerin hepsi bu kadar, sonuç olarak aşağıdaki gibi bir görüntü alabilirim.

Uygulamamızın tüm code-behind (c sharp) kodları aşağıdaki gibidir.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    //double tipindeki değişken ondalıklı sayılarıda içermektedir.
    //geriye değer döndürmeyen iki parametreli bir method oluşturdum
    void Toplamfiyat(double urunfiyat, double adet)
    {
        //double türünde değişken kullanıyorum çünkü daha sonra KDV hesaba girecek ve odanlıklı sonuçlar alacağım
        double FiyatToplami = urunfiyat * adet;
        lblToplamFiyat.Text = FiyatToplami.ToString();
    }

    //geriye değer döndüren iki parametreli string tipinde bir metot oluşturdum
    string ToplamKDVTutari(double urunFiyat, double adet)
    {
        //KDV toplamını hesaplatıyorum
        double KDVToplami = (urunFiyat * adet) * 0.18;
        return KDVToplami.ToString();
    }
    //Geriye değer döndüren iki parametreli double tipinde bir metot oluşturdum.
    double KDVDahilToplamFiyat(double urunFiyat, double adet)
    {
        //KDV Dahil toplam fiyatı oluşturdum
        double ToplamFiyatKDVli = (urunFiyat * adet) * 1.18;
        return ToplamFiyatKDVli;
    }

    string OdenecekTutar(double kdvDahilToplamFiyat, double indirimOran)
    {
        double odemeTutari = kdvDahilToplamFiyat - ((kdvDahilToplamFiyat / 100) * (indirimOran));
        return odemeTutari.ToString();
    }

    protected void btnHesapla_Click(object sender, EventArgs e)
    {
        //Burada DropDownListte seçilen elemanın value değerini okuyorum ve adet bilgisi içinde textboxdan veri alıyorum
        Toplamfiyat(Convert.ToDouble(ddlUrunler.SelectedValue), Convert.ToDouble(txtAdet.Text));
        lblToplamKdvTutari.Text = ToplamKDVTutari(Convert.ToDouble(ddlUrunler.SelectedValue), Convert.ToDouble(txtAdet.Text));
        lblKdvDahilToplamFiyat.Text = Convert.ToString(KDVDahilToplamFiyat(Convert.ToDouble(ddlUrunler.SelectedValue),Convert.ToDouble(txtAdet.Text)));
        lblOdeyeceginizTutar.Text = OdenecekTutar(Convert.ToDouble(lblKdvDahilToplamFiyat.Text),Convert.ToDouble(ddlOdemeTipi.SelectedValue));

    }
}

Aşağıdaki linkten uygulamanın tamamını indirebilirsiniz.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir