using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
namespace puanlama
{
public partial class Form1 : Form
{
MySqlDataAdapter da_katsayilar, da_kisiler, da_puanlar;
DataTable dt_katsayilar, dt_kisiler, dt_puanlar;
public Form1()
{
InitializeComponent();
MySqlConnectionStringBuilder bag = new MySqlConnectionStringBuilder();
bag.Server = "localhost";
bag.UserID = "root";
bag.Password = "123456";
bag.Database = "hafta8_16_2";
MySqlConnection conn = new MySqlConnection(bag.ToString());
MySqlCommand cmd_katsayilar_sel =
new MySqlCommand("select id,adi,puan from katsayilar;", conn);
da_katsayilar = new MySqlDataAdapter();
da_katsayilar.SelectCommand = cmd_katsayilar_sel;
MySqlCommand cmd_kisiler_sel =
new MySqlCommand("select id,isimler from kisiler order by isimler;", conn);
da_kisiler = new MySqlDataAdapter();
da_kisiler.SelectCommand = cmd_kisiler_sel;
MySqlCommand cmd_puanlar_sel =
new MySqlCommand("select id,kisiid,puanturu, miktar from puanlar;",conn);
MySqlCommand cmd_puanlar_ins =
new MySqlCommand("insert into puanlar(kisiid,puanturu,miktar) values(@kisiid,@puanturu,@miktar);", conn);
cmd_puanlar_ins.Parameters.Add("@kisiid", MySqlDbType.Int32, 11, "kisiid");
cmd_puanlar_ins.Parameters.Add("@puanturu", MySqlDbType.Int32, 11, "puanturu");
cmd_puanlar_ins.Parameters.Add("@miktar", MySqlDbType.Int32, 11, "miktar");
MySqlCommand cmd_puanlar_del =
new MySqlCommand("delete from puanlar where id=@id;", conn);
cmd_puanlar_del.Parameters.Add("@id",MySqlDbType.Int32,11,"id");
da_puanlar = new MySqlDataAdapter();
da_puanlar.SelectCommand = cmd_puanlar_sel;
da_puanlar.DeleteCommand = cmd_puanlar_del;
da_puanlar.InsertCommand = cmd_puanlar_ins;
listedoldur();
}
private void bpuanlama_Click(object sender, EventArgs e)
{
fpuanlama frm = new fpuanlama(da_katsayilar, da_kisiler, da_puanlar);
frm.ShowDialog();
listedoldur();
}
private void kisilerigetir()
{
try
{
dt_kisiler = new DataTable();
da_kisiler.Fill(dt_kisiler);
}
catch
{ }
}
private void katsayilarigetir()
{
try
{
dt_katsayilar = new DataTable();
da_katsayilar.Fill(dt_katsayilar);
}
catch
{ }
}
private void puanlarigetir()
{
try
{
dt_puanlar = new DataTable();
da_puanlar.Fill(dt_puanlar);
}
catch
{ }
}
private void listedoldur()
{
kisilerigetir();
katsayilarigetir();
puanlarigetir();
lisim.Items.Clear();
lpuan.Items.Clear();
lderece.Items.Clear();
int say = dt_kisiler.Rows.Count;
for (int i = 0; i < say; i++)
{
int kisi_id = (int)dt_kisiler.Rows[i]["id"];
int puantoplami = puantoplamihesapla(kisi_id);
if (puantoplami > 0)
{
lisim.Items.Add(dt_kisiler.Rows[i]["isimler"]);
lpuan.Items.Add(puantoplami);
lderece.Items.Add(derecehesapla(puantoplami));
}
}
}
private int puantoplamihesapla(int kisiid)
{
int toplam = 0;
// puanlistesi
DataRow[] dr = dt_puanlar.Select("kisiid=" + kisiid);
for (int i = 0; i < dr.Length; i++)
{
int miktar = (int)dr[i]["miktar"];
int puanturu_id = (int)dr[i]["puanturu"];
// puan katsayilari
int katsayi = katsayibul(puanturu_id);
toplam += miktar * katsayi;
}
return toplam;
}
private int katsayibul(int katsayi_id)
{
DataRow[] dr = dt_katsayilar.Select("id=" + katsayi_id);
if (dr.Length > 0)
return (int)dr[0]["puan"];
return 0;
}
private string derecehesapla(int toplampuan)
{
// hesaplama alg. yazilacak
// her 50 puan icin bir yildiz
return "*";
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
namespace puanlama
{
public partial class fpuanlama : Form
{
MySqlDataAdapter da_katsayilar, da_kisiler, da_puanlar;
DataTable dt_katsayilar, dt_kisiler, dt_puanlar;
public fpuanlama(MySqlDataAdapter _da1,MySqlDataAdapter _da2,MySqlDataAdapter _da3)
{
InitializeComponent();
da_katsayilar = _da1;
da_kisiler = _da2;
da_puanlar = _da3;
listedoldur();
}
private void isimdoldur()
{
cisim.Items.Clear();
try
{
dt_kisiler = new DataTable();
da_kisiler.Fill(dt_kisiler);
int say = dt_kisiler.Rows.Count;
for (int i = 0; i < say; i++)
{
cisim.Items.Add(dt_kisiler.Rows[i]["isimler"]);
}
}
catch
{
}
cisim.Text = "Seçiniz";
}
private void puanturudoldur()
{
cpuanturu.Items.Clear();
try
{
dt_katsayilar = new DataTable();
da_katsayilar.Fill(dt_katsayilar);
int say = dt_katsayilar.Rows.Count;
for (int i = 0; i < say; i++)
{
cpuanturu.Items.Add(dt_katsayilar.Rows[i]["adi"]);
}
}
catch
{
}
cpuanturu.Text = "Seçiniz";
}
private void listedoldur()
{
isimdoldur();
puanturudoldur();
lisim.Items.Clear();
lpuanturu.Items.Clear();
ladet.Items.Clear();
try
{
dt_puanlar = new DataTable();
da_puanlar.Fill(dt_puanlar);
int say = dt_puanlar.Rows.Count;
for (int i = 0; i < say; i++)
{
DataRow dr_kisi =
tablodangetir(dt_kisiler, (int)dt_puanlar.Rows[i]["kisiid"]);
DataRow dr_tur =
tablodangetir(dt_katsayilar, (int)dt_puanlar.Rows[i]["puanturu"]);
if (dr_kisi != null && dr_tur != null)
{
lisim.Items.Add(dr_kisi["isimler"]);
lpuanturu.Items.Add(dr_tur["adi"]);
ladet.Items.Add(dt_puanlar.Rows[i]["miktar"]);
}
/* else
{
// isim ve tur tanimi veritabaninda yer almiyor ise
lisim.Items.Add("-");
lpuanturu.Items.Add("-");
ladet.Items.Add(dt_puanlar.Rows[i]["miktar"]);
}*/
}
}
catch
{
}
}
private DataRow tablodangetir(DataTable dt,int id)
{
DataRow[] dr = dt.Select("id=" + id);
if (dr.Length > 0)
return dr[0];
return null;
}
private void bekle_Click(object sender, EventArgs e)
{
int s_isim = cisim.SelectedIndex;
int s_puanturu = cpuanturu.SelectedIndex;
int miktar;
bool k = Int32.TryParse(tadet.Text, out miktar);
if ( k && s_isim > -1 && s_puanturu > -1)
{
try
{
DataRow dr = dt_puanlar.NewRow();
dr["kisiid"] = (int)dt_kisiler.Rows[s_isim]["id"];
dr["puanturu"] = (int)dt_katsayilar.Rows[s_puanturu]["id"];
dr["miktar"] = miktar;
dt_puanlar.Rows.Add(dr);
da_puanlar.Update(dt_puanlar);
}
catch
{
}
tadet.Clear();
listedoldur();
}
}
private void bsil_Click(object sender, EventArgs e)
{
int secilen = lisim.SelectedIndex;
if (secilen > -1)
{
try
{
// dt_puanlar.Select(""); // tanimsiz bilgileri silmek icin tercih edilebilir
dt_puanlar.Rows[secilen].Delete();
da_puanlar.Update(dt_puanlar);
}
catch
{ }
listedoldur();
}
}
private void bkapat_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
NYP-2 2016 Hafta-8