//form load event private void Stoklar_Load(object sender, EventArgs e) { //açılışta capslock açıksa kapatıyoruz. ToggleCapsLock(false); StokBilgileri[] info = new StokBilgileri[1]; if (File.Exists("stoklar.xml")) { XmlLoad<StokBilgileri> loadInfo = new XmlLoad<StokBilgileri>(); info = loadInfo.LoadRestoran("stoklar.xml"); stokListesi.AddRange(info); goster(); } //varsa ilk ürün seçilip bilgileri girilsin if (myListUrunler.Items.Count > 0) { myListUrunler.Items[0].Selected = true; myListUrunler.Focus(); textboxUrunAdi.Text = myListUrunler.SelectedItems[0].SubItems[0].Text; textBoxUrunMiktari.Text = myListUrunler.SelectedItems[0].SubItems[1].Text; comboBoxMiktarTipi.Text = myListUrunler.SelectedItems[0].SubItems[2].Text; newStokForm.Text = textboxUrunAdi.Text; } else { newStokForm.Enabled = false; btnStogaEkle.Enabled = false; } }
//ürün eklemek için veya güncellemek için gereken fonksiyon private void buttonSaveNewStok_Click(object sender, EventArgs e) { if (textboxUrunAdi.Text == "Yeni Ürün" || textboxUrunAdi.Text == "" || textBoxUrunMiktari.Text == "" || comboBoxMiktarTipi.Text == "") { KontrolFormu dialog = new KontrolFormu("Eksik veya hatalı bilgi girdiniz, lütfen kontrol ediniz", false); dialog.Show(); textboxUrunAdi.Focus(); return; } //Yeni ürün kaydet tuşu. ekle tuşuna basıp bilgileri girdikten sonra kaydete basıyoruz if (newStokForm.Text == "Yeni Ürün") { KontrolFormu dialog; bool varmi = false, ayniMi = false; int bulunanindis = 0; for (int i = 0; i < stokListesi.Count; i++) { if (string.Equals(stokListesi[i].StokAdi, textboxUrunAdi.Text, StringComparison.CurrentCultureIgnoreCase) && stokListesi[i].MiktarTipi != comboBoxMiktarTipi.Text) { ayniMi = true; bulunanindis = i; break; } if (string.Equals(stokListesi[i].StokAdi, textboxUrunAdi.Text, StringComparison.CurrentCultureIgnoreCase)) { varmi = true; bulunanindis = i; break; } } if (ayniMi) { DialogResult eminMisiniz; using (dialog = new KontrolFormu("Eklemek istediğiniz ürün stoklarda bulunmaktadır. Ancak ürün miktarı tipi farklı girilmiş, ürün miktarını varolan stoğa eklemek ister misiniz?", true)) { eminMisiniz = dialog.ShowDialog(); } if (eminMisiniz == DialogResult.Yes) { stokListesi[bulunanindis].StokMiktari += Convert.ToDouble(textBoxUrunMiktari.Text); myListUrunler.Items[bulunanindis].SubItems[1].Text = (stokListesi[bulunanindis].StokMiktari).ToString(); XmlSave.SaveRestoran(stokListesi, "stoklar.xml"); dialog = new KontrolFormu(stokListesi[bulunanindis].StokAdi + " adlı ürün güncellenmiştir", false); dialog.Show(); } else { textboxUrunAdi.Focus(); } return; } else if (varmi) { DialogResult eminMisiniz; using (dialog = new KontrolFormu("Eklemek istediğiniz ürün stoklarda bulunmaktadır. Ürün miktarını varolan stoğa eklemek ister misiniz?", true)) { eminMisiniz = dialog.ShowDialog(); } if (eminMisiniz == DialogResult.Yes) { stokListesi[bulunanindis].StokMiktari += Convert.ToDouble(textBoxUrunMiktari.Text); myListUrunler.Items[bulunanindis].SubItems[1].Text = (stokListesi[bulunanindis].StokMiktari).ToString(); XmlSave.SaveRestoran(stokListesi, "stoklar.xml"); dialog = new KontrolFormu(stokListesi[bulunanindis].StokAdi + " adlı ürün güncellenmiştir", false); dialog.Show(); } else { textboxUrunAdi.Focus(); } return; } newStokForm.Text = textboxUrunAdi.Text; StokBilgileri yeniurun = new StokBilgileri(); yeniurun.StokAdi = textboxUrunAdi.Text; yeniurun.StokMiktari = Convert.ToDouble(textBoxUrunMiktari.Text); yeniurun.MiktarTipi = comboBoxMiktarTipi.Text; stokListesi.Add(yeniurun); XmlSave.SaveRestoran(stokListesi, "stoklar.xml"); myListUrunler.Items.Add(yeniurun.StokAdi); myListUrunler.Items[myListUrunler.Items.Count - 1].SubItems.Add(yeniurun.StokMiktari.ToString()); myListUrunler.Items[myListUrunler.Items.Count - 1].SubItems.Add(yeniurun.MiktarTipi); myListUrunler.Items[myListUrunler.Items.Count - 1].Selected = true; if (myListUrunler.Items.Count > 0) { newStokForm.Enabled = true; btnStogaEkle.Enabled = false; } buttonDeleteStok.Visible = true; buttonCancel.Visible = false; dialog = new KontrolFormu("Yeni Ürün Bilgileri Kaydedilmiştir", false); dialog.Show(); } else //üründe değişiklik yapıldıktan sonra basılan kaydet butonu. { KontrolFormu dialog; if (sender != null) { bool varmi = false, ayniMi = false; int bulunanindis = 0; if (myListUrunler.SelectedItems[0].Text != textboxUrunAdi.Text) { for (int i = 0; i < stokListesi.Count; i++) { if (string.Equals(stokListesi[i].StokAdi, textboxUrunAdi.Text, StringComparison.CurrentCultureIgnoreCase) && i != myListUrunler.SelectedIndices[0] && stokListesi[i].MiktarTipi != comboBoxMiktarTipi.Text) { ayniMi = true; bulunanindis = i; break; } if (string.Equals(stokListesi[i].StokAdi, textboxUrunAdi.Text, StringComparison.CurrentCultureIgnoreCase) && i != myListUrunler.SelectedIndices[0]) { varmi = true; bulunanindis = i; break; } } } if (ayniMi) { DialogResult eminMisiniz; using (dialog = new KontrolFormu("Güncellemek istediğiniz ürün stoklarda bulunmaktadır, ancak ürün miktarı tipi farklı. Ürün miktarını varolan stoğa eklemek ister misiniz?", true)) { eminMisiniz = dialog.ShowDialog(); } if (eminMisiniz == DialogResult.Yes) { string silinen = myListUrunler.SelectedItems[0].Text, guncellenen = stokListesi[bulunanindis].StokAdi; stokListesi[bulunanindis].StokMiktari += Convert.ToDouble(textBoxUrunMiktari.Text); myListUrunler.Items[bulunanindis].SubItems[1].Text = (stokListesi[bulunanindis].StokMiktari).ToString(); stokListesi.RemoveAt(myListUrunler.SelectedItems[0].Index); XmlSave.SaveRestoran(stokListesi, "stoklar.xml"); myListUrunler.SelectedItems[0].Remove(); dialog = new KontrolFormu(silinen + " adlı ürün silinmiş ve miktarı " + guncellenen + " adlı ürüne eklenmiştir", false); dialog.Show(); } else { textboxUrunAdi.Focus(); } return; } else if (varmi) { DialogResult eminMisiniz; using (dialog = new KontrolFormu("Güncellemek istediğiniz ürün stoklarda bulunmaktadır. Ürün miktarını varolan stoğa eklemek ister misiniz?", true)) { eminMisiniz = dialog.ShowDialog(); } if (eminMisiniz == DialogResult.Yes) { string silinen = myListUrunler.SelectedItems[0].Text, guncellenen = stokListesi[bulunanindis].StokAdi; stokListesi[bulunanindis].StokMiktari += Convert.ToDouble(textBoxUrunMiktari.Text); myListUrunler.Items[bulunanindis].SubItems[1].Text = (stokListesi[bulunanindis].StokMiktari).ToString(); stokListesi.RemoveAt(myListUrunler.SelectedItems[0].Index); XmlSave.SaveRestoran(stokListesi, "stoklar.xml"); myListUrunler.SelectedItems[0].Remove(); dialog = new KontrolFormu(silinen + " adlı ürün silinmiş ve miktarı " + guncellenen + " adlı ürüne eklenmiştir", false); dialog.Show(); } else { textboxUrunAdi.Focus(); } return; } } stokListesi[myListUrunler.SelectedIndices[0]].StokAdi = textboxUrunAdi.Text; stokListesi[myListUrunler.SelectedIndices[0]].StokMiktari = Convert.ToDouble(textBoxUrunMiktari.Text); stokListesi[myListUrunler.SelectedIndices[0]].MiktarTipi = comboBoxMiktarTipi.Text; XmlSave.SaveRestoran(stokListesi, "stoklar.xml"); myListUrunler.Items[myListUrunler.SelectedIndices[0]].Text = textboxUrunAdi.Text; myListUrunler.Items[myListUrunler.SelectedIndices[0]].SubItems[1].Text = textBoxUrunMiktari.Text; myListUrunler.Items[myListUrunler.SelectedIndices[0]].SubItems[2].Text = comboBoxMiktarTipi.Text; newStokForm.Text = textboxUrunAdi.Text; dialog = new KontrolFormu("Ürün Bilgileri Güncellenmiştir", false); dialog.Show(); } btnStogaEkle.Enabled = true; }