Ado. Net Depo Otomasyon 2 bölüm

Hiç yorum yok

 Merhaba

 Ado.Net Otomasyon Senaryomuzun 2 bölümü 




using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Data.SqlClient;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;


namespace DepoStokJoin

{

    public partial class Form2 : Form

    {

        public Form2()

        {

            InitializeComponent();

        }


        private void Form2_Load(object sender, EventArgs e)

        {

            TedarikciGetir();

            KategoriGetir();

        }

        SqlConnection cnn = new SqlConnection("Data Source=DESKTOP-F7P5CJL\\SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=True");

public void TedarikciGetir()
        {
            SqlCommand cmd = new SqlCommand("Select * from Tedarikciler", cnn);
            cnn.Open();
            SqlDataReader rdr = cmd.ExecuteReader();
            while (rdr.Read())
            {
                ComboMain cmb = new ComboMain();
                cmb.Text = rdr["SirketAdi"].ToString();
                cmb.Value = rdr["TedarikciID"];
                cmbTedarikci.Items.Add(cmb);
            }
            cnn.Close();


        }

        public void KategoriGetir()
        {
            SqlCommand cmd = new SqlCommand("Select * From Kategoriler", cnn);

           
            cnn.Open();
            SqlDataReader rdr = cmd.ExecuteReader();
            if (rdr.HasRows)
            {
                while (rdr.Read())
                {
                    ComboMain cmb = new ComboMain();
                    cmb.Text = rdr["KategoriAdi"].ToString();
                    cmb.Value = rdr["KategoriID"];
                    cmbKategori.Items.Add(cmb);
                }
            }
            cnn.Close();
        }


        public void UrunDetayGetir(string ID)
        {
            pnlDuzenle.Visible = true;
            pnlIptal.Visible = false;

            
            SqlCommand cmd = new SqlCommand("Select u.UrunID,u.UrunAdi,t.SirketAdi,k.KategoriAdi," +
                "u.BirimdekiMiktar,u.BirimFiyati,u.Sonlandi from Urunler as u inner join Kategoriler as k" +
                " on u.KategoriID=k.KategoriID join Tedarikciler as t on u.TedarikciID=t.TedarikciID where u.UrunID=@UID",cnn);
            cmd.Parameters.AddWithValue("@UID", ID);
            cnn.Open();
            SqlDataReader rdr = cmd.ExecuteReader();
            if (rdr.HasRows)
            {
                while (rdr.Read())
                {
                    //Panel 1 Doldurma
                    lblUrunID.Text= rdr["UrunID"].ToString();
                    lblUrunAdi.Text= rdr["UrunAdi"].ToString();
                    lblTedarikciAdi.Text= rdr["SirketAdi"].ToString();
                    lblKategoriAdi.Text= rdr["KategoriAdi"].ToString();
                    lblBirimMiktar.Text= rdr["BirimdekiMiktar"].ToString();
                    lblBirimFiyat.Text= rdr["BirimFiyati"].ToString();
                    lblSonlandi.Text= rdr["Sonlandi"].ToString();
                    //Panel2 doldurma Kısmı
                    lblUrunID2.Text = rdr["UrunID"].ToString();
                    txtUrunAdi.Text = rdr["UrunAdi"].ToString();
                    txtBirimFiyat.Text = rdr["BirimFiyati"].ToString();
                    txtBirimMiktar.Text = rdr["BirimdekiMiktar"].ToString();
                     chckSonlandi.Checked = Convert.ToBoolean(rdr["Sonlandi"].ToString());
                    cmbKategori.Text = rdr["KategoriAdi"].ToString();
                    cmbTedarikci.Text = rdr["SirketAdi"].ToString();

                }
            }
            else
            {
                MessageBox.Show("Data Okunamadı");
            }
            cnn.Close();

        }
   private void btnSil_Click(object sender, EventArgs e)
        {
           DialogResult sonuc= MessageBox.Show("Silmek İstediğinizden Emin misiniz?", "Onay", MessageBoxButtons.YesNo);
            if (sonuc==DialogResult.Yes)
            {
                SqlCommand cmd = new SqlCommand("Delete from Urunler where UrunID=@UID", cnn);
                cmd.Parameters.AddWithValue("@UID", lblUrunID.Text);

                cnn.Open();
                int etkilenensatirsayisi = cmd.ExecuteNonQuery();
                if (etkilenensatirsayisi > 0)
                {
                    MessageBox.Show("Veri Silindi");
                    Form1 frm = Application.OpenForms["Form1"] as Form1;
                    frm.UrunleriGetir();
                    
                }
                else
                {
                    MessageBox.Show("Veri Silinemedi");
                }

                cnn.Close();
            }
            else
            {
                this.Close();
            }
        }
 private void btnDuzenle_Click(object sender, EventArgs e)
        {
            pnlDuzenle.Visible = false;
            pnlIptal.Visible = true;
           
        }
  private void btnIptal_Click(object sender, EventArgs e)
        {
            pnlIptal.Visible = false;
            pnlDuzenle.Visible = true;
        }
 private void btnGuncelle_Click(object sender, EventArgs e)
        {
            SqlCommand cmd = new SqlCommand("Update Urunler set UrunAdi=@UrunAdi,TedarikciID=@TedID," +
                "KategoriID=@KatID,BirimdekiMiktar=@Miktar,BirimFiyati=@fiyat,Sonlandi=@Son where UrunID=@UID", cnn);
            cmd.Parameters.AddWithValue("UID", lblUrunID2.Text);
            cmd.Parameters.AddWithValue("@UrunAdi", txtUrunAdi.Text);

            ComboMain cmbted=   cmbTedarikci.SelectedItem as ComboMain;
            cmd.Parameters.AddWithValue("@TedID", cmbted.Value);

            ComboMain cmbkat = cmbKategori.SelectedItem as ComboMain;
            cmd.Parameters.AddWithValue("@KatID", cmbkat.Value);

            cmd.Parameters.AddWithValue("@Miktar", txtBirimMiktar.Text);

            SqlParameter prm = new SqlParameter("@Fiyat", SqlDbType.Money);
            prm.Value = txtBirimFiyat.Text;

            cmd.Parameters.Add(prm);

            cmd.Parameters.AddWithValue("@Son",chckSonlandi.Checked);
            cnn.Open();
            int etkilelenensatirsayisi=cmd.ExecuteNonQuery();

            if (etkilelenensatirsayisi > 0)
            {
                MessageBox.Show("Güncelleme İşlemi Gerçekleşti");
                Form1 frm = Application.OpenForms["Form1"] as Form1;
                frm.UrunleriGetir();
            }
            else
            {
                MessageBox.Show("Veri güncellemnemedi");
            }
            cnn.Close();


        }
    }
}

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;


