예제 #1
0
 public static Basket GetBasketById(int id)
 {
     using (var db = new DbDataContext()) {
         AbonentBasket b = db.AbonentBaskets.SingleOrDefault(t => t.id == id);
         return(null == b ? null : new Basket());
     }
 }
예제 #2
0
 public static Basket GetBasketByHash(string hash)
 {
     using (var db = new DbDataContext()) {
         AbonentBasket b = db.AbonentBaskets.SingleOrDefault(t => t.hash == hash);
         return(null != b ? new Basket {
             id = b.id, idBasketCollection = b.idBasketCollection, msisdn = b.MSISDN
         } : null);
     }
 }
예제 #3
0
 public void Delete()
 {
     using (var db = new DbDataContext()) {
         AbonentBasket b = db.AbonentBaskets.SingleOrDefault(t => t.id == id);
         if (null == b)
         {
             return;
         }
         db.AbonentBaskets.DeleteOnSubmit(b);
         db.SubmitChanges();
     }
 }
예제 #4
0
        public Basket(string MSISDN, int idBasketCollection)
        {
            lock (locker) {
                using (var db = new DbDataContext()) {
                    msisdn = MSISDN;
                    this.idBasketCollection = idBasketCollection;
                    AbonentBasket b = null;
                    if ("" != MSISDN) //temp basket
                    {
                        int count = db.Abonents.Count(t => t.MSISDN == MSISDN);
                        if (0 == count)
                        {
                            //adding new abonent and new basket abonent
                            db.Abonents.InsertOnSubmit(new Abonent {
                                MSISDN = MSISDN
                            });
                            db.SubmitChanges();
                        }
                        b = db.AbonentBaskets.SingleOrDefault(
                            m => m.MSISDN == MSISDN && m.idBasketCollection == idBasketCollection);
                    }

                    if (b == null)
                    {
                        b = new AbonentBasket {
                            MSISDN             = MSISDN,
                            balans             = 0,
                            idBasketCollection = idBasketCollection,
                            hash = Guid.NewGuid().ToString()
                        };
                        db.AbonentBaskets.InsertOnSubmit(b);
                        db.SubmitChanges();
                        id = b.id;
                    }
                    else
                    {
                        id     = b.id;
                        msisdn = MSISDN;
                        this.idBasketCollection = idBasketCollection;
                    }
                }
            }
        }
예제 #5
0
 public void Buy()
 {
     try {
         using (var db = new DbDataContext()) {
             AbonentBasket basket = db.AbonentBaskets.SingleOrDefault(t => t.id == IdAbonentBasket);
             if (null != basket)
             {
                 if (!(basket.balans < Price))
                 {
                     db.BuyBasketItem(id, idAbonentBasket);
                     Reload();
                 }
             }
         }
     }
     catch {
     }
     ;
 }