public bool RateStarWatch(int watchId, string username, int star)
        {
            Review r = db.Reviews.Find(watchId, username);

            if (r != null)
            {
                db.Reviews.Attach(r);
                r.Rating     = star;
                r.ReviewDate = DateTime.Now;
            }
            else
            {
                r = new Review
                {
                    Rating     = star,
                    ReviewDate = DateTime.Now,
                    Username   = username,
                    WatchId    = watchId
                };
                db.Reviews.Add(r);
            }
            int result = db.SaveChanges();

            return(db.Entry(r).State == EntityState.Unchanged || result > 0);
        }
        public bool AdminUpdateAccount(string username, bool isActive, int roleId)
        {
            Account account = db.Accounts.Find(username);

            db.Accounts.Attach(account);

            account.IsActive = isActive;
            account.RoleId   = roleId;

            int result = db.SaveChanges();

            if (db.Entry(account).State == EntityState.Unchanged || result > 0)
            {
                return(true);
            }
            return(false);
        }
        public bool UpdateCartItemDB(string id, string quantity, string username)
        {
            int productID    = Convert.ToInt32(id);
            int quantityNeed = Convert.ToInt32(quantity);

            failByQuantity = false;

            //get user's cart with status not checkout
            var userOrderID = db.Orders
                              .Where(o => o.CustomerID.Equals(username) && o.OrderStatus == (int)Enumeration.OrderStatus.InCart)
                              .Select(o => o.OrderID)
                              .FirstOrDefault();

            //=====================================================================
            if (userOrderID == 0) //currently dont have any cart => can not update => fail
            {
                return(false);
            }
            //=====================================================================
            else //have cart => check if item have in cart
            {
                var quantityCurent = db.OrderDetails
                                     .Where(d => d.OrderID == userOrderID && d.WatchID == productID)
                                     .Select(d => d.Quantity).FirstOrDefault();

                //========================
                if (quantityCurent == 0) //item not existed in order => can not update
                {
                    return(false);
                }
                else //======================== have item in cart => check avaiable quantity in DB
                {
                    bool checkQuantity = this.CheckAvailableAndQuantityInDB(productID, quantityNeed);
                    if (!checkQuantity)
                    {
                        failByQuantity = true;
                        return(false); //fail because not enough quantity
                    }

                    //enough quantity => update
                    OrderDetail detail = db.OrderDetails.Find(productID, userOrderID);
                    db.OrderDetails.Attach(detail);
                    detail.Quantity = quantityNeed;

                    int resultDetail = db.SaveChanges();
                    if (db.Entry(detail).State == EntityState.Unchanged || resultDetail > 0)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false); //fail
                    }
                }
            }
        }
示例#4
0
        public bool AdminUpdateOrderStatus(int orderId, int status)
        {
            var order = db.Orders.Find(orderId);

            db.Orders.Attach(order);

            order.OrderStatus = status;

            int result = db.SaveChanges();

            return(result > 0 || db.Entry(order).State == EntityState.Unchanged);
        }
        public bool UpdateWatchInfo(Watch watch, HttpPostedFileBase thumbnail)
        {
            Watch trackedWatch = db.Watches.Find(watch.WatchID);

            db.Watches.Attach(trackedWatch);
            trackedWatch.WatchCode        = watch.WatchCode;
            trackedWatch.WatchDescription = watch.WatchDescription;
            trackedWatch.Quantity         = watch.Quantity;
            trackedWatch.Price            = watch.Price;
            trackedWatch.MovementID       = watch.MovementID;
            trackedWatch.ModelID          = watch.ModelID;
            trackedWatch.WaterResistant   = watch.WaterResistant;
            trackedWatch.BandMaterial     = watch.BandMaterial;
            trackedWatch.CaseRadius       = watch.CaseRadius;
            trackedWatch.CaseMaterial     = watch.CaseMaterial;
            trackedWatch.Discount         = watch.Discount;
            trackedWatch.LEDLight         = watch.LEDLight;
            trackedWatch.Alarm            = watch.Alarm;
            trackedWatch.Status           = watch.Status;
            trackedWatch.Guarantee        = watch.Guarantee;

            if (thumbnail != null)
            {
                //đổi ảnh thumbnail
                //lưu hình ảnh xuống máy
                string path = HostingEnvironment.MapPath("~/Content/img/ProductThumbnail/") + watch.WatchCode + DateTime.Now.ToBinary();
                ImageProcessHelper.ResizedImage(thumbnail.InputStream, 360, 500, ResizeMode.Pad, ref path);
                trackedWatch.Thumbnail = path;
            }

            int result = db.SaveChanges();

            if (db.Entry(trackedWatch).State == EntityState.Unchanged || result > 0)
            {
                return(true);
            }
            return(false);
        }