Exemplo n.º 1
0
        [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);
        }
Exemplo n.º 3
0
        // 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));
        }
Exemplo n.º 4
0
        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"));
        }
Exemplo n.º 10
0
        // 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));
        }