[WebMethod(EnableSession = true)] //啟用Session public static CCartVM GetCurrentCart(CMember member) //取得目前Session中的Cart物件 { //尚未送出的購物車 var mycart = CCartFactory.fn購物車查詢(member).Where(c => c.fSubmitTime == null).FirstOrDefault(); //如果為空,新增一個Cart物件 if (mycart == null) { CCart cart = new CCart() { fMemberId = member.fMemberId, fSubmitTime = null }; mycart = CCartFactory.fn購物車新增(member, cart); } ; //購物車內的商品(by cartid) var cartitem = CCartProductFactory.fn購物車商品查詢().Where(c => c.fCartId == mycart.fCartId).ToList(); //所有商品封面 var lsproduct = CProductPictureFactory.fn商品圖片查詢().Where(p => p.fTheRemovedDate == null).DistinctBy(p => p.fProductId).ToList(); //CCartVM內的變數給值 CCartVM Cart = new CCartVM() { mycart = mycart, lscartprooduct = cartitem, productpic = lsproduct }; HttpContext.Current.Session["Cart"] = Cart; //回傳Session["Cart"] return((CCartVM)HttpContext.Current.Session["Cart"]); }
public String ProductPicture(int ProductId) { //該商品的圖片(多個) List <CProductPicture> lsProductPicture = CProductPictureFactory.fn商品圖片查詢().Where(p => p.fProductId == ProductId).ToList(); string result = JsonConvert.SerializeObject(lsProductPicture); return(result); }
// GET: ProductDetail public ActionResult ProductDetail(int ProductId) { //登入的會員資訊 CMember member = (CMember)Session[CMemberSession.Session_Login_User]; //防止未登入者進入 if (member == null) { return(RedirectToAction("../Member/Login")); } //所有會員資訊 List <CMember> lsMember = CMemberFactory.fn會員查詢().ToList(); List <CMember> Isbanned = CMemberFactory.fn會員查詢().Where(n => n.fMemberId == member.fMemberId).ToList(); //所選到的商品 CProduct product = CProductFactory.fn商品查詢().FirstOrDefault(p => p.fProductId == ProductId); //該商品的賣家資訊 CMember memberseller = CMemberFactory.fn會員查詢().FirstOrDefault(m => m.fMemberId == product.fMemberSellerId); //該商品的圖片(多個) List <CProductPicture> lsProductPicture = CProductPictureFactory.fn商品圖片查詢().Where(p => p.fProductId == ProductId).ToList(); //該商品的類別(多個) List <CProductCompare> lsCategory = CProductCompareFactory.fn商品類別對照查詢().Where(c => c.fProductId == ProductId).ToList(); //該商品的留言(多個) List <CComment> lsProductComment = CCommentFactory.fn留言查詢().Where(c => c.fProductId == ProductId).ToList(); List <CProductRank> lsProductRank = CProductRankFactory.fn評價查詢(ProductId).ToList(); //新增瀏覽紀錄 CProductBrowse productBrowse = new CProductBrowse() { fBrowseDataTime = DateTime.UtcNow.AddHours(08), fProductId = ProductId }; CProductBrowseFactory.fn商品瀏覽紀錄新增(product, productBrowse); List <CProductDetailVM> lsProductDetail = new List <CProductDetailVM>(); CProductDetailVM productDetailVM = new CProductDetailVM() { lsMember = lsMember, MemberSeller = memberseller, Product = product, lsProductPicture = lsProductPicture, lsProductCategory = lsCategory, lsProductComment = lsProductComment, lsProductRank = lsProductRank, Isbanned = Isbanned }; return(View(productDetailVM)); }
public ActionResult Productblock(int ProductId) { if (Session[CMemberSession.Session_Login_User] == null) { return(RedirectToAction("../Member/Login")); } CMember member = (CMember)Session[CMemberSession.Session_Login_User]; CProductPicture myProductPicture = CProductPictureFactory.fn商品圖片查詢().FirstOrDefault(n => n.fProductId == ProductId); //CProduct myProduct = CProductFactory.fn商品查詢().FirstOrDefault(n => n.fProductId == ProductId); return(PartialView("_Productblock", myProductPicture)); }
public ActionResult MyProduct() { //登入的會員資訊 CMember member = (CMember)Session[CMemberSession.Session_Login_User]; //防止未登入者進入 if (member == null) { return(RedirectToAction("../Member/Login")); } //會員販售的商品 List <CProductPicture> MyProduct = CProductPictureFactory.fn商品圖片查詢().Where(p => p.fTheRemovedDate == null && p.fMemberSellerId == member.fMemberId).DistinctBy(p => p.fProductId).OrderBy(p => p.fProductId).ToList(); //查詢會員所有的筆記資料夾 List <CNoteFolder> lsFolder = CNoteFolderFactory.fn筆記資料夾查詢(member).ToList(); //筆記會員資料夾包含筆記的列表 List <CNoteFolderViewModel> lsNotefolderVM = new List <CNoteFolderViewModel>(); //讀取筆記資料夾內的筆記 foreach (var folder in lsFolder) { List <CNote> myLsNote = CNoteFactory.fn私人筆記查詢(folder).ToList(); lsNotefolderVM.Add(new CNoteFolderViewModel() { fFolderId = folder.fFolderId, fFolderName = folder.fFolderName, fMemberId = folder.fMemberId, lsNote = myLsNote }); } ; //商品類別給後面下拉式選單用 List <CProductCategory> lsProductCategory = CProductCategoryFactory.fn商品類別查詢().ToList(); ViewBag.Categories = new MultiSelectList(lsProductCategory, "fCategoryId", "fCategoryName"); List <CProductCompare> lsproductcategory = CProductCompareFactory.fn商品類別對照查詢().Where(m => m.fMemberSellerId == member.fMemberId).ToList(); CShoppingAccountCenterVM ShoppingAccountCenter = new CShoppingAccountCenterVM() { lsNotefolderVM = lsNotefolderVM, lsCategory = lsProductCategory, lsProductPicture = MyProduct, lsCategoryCompare = lsproductcategory }; return(PartialView("_MyProduct", ShoppingAccountCenter)); }
//修改GET抓取JSON資料 //string myProductContent; public JsonResult EditProduct(int?fProductId) { //登入的會員資訊 CMember member = (CMember)Session[CMemberSession.Session_Login_User]; //防止未登入者進入 CProduct myProduct = CProductFactory.fn商品查詢().FirstOrDefault(p => p.fProductId == fProductId); List <CProductPicture> lsMyProductPicture = CProductPictureFactory.fn商品圖片查詢().Where(p => p.fProductId == fProductId).ToList(); List <CProductCompare> lsProductCategory = CProductCompareFactory.fn商品類別對照查詢().Where(c => c.fProductId == fProductId).ToList(); List <CNoteFolder> lsFolder = CNoteFolderFactory.fn筆記資料夾查詢(member).ToList(); //筆記資料夾包含筆記的列表 List <CNoteFolderViewModel> lsNotefolderVM = new List <CNoteFolderViewModel>(); //讀取筆記資料夾內的筆記 foreach (var folder in lsFolder) { List <CNote> myLsNote = CNoteFactory.fn私人筆記查詢(folder).OrderBy(n => n.fNoteListLevel).Where(n => n.fJsonContent == myProduct.fContent).ToList(); lsNotefolderVM.Add(new CNoteFolderViewModel() { fFolderId = folder.fFolderId, fFolderName = folder.fFolderName, fMemberId = folder.fMemberId, lsNote = myLsNote }); } CNote mynote = CNoteFactory.fn私人筆記全部查詢().FirstOrDefault(n => n.fJsonContent == myProduct.fContent); CShoppingAccountCenterVM ShoppingAccountCenter = new CShoppingAccountCenterVM() { lsCategoryCompare = lsProductCategory, lsProductPicture = lsMyProductPicture, Product = myProduct, lsNotefolderVM = lsNotefolderVM, NoteId = mynote.fNoteId //Content = myProductContent, }; string value = string.Empty; value = JsonConvert.SerializeObject(ShoppingAccountCenter, Formatting.Indented, new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Ignore }); return(Json(value, JsonRequestBehavior.AllowGet)); }
public ActionResult PurchaseList(int fMemberId) { //登入的會員資訊 CMember Member = (CMember)Session[CMemberSession.Session_Login_User]; //防止未登入者進入 if (Member == null) { return(RedirectToAction("../Member/Login")); } List <COrder> lsorder = COrderFactory.fn訂單查詢(Member).ToList(); List <CMemberOrderSelectVM> lsdetailorder = CMemberFactory.fn會員訂單個人查詢(Member).ToList(); List <CMember> lsmemberseller = new List <CMember>(); foreach (var item in lsdetailorder) { CProduct product = new CProduct(); product = CProductFactory.fn商品查詢().FirstOrDefault(p => p.fTheRemovedDate == null && p.fProductId == item.fProductId); if (product == null) { break; } CMember memberseller = new CMember(); memberseller = CMemberFactory.fn會員查詢().FirstOrDefault(m => m.fMemberId == product.fMemberSellerId); lsmemberseller.Add(memberseller); } //未下架的商品(含商品封面圖片) List <CProductPicture> lsproductpic = CProductPictureFactory.fn商品圖片查詢().Where(p => p.fTheRemovedDate == null).DistinctBy(p => p.fProductId).OrderBy(p => p.fProductId).ToList(); CPurchaseListVM PurchaseListVM = new CPurchaseListVM() { lsMemberSeller = lsmemberseller, lsProductPicture = lsproductpic, lsOrder = lsorder, lsOrderDetail = lsdetailorder }; return(PartialView("_PurchaseList", PurchaseListVM)); }
//GET: ShoppingHome public ActionResult Index() { //登入的會員資訊 CMember member = (CMember)Session[CMemberSession.Session_Login_User]; //防止未登入者進入 if (member == null) { return(RedirectToAction("../Member/Login")); } //未下架的商品(含商品封面圖片) List <CProductPicture> lsproduct = CProductPictureFactory.fn商品圖片查詢().Where(p => p.fTheRemovedDate == null).DistinctBy(p => p.fProductId).OrderBy(p => p.fProductId).ToList(); //裝多個CShoppingHomeVM的容器 List <CShoppingHomeVM> lsshoppinghomeVM = new List <CShoppingHomeVM>(); foreach (var product in lsproduct) { //撈出該商品的賣家資訊 CMember memberseller = CMemberFactory.fn會員查詢().FirstOrDefault(m => m.fMemberId == product.fMemberSellerId); //撈出該商品的類別 List <CProductCompare> category = CProductCompareFactory.fn商品類別對照查詢().Where(c => c.fProductId == product.fProductId).ToList(); //CShoppingHomeVM內的變數給值 CShoppingHomeVM shoppinghomeVM = new CShoppingHomeVM() { member = memberseller, lsproductcategory = category, productpicture = product, }; lsshoppinghomeVM.Add(shoppinghomeVM); } return(View("Index", lsshoppinghomeVM)); }
public ActionResult CreateProduct(CShoppingAccountCenterVM NewProduct, int?[] fCategoryId, string[] ProductPicture) { //登入的會員資訊 CMember member = (CMember)Session[CMemberSession.Session_Login_User]; //防止未登入者進入 if (member == null) { return(RedirectToAction("../Member/Login")); } //商品新增 CProduct product = new CProduct(); product.fName = NewProduct.Product.fName; product.fDescription = NewProduct.Product.fDescription; product.fContent = NewProduct.Content; //抓JSON資料 product.fPrice = NewProduct.Product.fPrice; product.fLaunchDate = DateTime.UtcNow.AddHours(08); product.fTheRemovedDate = null; product.fDownloadTimes = 0; product.fLikeCount = 0; product.fMemberSellerId = member.fMemberId; product = CProductFactory.fn商品新增(member, product); //商品圖片新增 CProductPicture productPicture = new CProductPicture(); //如果沒有選就給預設圖片(封面) if (ProductPicture[0] == "") { productPicture.fPicture = "https://creazilla-store.fra1.digitaloceanspaces.com/emojis/44574/notebook-emoji-clipart-md.png";//預設的圖片 productPicture.fProductId = product.fProductId; CProductPictureFactory.fn商品圖片新增(product, productPicture); } else { foreach (var item in ProductPicture) { if (item != "") { productPicture.fPicture = item; productPicture.fProductId = product.fProductId; CProductPictureFactory.fn商品圖片新增(product, productPicture); } } } //商品類別新增 CProductCompare productCompare = new CProductCompare(); if (fCategoryId == null) { } else { foreach (var item in fCategoryId) { CProductCategory productCategory = CProductCategoryFactory.fn商品類別查詢().Where(c => c.fCategoryId == item).FirstOrDefault(); productCompare.fProductId = product.fProductId; productCompare.fCategoryId = item.Value; CProductCompareFactory.fn商品類別對照新增(product, productCategory); } } return(Redirect("../ShoppingAccountCenter?goto=seller")); }
// GET: AllProduct public ActionResult Index(string sortOrder, string currentFilter, string searchString, int?page) { //登入的會員資訊 CMember member = (CMember)Session[CMemberSession.Session_Login_User]; //防止未登入者進入 if (member == null) { return(RedirectToAction("../Member/Login")); } //排序條件(日期/價格/下載量/讚數) ViewBag.CurrentSort = sortOrder; ViewBag.DateSortParm = String.IsNullOrEmpty(sortOrder) ? "Date" : ""; if (searchString != null) { page = 1; } else { searchString = currentFilter; } ViewBag.CurrentFilter = searchString; //記錄每頁商品數及目前頁數 int pageSize = 8; int pageNumber = (page ?? 1); //未下架的商品(含商品封面圖片) List <CProductPicture> lsproduct = CProductPictureFactory.fn商品圖片查詢().Where(p => p.fTheRemovedDate == null).DistinctBy(p => p.fProductId).OrderBy(p => p.fProductId).ToList(); //篩選商品(類別/名稱/描述) switch (searchString) { case "Education": List <CProductCompare> lscategory = CProductCompareFactory.fn商品類別對照查詢().Where(c => c.fCategoryName == "程式").ToList(); List <CProductPicture> lsproducttag1 = new List <CProductPicture>(); foreach (var item in lscategory) { CProductPicture producttag1 = new CProductPicture(); producttag1 = lsproduct.Where(p => p.fProductId == item.fProductId && p.fTheRemovedDate == null).FirstOrDefault(); if (producttag1 != null) { lsproducttag1.Add(producttag1); } } lsproduct = lsproducttag1; break; case null: searchString = currentFilter; break; default: lsproduct = lsproduct.Where(p => p.fName.Contains(searchString) || p.fDescription.Contains(searchString)).ToList(); break; } switch (sortOrder) { case "New": lsproduct = lsproduct.Where(p => DateTime.UtcNow.AddHours(08).AddMonths(-1).Month < p.fLaunchDate.Month && p.fLaunchDate.Month <= DateTime.UtcNow.AddHours(08).Month).OrderByDescending(p => p.fLaunchDate).ToList(); break; case "Date": lsproduct = lsproduct.OrderBy(p => p.fLaunchDate).ToList(); break; case "Price": lsproduct = lsproduct.OrderBy(p => p.fPrice).ToList(); break; case "Price_desc": lsproduct = lsproduct.OrderByDescending(p => p.fPrice).ToList(); break; case "DownLoad_desc": lsproduct = lsproduct.OrderByDescending(p => p.fDownloadTimes).ToList(); break; case "Like_desc": lsproduct = lsproduct.OrderByDescending(p => p.fLikeCount).ToList(); break; case "Free": lsproduct = lsproduct.Where(p => p.fPrice == 0).ToList(); break; default: lsproduct = lsproduct.OrderByDescending(p => p.fLaunchDate).ToList(); break; } //裝多個CShoppingHomeVM的容器 List <CShoppingHomeVM> lsshoppinghomeVM = new List <CShoppingHomeVM>(); foreach (var product in lsproduct) { //撈出該商品的賣家資訊 CMember memberseller = CMemberFactory.fn會員查詢().FirstOrDefault(m => m.fMemberId == product.fMemberSellerId); //撈出該商品的類別 List <CProductCompare> category = CProductCompareFactory.fn商品類別對照查詢().Where(c => c.fProductId == product.fProductId).ToList(); //CShoppingHomeVM內的變數給值 CShoppingHomeVM shoppinghomeVM = new CShoppingHomeVM() { member = memberseller, lsproductcategory = category, productpicture = product, }; lsshoppinghomeVM.Add(shoppinghomeVM); } IPagedList <CShoppingHomeVM> pagedlist = lsshoppinghomeVM.ToPagedList(pageNumber, pageSize); return(View("Index", pagedlist)); }