NYP-2 2016 8. Hafta Uygulamaları

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

Share