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 } } } }
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); }