1. Ana Sayfa
  2. C Sharp
  3. C# Gelir Gider Takip Uygulaması [VIDEO]

C# Gelir Gider Takip Uygulaması [VIDEO]

C# Gelir Gider Takip Uygulaması

Selamlar, artık projelere doyamıyoruz. C# Gelir Gider Takip Uygulaması ile proje yazılarına devam ediyoruz. Yeni konular bulana kadar aklımdaki ufak tefek projeleri sizler için pat pat atmaya devam edeceğim. Üstelik artık youtube’a videolarda çekmeye başladım. Mesela bu projeyi hazırlarken videosunu çektim ve youtube’a yükledim. 1 saatlik bir video oldu. Rezalet internetim yüzünden 12 saatten fazla sürdü yüklenmesi. :)

C# Gelir Gider Takip Uygulaması

Bu projemiz arkadaşlar basit bir gelir gider uygulamasıdır. Ben iskelet diyebileceğimiz kadarını yapıyorum. Güzelleştirmesi size ait. Projeyi bilgisayarınıza indirip istediğiniz gibi düzenleyebilir ve kullanabilirsiniz. Bu yayınladığım tüm projeler ve kodlar için geçerlidir. Eğer ileride udemy gibi platformlarda kurs hazırlamak istersem o zaman daha profesyonel işler çıkartabilirim.

Bu projemizde Gider Tipi ve Gelir/Gider kaydetme, güncelleme ve silme işlemi yaptım. Ayrıca DataGridView’da kayıtları listeledik gelir gider tipine göre (Gelir Mi Gider Mi) filtreleme yaptık. Olabildiğince basit bir uygulama oldu. Geliştirmesi de size ait. :)

Bu projeyi hazırlarken video da aldım ve sessiz bir video değil. Ayrıca kodları ve veritabanını da Github’a yükledim. Bu cümlelerden bıkmış olabilirsiniz ama abone olup, beğenirseniz mutlu olurum. :)

 

Ana Form.cs Tasarımı ve Kodları

Form tasarımı ekran görüntüsü aşağıdaki gibidir.

C# Gelir Gider Takip Uygulaması

