using System;
using System.Data.SqlClient;
using System.Windows.Forms;
using Excel = Microsoft.Office.Interop.Excel;
namespace Kasa_Hareket_Takip
{
public partial class Kasa : Form
{
// Bugünün tarihi
private DateTime today = DateTime.Today;
// Bugünkü tıklama sayısı
private int clickCount = 0;
SqlConnection conn = new SqlConnection("Data Source=THEYORULMAZZ;Initial Catalog=Kasa_Hareket_Takip;Integrated Security=True");
System.Data.DataTable dt = new System.Data.DataTable();
int gelirtoplam;
int gidertoplam;
int bakiyetoplam;
public Kasa()
{
InitializeComponent();
// FormClosing event'i ekle
this.FormClosing += Form1_FormClosing;
// TabControl.SelectedIndexChanged event'i ekle
tabControl1.SelectedIndexChanged += tabControl1_SelectedIndexChanged;
}
private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
{
throw new NotImplementedException();
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
throw new NotImplementedException();
}
// VeriTabanı Kayıtları Listeleme
private void listele()
{
conn.Open();
SqlDataAdapter adtr = new SqlDataAdapter("Select * from Kasa", conn);
adtr.Fill(dt);
dataGridView1.DataSource = dt;
adtr.Dispose();
conn.Close();
}
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
}
private void dataGridView1_Click(object sender, EventArgs e)
{
}
// TextBox Aracında Yazılan Şartlı Bilgi İle Kayıtlar Arasında Arama Yapar
private void txtsearch_TextChanged(object sender, EventArgs e)
{
dt.Clear();
conn.Open();
SqlDataAdapter adtr2 = new SqlDataAdapter("Select * From Kasa where Tarih Like'%" + txtsearch.Text + "%'", conn);
adtr2.Fill(dt);
dataGridView1.DataSource = dt;
adtr2.Dispose();
conn.Close();
}
// TextBox Aracında Yazılan Şartlı Bilgi İle Kayıtlar Arasında Arama Yapar Ve Butona Arama Kodu Atanır
private void btnsearch_Click(object sender, EventArgs e)
{
dt.Clear();
conn.Open();
SqlDataAdapter adtr2 = new SqlDataAdapter("Select * From Kasa where Tarih Like'%" + txtsearch.Text + "%'", conn);
adtr2.Fill(dt);
dataGridView1.DataSource = dt;
adtr2.Dispose();
conn.Close();
}
// Diğer Tablolarda İşlem Yaparak Sonucu Buraya Ekler
string Gelirquery = "SELECT SUM(Gelir_Tutari) FROM Gelir WHERE CAST(Tarih AS DATE) = CAST(GETDATE() AS DATE)";
string Giderquery = "SELECT SUM(Gider_Tutari) FROM Gider WHERE CAST(Tarih AS DATE) = CAST(GETDATE() AS DATE)";
//string Bakiyequery = "UPDATE Kasa SET Bakiye = (SELECT SUM(Gelir.Gelir_Tutari) FROM Gelir WHERE CAST((Gelir.Tarih) AS DATE) = CAST(GETDATE() AS DATE)) - (SELECT SUM(Gider.Gider_Tutari) FROM Gider WHERE CAST((Gider.Tarih) AS DATE) = CAST(GETDATE() AS DATE))";
string date = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss");
private void btngunsonu_Click_1(object sender, EventArgs e)
{
// Tarih kontrol et.
if (today != DateTime.Today)
{
// Tarih farklıysa, tıklama sayısı sıfırla
clickCount = 0;
today = DateTime.Today;
}
// Tıklama sayısı kontrol et.
if (clickCount < 1)
{
// Tıklama sayısı 1 den azsa, veri ekle
// veritabanına veri ekleme kodu
try
{
conn.Open();
SqlCommand cmd = new SqlCommand(Gelirquery, conn);
SqlDataReader sdr = cmd.ExecuteReader();
if (sdr.Read())
{
gelirtoplam = (int)Convert.ToDouble(sdr[0]);
conn.Close();
}
sdr.Close();
conn.Open();
SqlCommand cmdd = new SqlCommand(Giderquery, conn);
SqlDataReader sdr2 = cmdd.ExecuteReader();
if (sdr2.Read())
{
gidertoplam = Convert.ToInt32(sdr2[0]);
conn.Close();
}
sdr2.Close();
conn.Open();
//SqlCommand cmddd = new SqlCommand(Bakiyequery, conn);
//SqlDataReader sdr3 = cmddd.ExecuteReader();
//if (sdr3.Read())
//{
// bakiyetoplam = Convert.ToInt32(sdr3[0]);
// conn.Close();
//}
//sdr3.Close();
SqlCommand cmd1 = new SqlCommand();
cmd1.Connection = conn;
cmd1.CommandText = "INSERT INTO Kasa(Tarih,Gelir,Gider,Bakiye) VALUES (@Tarih, @Gelir, @Gider, @Bakiye)";
cmd1.Parameters.AddWithValue("@Tarih", date);
cmd1.Parameters.AddWithValue("@Gelir", gelirtoplam);
cmd1.Parameters.AddWithValue("@Gider", gidertoplam);
cmd1.Parameters.AddWithValue("@Bakiye", gelirtoplam - gidertoplam);
cmd1.ExecuteNonQuery();
dt.Clear();
conn.Close();
listele();
}
catch (Exception)
{
MessageBox.Show("Eksik Veri Var ! \nVerilerinizi Kontrol Edin Lütfen", "SİSTEM", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
clickCount++;
}
else
{
// Tıklama sayısı 1 den fazla ise, uyarı ver
MessageBox.Show("Bugün İçin Veri Ekleme İzniniz Doldu.", "SİSTEM", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
// Kayıtlı Olan Veriyi Silmek İçin Gerekli Kodlar
private void btnSil_Click_1(object sender, EventArgs e)
{
if (MessageBox.Show("KAYIT SİLİNSİNMİ ?", "SİSTEM", MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk) == DialogResult.Yes)
{
conn.Open();
SqlCommand cmd3 = new SqlCommand();
cmd3.Connection = conn;
cmd3.CommandText = "DELETE FROM Kasa WHERE ID=@NUMARA";
cmd3.Parameters.AddWithValue("@NUMARA", dataGridView1.CurrentRow.Cells[0].Value.ToString());
cmd3.ExecuteNonQuery();
dt.Clear();
conn.Close();
listele();
}
}
// Excel'e Kayıtlı Olan Verileri Aktarmak İçin Aktarma Ve Ekleme Kodları
private void btnexcel_Click_1(object sender, EventArgs e)
{
int sutun = 1;
int satir = 1;
Excel.Application ExcelApp = new Excel.Application();
ExcelApp.Workbooks.Add();
ExcelApp.Visible = true;
ExcelApp.Worksheets[1].Activate();
for (int j = 0; j < dataGridView1.Columns.Count; j++)
{
ExcelApp.Cells[satir, sutun + j].Value = dataGridView1.Columns[j].HeaderText;
}
satir++;
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
for (int j = 0; j < dataGridView1.Columns.Count; j++)
{
ExcelApp.Cells[satir + i, sutun + j].Value = dataGridView1[j, i].Value;
}
}
}
private void Kasa_Load_1(object sender, EventArgs e)
{
// TODO: Bu kod satırı 'kasa_Hareket_TakipDataSet1.Kasa' tablosuna veri yükler. Bunu gerektiği şekilde taşıyabilir, veya kaldırabilirsiniz.
this.kasaTableAdapter.Fill(this.kasa_Hareket_TakipDataSet1.Kasa);
listele();
}
}
}