Ejemplo n.º 1
0
        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);
                }
            }
        }
Ejemplo n.º 2
0
        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();
        }
Ejemplo n.º 3
0
        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);
            }
        }
Ejemplo n.º 4
0
        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);
                                }
                            }
                        }
                    }
                }
            }
        }
Ejemplo n.º 5
0
 private void frmIlan_Load(object sender, EventArgs e)
 {
     dataGridView1.DataSource = IlanManager.GetObjectsWithTable();
 }
Ejemplo n.º 6
0
 private void btnRefresh_Click(object sender, EventArgs e)
 {
     dataGridView1.DataSource = IlanManager.GetObjectsWithTable();
     dataGridView1.Refresh();
 }
Ejemplo n.º 7
0
        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;
        }