namespace DepoStokJoin

{

    public class ComboMain

    {

        public string Text { get; set; }


        public object Value { get; set; }


        public override string ToString()

        {

            return Text;//Ekrana Comboboxdaki Şirket adi veya KategoriAdinı almak için yaptık

        }

    }

}


Erdem Yazılım Lisesi Öğrencileri için hazırlanmıştır 





Hiç yorum yok :

Ado.Net Depo Otomasyon

Hiç yorum yok

 Merhaba Arkadaşlar ;


Bu bölümde bir senaryo ele alıp bu senaryoya göre Windows Application'ımız üzerinde ilerliyor olacağız.

Senaryo 

Senaryo ;

Öğrencilerimizden Selim ABC isimli yazılım firmasında işe başlamıştır. Selim'den istenen ülkeler arası taşımacılık yapan DEFG isimli firmanın deposuna gerekli yazılımı yapmasıdır.

Depo elamanı Mike 'ın depodaki ürünlerin listeni görebileceği bir ekran tasarlanması ve bu ekran üzerinde seçili ürüne tıklayıp detayını görmesi ,stok miktarı azalmış ise yada ürün isminde ,tedarikçisinde ,kategorisinde bir değişik olduğunda güncelleyebilmesi ve stoklarını takip edip gereken uyarıyı zamanından önce üst kademesine yada tedarikçi firmaya bildirebilmesidir.

Bu nedenle aşağıdaki formların tasarım ekranlarını yapmanız beklenmektedir. Daha sonra projemizin kod ekranlarını sınıf ortamında bir Database oluşturup yazıyor olacağız.


Ekran Tasarımlarımız 








form1 code behind 


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace DepoStokJoin
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            UrunleriGetir();
        }

        public void UrunleriGetir()
        {
            lsvListe.Items.Clear();
            SqlConnection cnn = new SqlConnection("Data Source=DESKTOP-F7P5CJL\\SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=True");

            SqlCommand cmd = new SqlCommand("Select u.UrunID,u.UrunAdi,k.KategoriAdi from Urunler as u join Kategoriler as k on u.KategoriID=k.KategoriID", cnn);

            cnn.Open();
            SqlDataReader rdr = cmd.ExecuteReader();
            if (rdr.HasRows)
            {
                while (rdr.Read())
                {
                    ListViewItem satir = new ListViewItem();
                    satir.Text = rdr["UrunID"].ToString();
                    satir.SubItems.Add(rdr["UrunAdi"].ToString());
                    satir.SubItems.Add(rdr["KategoriAdi"].ToString());

                    lsvListe.Items.Add(satir);
                }
            }
            else
            {
                MessageBox.Show("Herhangi Bir Data Okunamadı");
            }


            cnn.Close();
        }

        private void lsvListe_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            Form2 frm = Application.OpenForms["Form2"] as Form2;
            if (frm == null)
            {
                frm = new Form2();
            }
            frm.UrunDetayGetir(lsvListe.SelectedItems[0].Text);
            frm.Show();
        }
    }
}

Erdem Yazılım Lisesi Öğrencileri İçin Hazırlanmıştır







Hiç yorum yok :