public ActionResult ListItemPartial() { int id; using (SmartShoppingEntities db = new SmartShoppingEntities()) { if (User.Identity.IsAuthenticated) { string aspid = User.Identity.GetUserId(); MemberID = db.Members.Where(m => m.Id == aspid).Select(m => m.Member_ID).First(); } if (System.Web.HttpContext.Current.Session["PListID"] == null) { id = db.PList.Where(m => m.Member_ID == MemberID).Select(m => m.PList_ID).First();; } else { id = (int)System.Web.HttpContext.Current.Session["PListID"]; } var q = db.ShoppingList.Where(s => s.PList_ID == id); return(PartialView(q.ToList()));//改了這個 } }
//新增一筆Product,使用ProductId public bool AddProduct(int Product_ID) { var findItem = this.cartItems .Where(s => s.Product_ID == Product_ID) .Select(s => s) .FirstOrDefault(); //判斷相同Id的CartItem是否已經存在購物車內 if (findItem == default(Models.Carts.CartItem)) { //不存在購物車內,則新增一筆 using (Models.SmartShoppingEntities ss = new SmartShoppingEntities()) { var product = (from p in ss.Products where p.Product_ID == Product_ID select p).FirstOrDefault(); if (product != default(Models.Products)) { this.AddProduct(product); } } } else { //存在購物車內,則將商品數量增加 findItem.Stock += 1; } return(true); }
public ActionResult AddItem(string item) { using (SmartShoppingEntities db = new SmartShoppingEntities()) { if (User.Identity.IsAuthenticated) { string aspid = User.Identity.GetUserId(); MemberID = db.Members.Where(m => m.Id == aspid).Select(m => m.Member_ID).First(); } ShoppingList slist = new Models.ShoppingList(); if (System.Web.HttpContext.Current.Session["PListID"] == null) { slist.PList_ID = db.PList.Where(m => m.Member_ID == MemberID).Select(m => m.PList_ID).First();; } else { slist.PList_ID = (int)System.Web.HttpContext.Current.Session["PListID"]; } slist.ListName = item; slist.Active = true; db.Entry(slist).State = EntityState.Added; db.SaveChanges(); return(RedirectToAction("ShoppingListP", new { id = slist.PList_ID })); } }
public ActionResult ShoppingCategoryPartial() { //讀取Member的父類別 using (SmartShoppingEntities db = new SmartShoppingEntities()) { if (User.Identity.IsAuthenticated) { string aspid = User.Identity.GetUserId(); MemberID = db.Members.Where(m => m.Id == aspid).Select(m => m.Member_ID).First(); } var q = from s in db.PList where s.Member_ID == MemberID select s; if (q.FirstOrDefault() == null) { PList pl = new PList(); pl.Member_ID = MemberID; pl.ListName = "我的購物清單"; //pl.PList_ID = db.PList.Max(m => m.PList_ID) + 1; db.Entry(pl).State = EntityState.Added; db.SaveChanges(); } return(PartialView("ShoppingCategoryPartial", q.ToList())); } }
public static List <Categories> GetCategories(List <int> RolesID)//用角色抓出推薦產品category的函式 { List <Categories> Categories = new List <Categories>(); if (RolesID != null) { using (SmartShoppingEntities db = new SmartShoppingEntities()) { for (int i = 0; i < RolesID.Count; i++) { int id = RolesID[i]; //List<RolesDetail> rolesd = db.RolesDetail.Where(p => p.Roles_ID == RolesID[i]); var q = from r in db.RolesDetail where r.Roles_ID == id select r; foreach (var item in q) { Categories category = db.Categories.Where(c => c.Category_ID == item.Categories_ID).First(); if (!Categories.Contains(category)) { Categories.Add(category); } } } } } return(Categories); }
public ActionResult Added(string title, DateTime date) { using (SmartShoppingEntities db = new SmartShoppingEntities()) { ShoppingList shoppinglist = new ShoppingList(); //categoryname? shoppinglist.NextDate = date; db.Entry(shoppinglist).State = EntityState.Modified; db.SaveChanges(); //修改訂單資料如果是需要出貨的 return(RedirectToAction("Index")); } }
public ActionResult AddFromDetail(int id, int?no, int?by) { using (SmartShoppingEntities db = new SmartShoppingEntities()) { if (User.Identity.IsAuthenticated) { string aspid = User.Identity.GetUserId(); MemberID = db.Members.Where(m => m.Id == aspid).Select(m => m.Member_ID).First(); } //存到我的購物清單 int plistID = db.PList.Where(m => m.Member_ID == MemberID && m.ListName == "我的購物清單").Select(p => p.PList_ID).FirstOrDefault(); if (plistID == 0)//幫他創一個 { PList pl = new PList(); pl.Member_ID = MemberID; pl.ListName = "我的購物清單"; pl.PList_ID = db.PList.Max(m => m.PList_ID) + 1; plistID = pl.PList_ID; db.Entry(pl).State = EntityState.Added; } ShoppingList sl = new Models.ShoppingList(); sl.PList_ID = plistID; sl.Products = db.Products.Where(p => p.Product_ID == id).First(); sl.RepeatNumber = no; sl.RepeatBy = by; sl.ListName = sl.Products.Categories.CategoryName; sl.Active = true; if (no != 0) { if (by == 1)//月 { sl.NextDate = DateTime.Today.AddMonths((int)no); } else if (by == 2)//周 { sl.NextDate = DateTime.Today.AddDays((int)(7 * no)); } else if (by == 3)//日 { sl.NextDate = DateTime.Today.AddDays((int)no); } } db.Entry(sl).State = EntityState.Added; db.SaveChanges(); return(Content(sl.Products.ProductName + "已加入您的智慧清單")); } }
public ActionResult GetItem(int id = 1) { using (SmartShoppingEntities db = new SmartShoppingEntities()) { if (User.Identity.IsAuthenticated) { string aspid = User.Identity.GetUserId(); MemberID = db.Members.Where(m => m.Id == aspid).Select(m => m.Member_ID).First(); } var q = db.ShoppingList.Where(s => s.PList_ID == id); return(PartialView("ListItemPartial", q.ToList())); } }
public ActionResult Dropped(string title, DateTime date, int id) { //存進List Update using (SmartShoppingEntities db = new SmartShoppingEntities()) { ShoppingList shoppinglist = db.ShoppingList.Find(id); shoppinglist.NextDate = date; db.Entry(shoppinglist).State = EntityState.Modified; db.SaveChanges(); //修改訂單資料如果是需要出貨的 return(RedirectToAction("Index")); } }
public ActionResult Detail(int id)//Get ListID { ViewBag.Clicked = true; System.Web.HttpContext.Current.Session["listitem"] = id; using (SmartShoppingEntities db = new SmartShoppingEntities()) { var sl = from s in db.ShoppingList.Include("ShoppingListInside") where s.List_ID == id select new MyShoppingList { id = s.List_ID, listname = s.ListName, productname = s.Products.ProductName ?? "瀏覽相關產品", repeatno = s.RepeatNumber ?? 0, repeatby = s.RepeatBy ?? 1, lastdate = s.LastDate ?? DateTime.Today, nextdate = s.NextDate ?? DateTime.Today, quantity = s.Quantity ?? 1, link = s.Link ?? "#", phonenumber = s.Phone, address = s.Address }; return(View("ShoppingList", sl.First())); } }
public ActionResult CategoryInsert(string item) { using (SmartShoppingEntities db = new SmartShoppingEntities()) { if (User.Identity.IsAuthenticated) { string aspid = User.Identity.GetUserId(); MemberID = db.Members.Where(m => m.Id == aspid).Select(m => m.Member_ID).First(); } PList plist = new PList(); plist.ListName = item; plist.Member_ID = MemberID; db.Entry(plist).State = EntityState.Added; db.SaveChanges(); return(RedirectToAction("ShoppingList")); } }
public ActionResult SetProduct(int id)//PID 接收到他現在要換什麼但還沒確認 { using (SmartShoppingEntities db = new SmartShoppingEntities()) { //存入shoppinglistinside int switching = (int)System.Web.HttpContext.Current.Session["switchingid"]; var slist = (from s in db.ShoppingList.Include(s => s.Products) where s.List_ID == switching select s).First(); slist.List_ID = switching; slist.Products = db.Products.Where(p => p.Product_ID == id).First();//存整個product給他 db.Entry(slist).State = EntityState.Modified; db.SaveChanges(); System.Web.HttpContext.Current.Session["switchingid"] = null; System.Web.HttpContext.Current.Session["switchingname"] = null; return(RedirectToAction("Detail", "ShoppingList", new { id = switching })); } }
public ActionResult DeleteItem(int listid) { using (SmartShoppingEntities db = new SmartShoppingEntities()) { //刪除shoppinglist& shoppinglistinside var slist = (from s in db.ShoppingList.Include(s => s.Products) where s.List_ID == listid select s).First(); if (slist.Order_ID != null) { //刪除order int orderid = (int)slist.Order_ID; OrderDetail od = db.OrderDetail.Where(o => o.Order_ID == orderid).First(); db.Entry(od).State = EntityState.Deleted; Orders order = db.Orders.Where(o => o.Order_ID == orderid).First(); db.Entry(order).State = EntityState.Deleted; } db.Entry(slist).State = EntityState.Deleted; db.SaveChanges(); return(RedirectToAction("ShoppingList")); } }
public ActionResult GetEvent() { //讀出貨產品 + 日期 using (SmartShoppingEntities db = new SmartShoppingEntities()) { if (User.Identity.IsAuthenticated) { string aspid = User.Identity.GetUserId(); MemberID = db.Members.Where(m => m.Id == aspid).Select(m => m.Member_ID).First(); } var list = (from p in db.PList where p.Member_ID == MemberID select p.PList_ID).ToList(); //如果沒有PID 就讀CID var q = from s in db.ShoppingList.Include("ShoppingListInside").Where(c => list.Contains(c.PList_ID)) select new { title = s.Products.ProductName ?? s.ListName, start = s.NextDate, id = s.List_ID }; var list2 = q.ToList(); return(Json(q.ToList(), JsonRequestBehavior.AllowGet)); } }
public ActionResult SaveChanges(int listid, int repeatno, int repeatby, string nextdate, int quantity, string link1, string phone1, string address1) { DateTime date = Convert.ToDateTime(nextdate); using (SmartShoppingEntities db = new SmartShoppingEntities()) { var slist = (from s in db.ShoppingList.Include(s => s.Products) where s.List_ID == listid select s).First(); slist.RepeatNumber = repeatno; slist.RepeatBy = repeatby; slist.NextDate = date; slist.Quantity = quantity; slist.Link = link1; slist.Address = address1; slist.Phone = phone1; db.Entry(slist).State = EntityState.Modified; db.SaveChanges(); ViewBag.Clicked = null; //存到order去 //order跟著動 addOrUpdate if (slist.Products != null) { int pid = slist.Products.Product_ID; if (User.Identity.IsAuthenticated) { string aspid = User.Identity.GetUserId(); MemberID = db.Members.Where(m => m.Id == aspid).Select(m => m.Member_ID).First(); } var order = (from o in db.OrderDetail where o.Orders.Status_ID == 7 && o.Orders.Member_ID == MemberID && o.Product_ID == pid select o).FirstOrDefault(); var originalOID = slist.Order_ID; if (order == null) { //第一次設add Orders neworder = new Orders(); neworder.ArrivalDate = date; neworder.Member_ID = MemberID; neworder.OrderDate = DateTime.Today; neworder.SubTotal = slist.Products.UnitPrice; neworder.ValueAddTax = (int)Math.Round((neworder.SubTotal) * 0.05); neworder.Amount = neworder.SubTotal + neworder.ValueAddTax; neworder.ShipMethod_ID = 1; neworder.PaymentMethod_ID = 4; neworder.Status_ID = 7; neworder.Order_ID = db.Orders.Max(o => o.Order_ID) + 1; db.Entry(neworder).State = EntityState.Added; //存orderid到slist slist.Order_ID = neworder.Order_ID; db.Entry(slist).State = EntityState.Modified; //save orderdetail OrderDetail od = new OrderDetail(); od.Order_ID = neworder.Order_ID; od.Product_ID = pid; od.UnitPrice = slist.Products.UnitPrice; od.Quantity = quantity; db.Entry(od).State = EntityState.Added; db.SaveChanges(); } if (order == null && originalOID != null)//是更換要把本來的訂單刪除 { OrderDetail od = db.OrderDetail.Where(o => o.Order_ID == originalOID).First(); db.Entry(od).State = EntityState.Deleted; Orders ord = db.Orders.Find(originalOID); db.Entry(ord).State = EntityState.Deleted; db.SaveChanges(); } if (order != null && slist.Order_ID != null) { //修改既有訂單.表示只是修同一筆 Orders ord = db.Orders.Find((int)slist.Order_ID); ord.ArrivalDate = date; OrderDetail od = db.OrderDetail.Where(o => o.Order_ID == (int)slist.Order_ID).First(); od.Quantity = quantity; db.Entry(od).State = EntityState.Modified; db.Entry(ord).State = EntityState.Modified; db.SaveChanges(); } } return(Content("success")); } }