Kaydol:
Kayıt Yorumları
(
Atom
)
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace C_Sharp_Form_Tarih_islemleri_Hesaplama { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { textboxTemizle();//textbox kutularını temizleme txtCeza.Enabled = false; // ceza kutusunu sadece program kullanabilir txtToplam.Enabled = false; // toplam kutusunu sadece program kullanabilir } /// Hesaplama butonuna tıklandığında gerşekleştirilecek işlemeler private void btnHesapla_Click(object sender, EventArgs e) { if (txtName.Text.Trim() == "") { MessageBox.Show("Lütfen bir malzeme ismi giriniz.", "Uyarı"); return;//boş bir değer girildiyse işlem yapmadan çık } else if (txtTutar.Text.Trim() == "") { MessageBox.Show("Lütfen bir malzeme tutarını giriniz.", "Uyarı"); return;//boş bir değer girildiyse işlem yapmadan çık } //datetime değişkenlerini tanımlama DateTime son_Odeme_Tarihi, odendime_Tarih; double fiyat = 0, fark = 0, ceza = 0; //ceza miktarını hesaplama. Try catch bloğu ile girilen tutar eğer //tam sayı değilse oluşacak (exception) hatalar önlenir. try { fiyat = long.Parse(txtTutar.Text); son_Odeme_Tarihi = dateSonOdemeTarihi.Value; odendime_Tarih = dateOdemeTarihi.Value; TimeSpan ts = odendime_Tarih - son_Odeme_Tarihi ; fark = Math.Round(ts.TotalDays); } catch (Exception hata) { //Hata verdirecek messagebox kutusu. Başlığında HATA yazsın. Bir tan Ok //butonu olsun ve icon olarak error ikonunu kullanmasını istiyorum. MessageBox.Show("Bilgiler hatalı yazılmış." + hata.Message,"HATA",MessageBoxButtons.OK,MessageBoxIcon.Error); } //eğer ceza varsa bunu kullanıcıya göster if (fark > 0) { ceza = fark * fiyat * 2 / 1000; txtCeza.Text = ceza.ToString("#,#"); txtToplam.Text = (fiyat + ceza).ToString("#,#"); MessageBox.Show(fark + " gün geç ödendi." + txtCeza.Text + " TL ceza ödeyecek","GEç ödenme yaptınız. Ceza miktarı..."); } else if (fark == 0) // Eğer bir ceza yoksa bunu göster { ceza = 0; txtCeza.Text = "0"; txtToplam.Text = fiyat.ToString("#,#"); MessageBox.Show("Tam gününde ödendi","Teşekürler"); } else // { ceza = 0; txtCeza.Text = ceza.ToString("#,#"); txtToplam.Text = (fiyat - ceza).ToString("#,#"); MessageBox.Show(fark + " gün erken ödendi." + 500 + " TL indirimli ödeyecek","Teşekürler. Erken Ödeme yaptınız."); } } /// Yeni hesaplama butonuna tıklama işlemi private void btnYeniHesaplama_Click(object sender, EventArgs e) { //Yeni hesaplama butonuna tıklandığında tüm textbox kutucuklarının text //değerini temizleyecek textboxTemizle(); } /// Textbox kutularını yenileme ve temizleme işlemini yapan metot private void textboxTemizle() { // Textbox ların hepsinin Text değerini temizlemek için foreach ile // form kontrollerin hepsini kontrol et. Textbox olan kontrollerin text // değerini string.Empty olarak güncelle foreach (Control item in this.Controls) { if (item is TextBox) (item as TextBox).Text = string.Empty; } int sıfırla = 0; txtToplam.Text = sıfırla.ToString("0.00"); txtCeza.Text = sıfırla.ToString("0.00"); } } }
Hiç yorum yok :
Yorum Gönder