Example #1
0
        public JsonResult AuctionAdd(teklif_miktarlari auc)
        {
            projeEntities1 db         = new projeEntities1();
            var            urun       = (from u in db.urunler where u.id == auc.urun_id select u).First();
            DateTime       localTime  = DateTime.Now;
            DateTime       startTime  = Convert.ToDateTime(urun.baslangic_tarihi);
            DateTime       finishTime = Convert.ToDateTime(urun.bitis_tarihi);


            if (localTime < startTime || localTime >= finishTime)
            {
                if (urun.teklif_durumu == "Evet")
                {
                    urun.teklif_durumu = "Hayır";
                    db.SaveChanges();
                }
                return(Json(false));
            }


            AuctionDB aucDB = new AuctionDB();

            return(Json(aucDB.AuctionAdd(auc), JsonRequestBehavior.AllowGet));
        }
        public int AuctionAdd(teklif_miktarlari auc)
        {
            int i, c;
            var aucCount = new teklif_miktarlari();
            var btn      = (from b in db.teklif_butonlari where b.id == auc.teklif_butonu_id select b).First();
            var uye      = (from u in db.uyeler where u.id == auc.uye_id select u).First();

            if (Convert.ToDouble(btn.miktar) > uye.bakiye)
            {
                return(100);
            }

            aucCount.teklif_butonu_id = auc.teklif_butonu_id;
            aucCount.urun_id          = auc.urun_id;
            aucCount.uye_id           = auc.uye_id;
            aucCount.tarih            = DateTime.Now;

            db.teklif_miktarlari.Add(aucCount);
            i = db.SaveChanges();

            if (Convert.ToBoolean(i))
            {
                var urun = (from ur in db.urunler where ur.id == auc.urun_id select ur).First();


                uye.bakiye -= Convert.ToDouble(btn.miktar);
                c           = db.SaveChanges();

                if (Convert.ToBoolean(c))
                {
                    var group = db.teklif_miktarlari
                                .Where(a => a.urun_id == auc.urun_id)
                                .GroupBy(a => a.uye_id)
                                .Select(a => new { Toplam = a.Sum(b => b.teklif_butonlari.miktar), ID = a.Key });

                    int eb         = 0;
                    int max_uye_id = 0;
                    foreach (var item in group)
                    {
                        if (item.Toplam > eb)
                        {
                            eb         = item.Toplam;
                            max_uye_id = item.ID;
                        }
                    }

                    var teklif = from t in db.teklifler where t.urun_id == auc.urun_id select t;
                    if (teklif.Count() > 0)
                    {
                        var tek = teklif.First();
                        tek.uye_id = max_uye_id;
                        tek.teklif = eb;
                        db.SaveChanges();
                    }
                    else
                    {
                        var teklifler = new teklifler();
                        teklifler.urun_id = auc.urun_id;
                        teklifler.uye_id  = max_uye_id;
                        teklifler.teklif  = eb;
                        teklifler.durum   = "Yok";
                        db.teklifler.Add(teklifler);
                        db.SaveChanges();
                    }
                }
            }

            return(i);
        }