Bu formun kodları aşağıdaki gibidir.

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 Gelir_Gider_Takip
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            dgv_Update();
            combo_doldur();
        }
        void combo_doldur()
        {
            cmb_gider_tipi.DataSource = glb.sql.Table("select gdr_Gider_Kod,gdr_Gider_Ad  from GIDER_TIPLERI");
            cmb_gider_tipi.DisplayMember = "gdr_Gider_Ad";
            cmb_gider_tipi.ValueMember = "gdr_Gider_Kod";
        }
        string tip()
        {
            string tip = "";
            if (rad_gelir.Checked == true)
            {
                tip = "Gelir";
            }
            if (rad_gider.Checked == true)
            {
                tip = "Gider";
            }
            return tip;
        }
        private void btn_kaydet_Click(object sender, EventArgs e)
        {
            if (tip() != "")
            {
                if (Convert.ToInt32(cal_recno.Text) == 0)
                {
                    glb.sql.Command(""
                        + "    INSERT INTO[dbo].[GELIR_GIDER_KAYITLARI]     "
                        + "           ([ggr_tarih]                          "
                        + "           ,[ggr_tipi]                           "
                        + "           ,[ggr_gider_tipi]                     "
                        + "           ,[ggr_cari]                           "
                        + "           ,[ggr_tutar]                          "
                        + "           ,[ggr_aciklama]                       "
                        + "           ,[ggr_kayit_tarih])                   "
                        + "     VALUES                                      "
                        + "           ('" + Convert.ToDateTime(dat_tarih.Value).ToString("yyyyMMdd HH:mm") + "'   " //< ggr_tarih, datetime,>              "
                        + "           ,'" + tip() + "'   " //< ggr_tipi, nvarchar(50),>           "
                        + "           ,'" + cmb_gider_tipi.SelectedValue.ToString() + "'   " //< ggr_gider_tipi, nvarchar(50),>     "
                        + "           ,'" + txt_cari.Text + "'   " //< ggr_cari, nvarchar(500),>          "
                        + "           , " + Convert.ToDouble(cal_tutar.Text).ToString().Replace(",", ".") + "   " //< ggr_tutar, float,>                 "
                        + "           ,'" + txt_Aciklama.Text + "'   " //< ggr_aciklama, nvarchar(max),>      "
                        + "           , getdate()  " //< ggr_kayit_tarih, datetime,> "
                        + " )       "
                        );
                    dgv_Update();
                }
                else
                {
                    glb.sql.Command(""
                        + "    update [dbo].[GELIR_GIDER_KAYITLARI]   set  "
                        + "            [ggr_tarih]        = '" + Convert.ToDateTime(dat_tarih.Value).ToString("yyyyMMdd HH:mm") + "'   " //< ggr_tarih, datetime,>              "                  "
                        + "           ,[ggr_tipi]         = '" + tip() + "'   " //< ggr_tipi, nvarchar(50),>           "                  "
                        + "           ,[ggr_gider_tipi]   = '" + cmb_gider_tipi.SelectedValue.ToString() + "'   " //< ggr_gider_tipi, nvarchar(50),>     "                  "
                        + "           ,[ggr_cari]         = '" + txt_cari.Text + "'   " //< ggr_cari, nvarchar(500),>          "                  "
                        + "           ,[ggr_tutar]        = '" + Convert.ToDouble(cal_tutar.Text).ToString().Replace(",", ".") + "'   " //< ggr_tutar, float,>                 "                  "
                        + "           ,[ggr_aciklama]     = '" + txt_Aciklama.Text + "'   " //< ggr_aciklama, nvarchar(max),>      "                  "
                        + "     where     ggr_RECno = " + Convert.ToInt32(cal_recno.Text) + "                                  "
                        );
                    dgv_Update();
                }
            }
            else
            {
                MessageBox.Show("İşlem Tipi seçmeden işlem yapamazsınız!", "Uyarı", MessageBoxButtons.OK, MessageBoxIcon.Stop);
            }
        }
        private void btn_kapat_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }
        private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex >= 0)
            {
                DataGridViewRow row = this.dataGridView1.Rows[e.RowIndex];
                cal_recno.Text = row.Cells["KAYITNO"].Value.ToString();
                cal_tutar.Text = row.Cells["Tutar"].Value.ToString();
                txt_Aciklama.Text = row.Cells["Açıklama"].Value.ToString();
                txt_cari.Text = row.Cells["Cari"].Value.ToString();
                string gelir_gider = row.Cells["Tipi"].Value.ToString();
                switch (gelir_gider)
                {
                    case "Gelir":
                        rad_gelir.Checked = true;
                        break;
                    case "Gider":
                        rad_gider.Checked = true;
                        break;
                    default:
                        rad_gider.Checked = false;
                        rad_gelir.Checked = false;
                        break;
                }
                dat_tarih.Text = row.Cells["Tarih"].Value.ToString();
                cmb_gider_tipi.SelectedValue = row.Cells["Gider Tip Kod"].Value.ToString();
            }
        }
        private void btn_sil_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("Bu " + tip() + " kaydını silmek istediğinzden emin misiniz?", "Onay Verin!", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                glb.sql.Command("delete from  [dbo].[GELIR_GIDER_KAYITLARI]    where     ggr_RECno = " + Convert.ToInt32(cal_recno.Text) + "     ");
                dgv_Update();
            }
        }
        void dgv_Update()
        {
            dataGridView1.DataSource = glb.sql.Table("select * from dbo.fn_GelirGiderListesi(0) " + where);
        }
        string where = " ";
        private void rad_f_hepsi_CheckedChanged(object sender, EventArgs e)
        {
            if (rad_f_gelir.Checked == true)
            {
                where = " where Tipi = 'Gelir'  ";
            }
            if (rad_f_gider.Checked == true)
            {
                where = " where Tipi = 'Gider'  ";
            }
            if (rad_f_hepsi.Checked == true)
            {
                where = "   ";
            }
            dgv_Update();
        }
        private void btn_tip_ekle_Click(object sender, EventArgs e)
        {
            new GiderTipi_Ekle() { }.ShowDialog();
            combo_doldur();
        }
    }
}

