示例#1
0
        public int ParticipateInAuctions(int auctionId, int UserId)
        {
            int result = 0;

            using (TransactionScope scope = new TransactionScope())
            {
                using (QuiBidsEntities db = new QuiBidsEntities())
                {
                    #region AddToPrice_Auction
                    var auction = db.Auction.Where(x => x.Id == auctionId).FirstOrDefault();
                    auction.Current_UserId = UserId;
                    auction.Reserve_Price++;//moshakas shavad chand vahed add shavad
                    auction.Auction_Time    = TimeSpan.FromSeconds(auction.Close_Time);
                    db.Entry(auction).State = System.Data.Entity.EntityState.Modified;

                    var s = db.SaveChanges();
                    #endregion

                    #region LowerBidOfUser
                    var user = db.User.Where(x => x.Id == UserId).FirstOrDefault();
                    if (user != null)
                    {
                        if (user.RealBid != 0)
                        {
                            user.RealBid--;
                        }
                        //if (user.VoucherBid != 0)
                        //    user.VoucherBid--;
                        db.Entry(user).State = System.Data.Entity.EntityState.Modified;
                        db.SaveChanges();
                    }
                    #endregion

                    #region AddLog
                    AuctionLogs log = new AuctionLogs
                    {
                        AuctionId = auctionId,
                        DateTime  = DateTime.Now,
                        TypeBid   = 1,//EditType
                        UserId    = UserId,
                        Price     = auction.Reserve_Price
                    };
                    db.AuctionLogs.Add(log);
                    db.SaveChanges();
                    #endregion
                    result = auction.Reserve_Price.Value;
                }
                scope.Complete();
            }
            return(result);
        }
示例#2
0
 public bool AddToBids(int userId)
 {
     using (QuiBidsEntities db = new QuiBidsEntities())
     {
         var user = GetUserById(userId);
         user.RealBid++;
         db.Entry(user).State = System.Data.Entity.EntityState.Modified;
         return(db.SaveChanges() == 1 ? true : false);
     }
 }
示例#3
0
 public Auction UpdateIsclose(int auctionId)
 {
     using (QuiBidsEntities db = new QuiBidsEntities())
     {
         var auction = GetAuctionById(auctionId);
         auction.IsClose         = true;
         db.Entry(auction).State = System.Data.Entity.EntityState.Modified;
         db.SaveChanges();
         return(auction);
     }
 }
示例#4
0
 public void LastLogin(int id)
 {
     using (QuiBidsEntities db = new QuiBidsEntities())
     {
         var user = GetUserById(id);
         if (user != null)
         {
             user.LastLogin       = DateTime.Now;
             db.Entry(user).State = System.Data.Entity.EntityState.Modified;
             db.SaveChanges();
         }
     }
 }
示例#5
0
 public User UpdateImage(int id, string name)
 {
     using (QuiBidsEntities db = new QuiBidsEntities())
     {
         var user = GetUserById(id);
         if (user != null)
         {
             user.Image           = name;
             db.Entry(user).State = System.Data.Entity.EntityState.Modified;
             db.SaveChanges();
         }
         return(user);
     }
 }
示例#6
0
 public bool ChangePass(string pass, int id)
 {
     using (QuiBidsEntities db = new QuiBidsEntities())
     {
         var user = GetUserById(id);
         if (user != null)
         {
             user.Password        = pass;
             db.Entry(user).State = System.Data.Entity.EntityState.Modified;
             return(db.SaveChanges() == 1 ? true : false);
         }
         return(false);
     }
 }
示例#7
0
 public bool UpdateTimer(int auctionId, TimeSpan timer, bool startStatus, bool?isclose)
 {
     using (QuiBidsEntities db = new QuiBidsEntities())
     {
         var auction = GetAuctionById(auctionId);
         auction.Auction_Time = timer;
         if (isclose != null)
         {
             auction.IsClose = isclose.Value;
         }
         auction.StartStatus     = startStatus;
         db.Entry(auction).State = System.Data.Entity.EntityState.Modified;
         return(db.SaveChanges() == 0 ? false : true);
     }
 }
示例#8
0
 public void UpdateProfile(UserModel model)
 {
     using (QuiBidsEntities db = new QuiBidsEntities())
     {
         var user = GetUserById(model.Id);
         if (user != null)
         {
             //user.Email = model.Email;
             user.HideLocation = (model.incognito == "Yes" ? true : false);
             if (model.CountryDropdown != 0)
             {
                 user.CountryId = model.CountryDropdown;
             }
             db.Entry(user).State = System.Data.Entity.EntityState.Modified;
             db.SaveChanges();
         }
     }
 }
示例#9
0
        public Auction UpdateTimer2(int auctionId, TimeSpan timer, bool startStatus, bool?isclose)
        {
            using (QuiBidsEntities db = new QuiBidsEntities())
            {
                var auction = GetAuctionById(auctionId);
                //Int64 tooBigBits = timer.Ticks;
                //Int64 truncated = tooBigBits >> 24;
                //TimeSpan temp = TimeSpan.FromTicks(truncated);
                auction.Auction_Time = timer;
                if (isclose != null)
                {
                    auction.IsClose = isclose.Value;
                }
                auction.StartStatus = startStatus;

                var result = db.Entry(auction).State = System.Data.Entity.EntityState.Modified;
                var s      = db.SaveChanges();
                return(auction);
            }
        }
示例#10
0
        public void UpdateIsFinaly(int id, string refId)
        {
            using (TransactionScope scope = new TransactionScope())
            {
                using (QuiBidsEntities db = new QuiBidsEntities())
                {
                    var order = db.Order.Find(id);
                    order.IsFinaly        = true;
                    order.RefId           = refId;
                    db.Entry(order).State = System.Data.Entity.EntityState.Modified;
                    db.SaveChanges();

                    var payment = new Payment
                    {
                        CreditCardNumber = "123",
                        OrderId          = order.Id,
                        PayTime          = DateTime.Now
                    };
                    db.Payment.Add(payment);
                    db.SaveChanges();
                }
                scope.Complete();
            }
        }
示例#11
0
        /// <summary>
        /// کم کردن بید های کاربر
        /// اگر "ریل بید" مقدار داشت از آن کم میکند.
        /// اگر "ریل بید" مقدار نداشت از "وچر بید" کم میکند.
        /// اگر در مزایده برنده شد "وچر بید" تایید شده اند.
        /// اگر در مزایده برنده نشد از "وچر بید" نمی تواند برای خرید استفاده کند.
        /// </summary>
        /// <param name="userId"></param>
        /// <returns></returns>
        public User LowerBids(int userId)
        {
            using (QuiBidsEntities db = new QuiBidsEntities())
            {
                var user = GetUserById(userId);
                if (user != null)
                {
                    if (user.RealBid != 0)
                    {
                        user.RealBid--;
                    }

                    if (user.VoucherBid != 0)
                    {
                        user.VoucherBid--;
                    }

                    db.Entry(user).State = System.Data.Entity.EntityState.Modified;
                    db.SaveChanges();
                    return(user);
                }
                return(null);
            }
        }