Exemplo n.º 1
0
        public ActionResult AddCart(string quantity, string productID)
        {
            int quan  = int.Parse(quantity);
            int proID = int.Parse(productID);

            if (IsLogin())
            {
                User user = GetUser();
                using (var db = new LifeMallDBContext())
                {
                    var cartQuery = db.Cart.Where(m => m.MemberID == user.MemberID && m.ProductID == proID).FirstOrDefault();
                    if (cartQuery == null)
                    {
                        var newCart = new Cart()
                        {
                            MemberID  = user.MemberID,
                            ProductID = proID,
                            Quantity  = quan
                        };
                        db.Cart.Add(newCart);
                    }
                    else
                    {
                        cartQuery.Quantity += quan;
                    }
                    db.SaveChanges();
                }
            }

            var j = "{\"resp\":0}";

            return(Json(j, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 2
0
      public ActionResult CheckOut()
      {
          using (var db = new LifeMallDBContext())
          {
              if (IsLogin())
              {
                  User user      = GetUser();
                  var  cartQuery = db.Cart.Where(m => m.MemberID == user.MemberID).Join
                                       (db.Product,
                                       c => c.ProductID,
                                       s => s.ProductID,
                                       (c, s) => new
                    {
                        c.CartID,
                        c.Quantity,
                        s.Price,
                        s.ProductName,
                        s.ImageUrl1
                    }).ToList();
                  var checkOutViewModel = new CheckOutVIewModel();
                  int total             = 0;
                  foreach (var item in cartQuery)
                  {
                      checkOutViewModel.Total += item.Quantity * item.Price;
                  }
                  return(View(checkOutViewModel));
              }



              return(View());
          }
      }
        public ActionResult GetCart()
        {
            if (IsLogin())
            {
                using (var db = new LifeMallDBContext())
                {
                    User user      = GetUser();
                    var  cartQuery = db.Cart.Where(m => m.MemberID == user.MemberID).Join
                                         (db.Product,
                                         c => c.ProductID,
                                         s => s.ProductID,
                                         (c, s) => new
                    {
                        c.CartID,
                        c.Quantity,
                        s.Price,
                        s.ProductName,
                        s.ImageUrl1,
                    }).ToList();
                    return(Json(JsonConvert.SerializeObject(cartQuery), JsonRequestBehavior.AllowGet));
                }
            }

            return(null);
        }
Exemplo n.º 4
0
        public ActionResult EditProduct(string icon1, string icon2, string productID, string description, string price, string productName)
        {
            var    path        = Server.MapPath("~/ProductImage/");
            string randomText1 = ByteStrToImage(icon1, path);
            string randomText2 = ByteStrToImage(icon2, path);


            using (var db = new LifeMallDBContext())
            {
                int productIDNum = int.Parse(productID);
                var productQuery = db.Product.Where(m => m.ProductID == productIDNum).FirstOrDefault();
                if (productQuery != null)
                {
                    productQuery.Price       = int.Parse(price);
                    productQuery.ImageUrl1   = "ProductImage/" + randomText1;
                    productQuery.ImageUrl2   = "ProductImage/" + randomText2;
                    productQuery.ProductName = productName;
                    productQuery.Description = description;
                    db.SaveChanges();
                }
            }


            var j = "{\"resp\":0}";

            return(Json(j, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 5
0
 public ActionResult Product(int? productID)
 {
     using (var db = new LifeMallDBContext())
     {
         var productQuery = db.Product.Where(m => m.ProductID == productID).FirstOrDefault();
         return(View(productQuery));
     }
 }
 public ActionResult GetProductDetail(int?productID)
 {
     using (var db = new LifeMallDBContext())
     {
         var productQuery = db.Product.Where(m => m.ProductID == productID).FirstOrDefault();
         return(Json(JsonConvert.SerializeObject(productQuery), JsonRequestBehavior.AllowGet));
     }
 }
 public ActionResult GetProduct(int categoryID)
 {
     using (var db = new LifeMallDBContext())
     {
         var productQuery = db.Product.Where(m => m.CategoryID == categoryID).ToList();
         return(Json(JsonConvert.SerializeObject(productQuery), JsonRequestBehavior.AllowGet));
     }
 }
 public ActionResult GetIndex()
 {
     using (var db = new LifeMallDBContext())
     {
         var productQuery = db.Product.Take(8).ToList();
         return(Json(JsonConvert.SerializeObject(productQuery), JsonRequestBehavior.AllowGet));
     }
 }
        public ActionResult GetCategory()
        {
            using (var db = new LifeMallDBContext())
            {
                var categoryQuery = db.Category.ToList();

                return(Json(JsonConvert.SerializeObject(categoryQuery), JsonRequestBehavior.AllowGet));
            }
        }
Exemplo n.º 10
0
      public ActionResult Index()
      {
          using (var db = new LifeMallDBContext())
          {
              var productQuery = db.Product.Take(8).ToList();


              return(View(productQuery));
          }
      }
        public ActionResult GetCatalogue()
        {
            using (var db = new LifeMallDBContext())
            {
                var productQuery = db.Product.Join(
                    db.Category,
                    c => c.CategoryID,
                    s => s.CategoryID,
                    (c, s) => new
                {
                    c.ProductName,
                    c.Price,
                    c.ProductID,
                    c.ImageUrl1,
                    c.ImageUrl2,
                    c.CategoryID,
                    s.CategoryName
                }).OrderBy(cs => cs.CategoryID).ToList();
                if (productQuery != null)
                {
                    List <CatalogueViewModel> catalogueList = new List <CatalogueViewModel>();
                    int currentID = productQuery[0].CategoryID, tempID = -1, index = -1;

                    foreach (var item in productQuery)
                    {
                        currentID = item.CategoryID;
                        if (currentID != tempID)
                        {
                            index++;
                            catalogueList.Add(new CatalogueViewModel());
                            catalogueList[index].CategoryID   = item.CategoryID;
                            catalogueList[index].CategoryName = item.CategoryName;
                        }

                        catalogueList[index].ProductsInCategory.Add(new ProductInCategory()
                        {
                            ProductName = item.ProductName,
                            ProductID   = item.ProductID,
                            Price       = item.Price,
                            ImageUrl1   = item.ImageUrl1,
                            ImageUrl2   = item.ImageUrl2
                        });



                        tempID = currentID;
                    }

                    return(Json(JsonConvert.SerializeObject(catalogueList), JsonRequestBehavior.AllowGet));
                }
                return(null);
            }
        }
Exemplo n.º 12
0
      public ActionResult CheckOut(string receiver, string address, string zipCode, string phone)
      {
          if (IsLogin())
          {
              var user = GetUser();
              using (var db = new LifeMallDBContext())
              {
                  var cartQuery = db.Cart.Where(m => m.MemberID == user.MemberID).Join
                                      (db.Product,
                                      c => c.ProductID,
                                      s => s.ProductID,
                                      (c, s) => new
                    {
                        c.ProductID,
                        c.Quantity,
                        s.Price,
                    }).ToList();

                  Guid guid = Guid.NewGuid();

                  var newOrderList = new OrderList()
                  {
                      Receiver    = receiver,
                      Address     = address,
                      Phone       = phone,
                      OrderListID = guid,
                      MemberID    = user.MemberID,
                      ZipCode     = zipCode,
                      OrderDate   = DateTime.Now
                  };
                  db.OrderList.Add(newOrderList);
                  foreach (var item in cartQuery)
                  {
                      var newOrderDetail = new OrderDetail()
                      {
                          OrderListID = guid,
                          ProductID   = item.ProductID,
                          Quantity    = item.Quantity
                      };
                      db.OrderDetail.Add(newOrderDetail);
                  }

                  // db.Cart.Remove
                  db.Cart.RemoveRange(db.Cart.Where(m => m.MemberID == user.MemberID));
                  db.SaveChanges();
              }
          }



          return(RedirectToAction("Index", "Home"));
      }
Exemplo n.º 13
0
        public ActionResult CreateProduct(string icon1, string icon2, string categoryID, string description, string price, string productName)
        {
            //string[] textArray = icon1.Split(',');
            //var byt = textArray.Select(byte.Parse).ToArray();
            //Image image = null;
            //Bitmap bitmap = null;
            //using (StreamWriter sw = new StreamWriter(@"C:\abc.txt"))   //小寫TXT
            //{
            //    // Add some text to the file.
            //    sw.Write("This is the ");
            //    sw.WriteLine("header for the file.");
            //    sw.WriteLine("-------------------");
            //    // Arbitrary objects can also be written to the file.
            //    sw.Write("The date is: ");
            //    sw.WriteLine(DateTime.Now);
            //}
            //using (MemoryStream memoryStream = new MemoryStream(byt))
            //{
            //memoryStream.Position = 0;
            //image = Image.FromStream(memoryStream);
            //bitmap = new Bitmap(image);
            // image.Save("../ProductImage/"+sCode+".jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
            //ByteStrToImage
            // GetRandomText

            var    path        = Server.MapPath("~/ProductImage/");
            string randomText1 = ByteStrToImage(icon1, path);
            string randomText2 = ByteStrToImage(icon2, path);

            using (var db = new LifeMallDBContext())
            {
                var newProduct = new Product()
                {
                    CategoryID  = int.Parse(categoryID),
                    Description = description,
                    ImageUrl1   = "ProductImage/" + randomText1,
                    ImageUrl2   = "ProductImage/" + randomText2,
                    Price       = int.Parse(price),
                    ProductName = productName
                };
                db.Product.Add(newProduct);
                db.SaveChanges();
            }



            var j = "{\"resp\":0}";

            return(Json(j, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 14
0
        // GET: Create
        public ActionResult CreateCategory(string categoryName, string parentID)
        {
            using (var db = new LifeMallDBContext())
            {
                var newCategory = new Category()
                {
                    CategoryName = categoryName,
                    ParentID     = int.Parse(parentID)
                };
                db.Category.Add(newCategory);
                db.SaveChanges();
            }


            var j = "{\"resp\":0}";

            return(Json(j, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 15
0
        public ActionResult EditCategory(string categoryName, string categoryID)
        {
            using (var db = new LifeMallDBContext())
            {
                int cateID        = int.Parse(categoryID);
                var categoryQuery = db.Category.Where(m => m.CategoryID == cateID).FirstOrDefault();
                if (categoryQuery != null)
                {
                    categoryQuery.CategoryName = categoryName;
                    db.SaveChanges();
                }
            }


            var j = "{\"resp\":0}";

            return(Json(j, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 16
0
        public ActionResult RemoveProduct(string productID)
        {
            using (var db = new LifeMallDBContext())
            {
                int productIDNum = int.Parse(productID);
                var productQuery = db.Product.Where(m => m.ProductID == productIDNum).FirstOrDefault();
                if (productQuery != null)
                {
                    db.Product.Remove(productQuery);
                    db.SaveChanges();
                }
            }


            var j = "{\"resp\":0}";

            return(Json(j, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 17
0
        public ActionResult Register(Member member)
        {
            var selectList = new List <SelectListItem>()
            {
                new SelectListItem {
                    Text = "男", Value = "value-1"
                },
                new SelectListItem {
                    Text = "女", Value = "value-2"
                },
            };

            selectList.Where(m => m.Value == member.Sex).First().Selected = true;
            ViewBag.SelectList = selectList;
            if (ModelState.IsValid == true)
            {
                member.Sex = selectList.Where(m => m.Value == member.Sex).FirstOrDefault().Text;
                using (var db = new LifeMallDBContext())
                {
                    var newMember = new Member()
                    {
                        Name       = member.Name,
                        Account    = member.Account,
                        Password   = member.Password,
                        Address    = member.Address,
                        Email      = member.Email,
                        Phone      = member.Phone,
                        Sex        = member.Sex,
                        Birthday   = member.Birthday,
                        CreateDate = DateTime.Now
                    };
                    db.Member.Add(newMember);
                    db.SaveChanges();
                }



                return(RedirectToAction("Index", "Home"));
            }

            return(View(member));
        }
Exemplo n.º 18
0
        public ActionResult Login(LoginViewModel loginViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(loginViewModel));
            }
            var db   = new LifeMallDBContext();
            var user = db.Member.Where(m => m.Account == loginViewModel.Account && m.Password == loginViewModel.Password).FirstOrDefault();

            if (user == null)
            {
                ModelState.AddModelError("", "無效的帳號或密碼。");
                return(View());
            }
            var userData = new User()
            {
                Name     = user.Name,
                MemberID = user.MemberID,
                identity = (Identity)user.role
            };
            var ticket = new FormsAuthenticationTicket
                         (
                version: 1,
                name: user.Name.ToString(),                      //可以放使用者Id
                issueDate: DateTime.UtcNow,                      //現在UTC時間
                expiration: DateTime.UtcNow.AddMinutes(30),      //Cookie有效時間=現在時間往後+30分鐘
                isPersistent: true,                              // 是否要記住我 true or false
                userData: JsonConvert.SerializeObject(userData), //可以放使用者角色名稱
                cookiePath: FormsAuthentication.FormsCookiePath
                         );

            var encryptedTicket = FormsAuthentication.Encrypt(ticket);
            var cookie          = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket);

            Response.Cookies.Add(cookie);
            return(RedirectToAction("Index", "Home"));
        }