private void btnDelete_Click(object sender, EventArgs e) { if (dataGridView1.SelectedRows.Count == 0) { MessageBox.Show("Silmek istediğiniz satırı seçin", "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } DialogResult result = MessageBox.Show("Seçili satırı silmek istediğinize emin misiniz ?", "Uyarı", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (result == DialogResult.Yes) { try { int ilanId = Convert.ToInt32(dataGridView1.SelectedRows[0].Cells[0].Value); IlanManager.Delete(ilanId); MessageBox.Show("İşleminiz başarıyla gerçekleşti", "Bilgi", MessageBoxButtons.OK, MessageBoxIcon.Information); dataGridView1.DataSource = IlanManager.GetObjectsWithTable(); dataGridView1.Refresh(); } catch (Exception ex) { MessageBox.Show("İşleminiz gerçekleştirilirken hata oluştu :" + ex.Message, "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
private void btnEdit_Click(object sender, EventArgs e) { if (dataGridView1.SelectedRows.Count == 0) { MessageBox.Show("Düzenlemek istediğiniz satırı seçin", "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } int ilanId = Convert.ToInt32(dataGridView1.SelectedRows[0].Cells[0].Value); Ilan ilan = IlanManager.GetObjectById(ilanId); frmIlanDetay frm = new frmIlanDetay(ilan); frm.ShowDialog(); }
private void btnSave_Click(object sender, EventArgs e) { try { if (willUpdateItem != null) { willUpdateItem.Ilan_Adi = txtIlanAdi.Text; willUpdateItem.Ilan_ArabaID = arabaList.FirstOrDefault(x => x.Marka == cmbAraba.SelectedText).ArabaID; willUpdateItem.Ilan_Fiyat = (double)spnFiyat.EditValue; willUpdateItem.Ilan_Km = (double)spnKilometre.EditValue; willUpdateItem.Ilan_SehirID = sehirList.FirstOrDefault(x => x.SehirAdi == cmbSehir.SelectedText).SehirID; willUpdateItem.Ilan_Tarih = Convert.ToDateTime(dteTarih.EditValue); IlanManager.Update(willUpdateItem); } else { Ilan ilan = new Ilan(); ilan.Ilan_Adi = txtIlanAdi.Text; ilan.Ilan_ArabaID = arabaList.FirstOrDefault(x => x.Marka == cmbAraba.SelectedText).ArabaID; ilan.Ilan_Fiyat = Convert.ToDouble(spnFiyat.EditValue); ilan.Ilan_Km = Convert.ToDouble(spnKilometre.EditValue); ilan.Ilan_SehirID = sehirList.FirstOrDefault(x => x.SehirAdi == cmbSehir.SelectedText).SehirID; ilan.Ilan_Tarih = Convert.ToDateTime(dteTarih.EditValue); IlanManager.Insert(ilan); MessageBox.Show("İşleminiz başarıyla gerçekleşti", "Bilgi", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Close(); } } catch (Exception ex) { MessageBox.Show("İşlem gerçekleştiriirken hata oluştu : " + ex.Message); } }
public void alSat() { // Kullanılacak nesneler ilgili sınıflardan türetildi List <Ilan> tumIlanlar = new List <Ilan>(); List <AlisEmir> alicilar = new List <AlisEmir>(); Kullanici alici = new Kullanici(); Bakiye aliciBakiye = new Bakiye(); Bakiye saticiBakiye = new Bakiye(); Stok aliciStok = new Stok(); Admin admin = new Admin(); // Kullanılacak manager nesneler ilgili sınıflardan türetildi IlanManager ilanManager = new IlanManager(new EfIlanDal()); AlisEmirManager alisEmirManager = new AlisEmirManager(new EfAlisEmirDal()); KullaniciManager kullaniManager = new KullaniciManager(new EfKullaniciDal()); BakiyeManager bakiyeManager = new BakiyeManager(new EfBakiyeDal()); StokManager stokManager = new StokManager(new EfStokDal()); AlimSatimManager alimSatimManager = new AlimSatimManager(new EfAlimSatimDal()); AdminManager adminManager = new AdminManager(new EfAdminDal()); // tüm alıcılar veritabanından bir listeye çekildi alicilar = alisEmirManager.GetAll().Where(p => p.Durum == false).ToList(); // admin bilgisi çekildi admin = adminManager.Get(new Admin { AdminId = 1 }); // alıcı varsa aşağıdaki if şartına girilir, yok ise algoritma yorulmaz, çıkılır if (alicilar.Count != 0) { // her alıcı için aşağıdaki foreach döngüsü dönüyor foreach (var mevcutalici in alicilar) { int toplamsatilanstok = 0; tumIlanlar = ilanManager.GetAll().Where(p => p.Durum == false && p.UrunId == mevcutalici.UrunId).OrderBy(p => p.BirimFiyat).ToList(); foreach (var ilan in tumIlanlar) { toplamsatilanstok += ilan.Miktar; } // alıcının bilgi ve bakiyeleri alici ve alicibakiye değişkenlerine aktarılıyor alici = kullaniManager.getById(new Kullanici { KullaniciId = mevcutalici.AliciId }); aliciBakiye = bakiyeManager.Get(new Bakiye { KullaniciId = mevcutalici.AliciId }); bool uygunUrunKontrol = true; // alıcının alacağı ürün olduğu sürece while döngüsü dönüyor while (mevcutalici.Miktar > 0 && toplamsatilanstok != 0 && uygunUrunKontrol) { // her ilan için aşağıdaki foreach döngüsü dönüyor foreach (var gecerliIlan in tumIlanlar) { // alıcının stok bilgisi alicistok değişkenine aktarılıyor aliciStok = stokManager.GetAll().SingleOrDefault(p => p.KullaniciId == mevcutalici.AliciId && p.UrunId == mevcutalici.UrunId); // satıcının bakiyesi saticibakiye değişkenine aktarılıyor saticiBakiye = bakiyeManager.Get(new Bakiye { KullaniciId = gecerliIlan.SaticiId }); AlimSatim alimSatim = new AlimSatim(); // eğer alıcının verdiği teklife uygun bir satış emri yok ise if (mevcutalici.TeklifFiyat < gecerliIlan.BirimFiyat) { uygunUrunKontrol = false; } decimal adminYuzdesi = 0.01m; // eğer alıcının bakiyesi geçerli ilanın toplam fiyatından büyükse ve alıcıyla satıcı aynı kişi değilse aşağıdaki if şartına giriliyor if (aliciBakiye.MevcutBakiye >= ((gecerliIlan.Miktar * gecerliIlan.BirimFiyat) * (1.01m)) && alici.KullaniciId != gecerliIlan.SaticiId && gecerliIlan.Durum == false && uygunUrunKontrol) { int alinanmiktar; // eğer alıcının alacağı miktar geçerli ilanın miktarından fazla ise aşağıdaki döngü çalışır if (mevcutalici.Miktar >= gecerliIlan.Miktar) { // ilgili aktarımlar gerçekleştirilir alinanmiktar = gecerliIlan.Miktar; toplamsatilanstok -= gecerliIlan.Miktar; mevcutalici.Miktar -= alinanmiktar; aliciBakiye.MevcutBakiye -= (alinanmiktar * gecerliIlan.BirimFiyat); aliciBakiye.MevcutBakiye -= (alinanmiktar * gecerliIlan.BirimFiyat) * adminYuzdesi; admin.Bakiye += (alinanmiktar * gecerliIlan.BirimFiyat) * adminYuzdesi; saticiBakiye.MevcutBakiye += (alinanmiktar * gecerliIlan.BirimFiyat); aliciStok.UrunMiktar += alinanmiktar; aliciStok.UrunOnay = true; gecerliIlan.Miktar = 0; gecerliIlan.Durum = true; // alıcının alacağı miktar sıfıra eşitse yani bittiyse, alım emri kapatılır if (mevcutalici.Miktar == 0) { mevcutalici.Durum = true; } alimSatim.Miktar = alinanmiktar; // admin bakiyesi güncellenir adminManager.Update(admin); // alıcı ve satıcının bakiye ve stok bilgileri, ilgili ilan ve alım emirleri güncellenir bakiyeManager.Update(aliciBakiye); bakiyeManager.Update(saticiBakiye); stokManager.Update(aliciStok); ilanManager.Update(gecerliIlan); alisEmirManager.Update(mevcutalici); alimSatim.AliciId = alici.KullaniciId; alimSatim.SaticiId = gecerliIlan.SaticiId; alimSatim.UrunId = gecerliIlan.UrunId; alimSatim.ToplamFiyat = (alinanmiktar * gecerliIlan.BirimFiyat); alimSatim.Tarih = DateTime.Today; alimSatimManager.Add(alimSatim); } // alıcının alacağı ürün miktarı ilgili ilan miktarından fazla değilse else bloğu çalışır else { // ilgili aktarımlar gerçekleştirilir alinanmiktar = mevcutalici.Miktar; toplamsatilanstok -= mevcutalici.Miktar; gecerliIlan.Miktar -= alinanmiktar; aliciBakiye.MevcutBakiye -= (alinanmiktar * gecerliIlan.BirimFiyat); aliciBakiye.MevcutBakiye -= (alinanmiktar * gecerliIlan.BirimFiyat) * adminYuzdesi; // aracı olan admine komisyon ödemesi işlemi admin.Bakiye += (alinanmiktar * gecerliIlan.BirimFiyat) * adminYuzdesi; saticiBakiye.MevcutBakiye += (alinanmiktar * gecerliIlan.BirimFiyat); aliciStok.UrunMiktar += alinanmiktar; aliciStok.UrunOnay = true; mevcutalici.Miktar = 0; mevcutalici.Durum = true; alimSatim.Miktar = alinanmiktar; // admin bakiyesi güncellenir adminManager.Update(admin); // alıcı ve satıcının bakiye ve stok bilgileri, ilgili ilan ve alım emirleri güncellenir bakiyeManager.Update(aliciBakiye); bakiyeManager.Update(saticiBakiye); stokManager.Update(aliciStok); ilanManager.Update(gecerliIlan); alisEmirManager.Update(mevcutalici); alimSatim.AliciId = alici.KullaniciId; alimSatim.SaticiId = gecerliIlan.SaticiId; alimSatim.UrunId = gecerliIlan.UrunId; alimSatim.ToplamFiyat = (alinanmiktar * gecerliIlan.BirimFiyat); alimSatim.Tarih = DateTime.Today; alimSatimManager.Add(alimSatim); } } } } } } }
private void frmIlan_Load(object sender, EventArgs e) { dataGridView1.DataSource = IlanManager.GetObjectsWithTable(); }
private void btnRefresh_Click(object sender, EventArgs e) { dataGridView1.DataSource = IlanManager.GetObjectsWithTable(); dataGridView1.Refresh(); }
private void btnFilter_Click(object sender, EventArgs e) { string selectQuery = @"SELECT * FROM tbl_Ilan AS I LEFT JOIN tbl_araba AS A ON I.Ilan_ArabaID=A.ArabaID LEFT JOIN tbl_vitesturu AS VT ON A.Araba_VitesTuruID=VT.VitesTuruID LEFT JOIN tbl_yakitturu AS YT ON YT.YakitTuruID=A.Araba_YakitTuruID LEFT JOIN tbl_renk AS R ON R.RenkID=A.Araba_RenkID WHERE "; string whereQuery = String.Empty; if (!string.IsNullOrEmpty(cmbRenk.SelectedText) && cmbRenk.SelectedText != "Seçiniz...") { int renkId = renkList.FirstOrDefault(x => x.RenkAdi == cmbRenk.SelectedText).RenkID; whereQuery += " AND Ilan_RenkID=" + renkId; } if (!string.IsNullOrEmpty(cmbSehir.SelectedText) && cmbSehir.SelectedText != "Seçiniz...") { int sehirId = sehirList.FirstOrDefault(x => x.SehirAdi == cmbSehir.SelectedText).SehirID; whereQuery += " AND Ilan_SehirID=" + sehirId; } if (!string.IsNullOrEmpty(cmbVitesTuru.SelectedText) && cmbVitesTuru.SelectedText != "Seçiniz...") { int vitesTuruId = vitesTuruList.FirstOrDefault(x => x.VitesTuruAdi == cmbVitesTuru.SelectedText).VitesTuruID; whereQuery += " AND A.Araba_VitesTuruID= " + vitesTuruId; } if (!string.IsNullOrEmpty(cmbYakitTuru.SelectedText) && cmbYakitTuru.SelectedText != "Seçiniz...") { int yakitTuruId = yakitTuruList.FirstOrDefault(x => x.YakitTuruAdi == cmbYakitTuru.SelectedText).YakitTuruID; whereQuery += " AND A.Araba_YakitTuruID=" + yakitTuruId; } if (!string.IsNullOrEmpty(txtMarka.Text)) { whereQuery += " AND A.Araba_Marka LIKE'%" + txtMarka.Text + "%'"; } #region Fiyat Filtresi double fiyatMin = Convert.ToDouble(spnMinFiyat.EditValue); double fiyatMax = Convert.ToDouble(spnMaxFiyat.EditValue); if (fiyatMin == 0 && fiyatMax == 0) { } else if (fiyatMin != 0 && fiyatMax == 0) { //minimum fiyattan büyük olanları getir whereQuery += " AND I.Ilan_Fiyat>" + fiyatMin; } else if (fiyatMin == 0 && fiyatMax != 0) { //maximum fiyattan küçük olanları getir whereQuery += " AND I.Ilan_Fiyat<" + fiyatMax; } else { // 2 fiyat arasındakileri getir whereQuery += " AND I.Ilan_Fiyat>" + fiyatMin + " AND I.Ilan_Fiyat<" + fiyatMax; } #endregion #region Kilometre Filtresi double kmMin = Convert.ToDouble(spnMinKm.EditValue); double kmMax = Convert.ToDouble(spnMaxKm.EditValue); if (kmMin == 0 && kmMax == 0) { } else if (kmMin != 0 && kmMax == 0) { //minimum fiyattan büyük olanları getir whereQuery += " AND I.Ilan_Km>" + kmMin; } else if (kmMin == 0 && kmMax != 0) { //maximum fiyattan küçük olanları getir whereQuery += " AND I.Ilan_Km<" + kmMax; } else { // 2 fiyat arasındakileri getir whereQuery += " AND I.Ilan_Km>" + kmMin + " AND I.Ilan_Km<" + kmMax; } #endregion #region Tarih Filtresi if (rgTarih.EditValue != null) { if (rgTarih.EditValue.ToString() == "24Saat") { whereQuery += " AND TIMESTAMPDIFF(HOUR, I.Ilan_Tarih, NOW()) <=24"; } else if (rgTarih.EditValue.ToString() == "1Hafta") {//168 whereQuery += " AND TIMESTAMPDIFF(HOUR, I.Ilan_Tarih, NOW()) <=168"; } //1 ay else { whereQuery += " AND TIMESTAMPDIFF(HOUR, I.Ilan_Tarih, NOW()) <=720"; } } #endregion whereQuery = whereQuery.Substring(4, whereQuery.Length - 4); DataTable dt = IlanManager.GetObjectsWithTable(selectQuery + whereQuery); dataGridView1.DataSource = dt; }