Bu kodları incelediğinizde bilinen bazı işlemlerin farklı kullanım şekillerini  fark edeceksiniz. Örneğin en sondaki form açma şekli gibi. Ayrıca burada dikkat etmenizi istediğim yerlerden birisi de şudur. İki defa kullanacağımız kodların hepsi metotların içerisindedir. Örneğin combobox doldurma kodları ve datagiridview doldurma kodları gibi…

 

GiderTipi_Ekle.cs Tasarımı ve Kodları

C# Gelir Gider Takip Uygulaması 2

Bu ekrandaki silme işlemi yapmadım. Bunu siz diğer projelerden bakarak yapabilirsiniz. Kodlarımız da aşağıdaki gibidir.

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 Gelir_Gider_Takip
{
    public partial class GiderTipi_Ekle : Form
    {
        public GiderTipi_Ekle()
        {
            InitializeComponent();
        }
        private void GiderTipi_Ekle_Load(object sender, EventArgs e)
        {

        }
        private void btn_kapat_Click(object sender, EventArgs e)
        {
            Close();
        }
        private void btn_kaydet_Click(object sender, EventArgs e)
        {
            int kontrol = Convert.ToInt16(glb.sql.Command("select count(*) from GIDER_TIPLERI where gdr_Gider_Kod = '" + txt_gider_kod + "'"));
            if (kontrol == 0)
            {
                glb.sql.Command(""
                         + "       INSERT INTO[dbo].[GIDER_TIPLERI] "
                         + "              ([gdr_Gider_Kod] "
                         + "              ,[gdr_Gider_Ad]) "
                         + "        VALUES "
                         + "              ( '" + txt_gider_kod.Text + "' "//< gdr_Gider_Kod, nvarchar(50),> "
                         + "              , '" + txt_gider_kod.Text + "' "//< gdr_Gider_Kod, nvarchar(50),> "
                         + ") ");
                if (glb.sql.exception == null)
                {
                    MessageBox.Show("Kayıt Başarılı");
                }
            }
            else
            {
                glb.sql.Command(""
                    + "    update [dbo].[GIDER_TIPLERI] set "
                    + "              "
                    + "               [gdr_Gider_Ad]  = '" + txt_gider_kod.Text + "' "//< gdr_Gider_Kod, nvarchar(50),> "
                    + "        where  gdr_Gider_Kod = '" + txt_gider_kod.Text + "'"
                    + " ");
                if (glb.sql.exception == null)
                {
                    MessageBox.Show("Güncelleme Başarılı");
                }
            }
        }
    }
}

Projenin tamamı bu kadardı arkadaşlar. Diğer projelerimizde görüşmek üzere…


C# Gelir Gider Takip Uygulaması yazımda bu kadar arkadaşlar.  Diğer yazılarımda görüşmek üzere. Umarım faydalı olmuştur. Aşağıdaki linklerden eğitim seti sayfasına ve github projesine ulaşabilirsiniz.

C Sharp Eğitim Seti eğitimi sayfasına gitmek için tıklayınız.  Derslerime özel olarak hazırladığım Github Projeme buradan ulaşabilirsiniz… Bu projenin Github sayfasına buradan ulaşabilirsiniz.

Sağlıcakla ve kodla kalın….

Yorum Yap

Yazar Hakkında

Liseden, Ağ Sistemleri ve Yönetimi bölümünden mezun oldum. Üniversiteden (2 yıllık), Bilgisayar Programcılığı bölümünden mezun oldum. Şuanda da AÖF, Yönetim Bilişim Sistemleri bölümünde okumaktayım. Uzmanlık alanlarım; Windows Sistemleri, HTML, CSS, C# ve SQL’dir. Hobi olarak uğraştığım genel konular, Photoshop, After Affects, Corel Draw’dır.Film, YABANCI dizi, Anime izlemeyi ve Manga okumayı severim. Arkadaşlarımla yürüyüş yapmayı ve grup olarak aktivitelere gitmeyi severim. Geri kalan zamanlarımın tümü bilgisayar karşısında geçer.

Değerli yorumlarınızı bekliyorum. Lütfen yorum atmadan geçmeyin. :)