Example #1
0
        /// <summary>
        /// 用户的详细信息页面
        /// </summary>
        /// <returns></returns>
        public ActionResult Me()
        {
            if (!IsLogined())
            {
                return(Content("<script>alert('请登录');window.location.href='/Users/Login'</script>"));
            }
            ViewBag.TitleBar = "我的";

            //通过Session获取id,不能通过url地址来获取
            string id = Session["UserId"].ToString();

            ////1.对id进行合法性验证
            int userid;

            if (!int.TryParse(id, out userid))
            {
                return(Content("<script>alert('参数不合法');window.location.href='/Users/Login'</script>"));
            }
            //2.查询该id对应的用户信息
            using (ShoppingEntities dc = new ShoppingEntities())
            {
                Users entity = dc.Users.FirstOrDefault(u => u.UserID == userid);
                if (entity != null)//查询到该用户
                {
                    return(View(entity));
                }
                else//查询不到该用户
                {
                    return(Redirect("/Users/Index"));
                }
            }
        }
Example #2
0
        public ActionResult MySellProduct()
        {
            //1. 先判断用户是否登录了
            if (!IsLogined())
            {
                return(Content("<script>alert('请登录');window.location.href='/Users/Login'</script>"));
            }

            //通过Session获取id,不能通过url地址来获取
            string id = Session["UserId"].ToString();

            //2.对id进行合法性验证
            int userid;

            if (!int.TryParse(id, out userid))
            {
                return(Content("<script>alert('参数不合法');window.location.href='/Users/Login'</script>"));
            }

            //3. 查询订单表,通过卖家id来判断,还添加了评价
            using (ShoppingEntities dc = new ShoppingEntities())
            {
                List <Dictionary <String, Object> > sellList = new List <Dictionary <String, Object> >();
                var tradeList = dc.TradeRecord.Where(tra => tra.UserSellID == userid).ToList();
                foreach (var trade in tradeList)
                {
                    sellList.Add(ProductObjectToJson.Convert(trade.Product, trade));
                }

                Dictionary <String, Object> retJson = new Dictionary <String, Object>();
                retJson.Add("total", sellList.Count());
                retJson.Add("products", sellList);
                return(Json(retJson, JsonRequestBehavior.DenyGet));
            }
        }
Example #3
0
        public ActionResult UpdateProduct(Product p)
        {
            WebImage photo          = null;
            var      newFileName    = "";
            var      imagePath      = "";
            var      imageThumbPath = "";

            photo = WebImage.GetImageFromRequest();
            if (photo != null)
            {
                newFileName = Path.GetFileName(photo.FileName);
                imagePath   = @"images/Products/" + newFileName;
                photo.Save(@"~/" + imagePath);
                imageThumbPath = @"images/Products/thumbnails/" + newFileName;
                photo.Resize(width: 165, height: 35, preserveAspectRatio: false, preventEnlarge: true);
                photo.Save(@"~/" + imageThumbPath);
            }
            var db  = new ShoppingEntities();
            var im  = "/" + imagePath;
            var im1 = "/" + imageThumbPath;

            p.Img             = im;
            p.Thumbnail       = im1;
            db.Entry(p).State = EntityState.Modified;
            db.SaveChanges();
            return(RedirectToAction("ListProducts"));
        }
Example #4
0
        public ActionResult ProductDetails(int id)
        {
            var     db  = new ShoppingEntities();
            Product pro = db.Products.Find(id);

            return(View(pro));
        }
Example #5
0
        public ActionResult Submit(int id)
        {
            //1. 登录判断
            if (!IsLogined())
            {
                return(Content("<script>alert('请登录');window.location.href='/Users/Login'</script>"));
            }

            //往数据库的表中修改内容
            using (ShoppingEntities se = new ShoppingEntities())
            {
                string      text  = Request.Form["text"];
                TradeRecord order = se.TradeRecord.FirstOrDefault(u => u.TraPID == id);
                //判断是否提交过评论
                if (order.TraComment == null)
                {
                    var entry = se.Entry(order);
                    entry.State = System.Data.EntityState.Unchanged;
                    entry.Property("TraComment").IsModified = true;
                    order.TraComment = text;
                    if (se.SaveChanges() > 0)
                    {
                        return(Content("<script>alert('提价评价成功!');window.location.href='/Order/Index';</script>"));
                    }
                    else
                    {
                        return(Content("<script>alert('提价评价失败!');window.location.href='/Order/Index';</script>"));
                    }
                }
                else
                {
                    return(Content("<script>alert('已经提交过评论了,请勿重复提交!');window.location.href='/Order/Index';</script>"));
                }
            }
        }
Example #6
0
        public async Task <Response <bool> > UpdateCategory(CategoryViewModel cat)
        {
            Response <bool> response = new Response <bool>();

            try
            {
                using (var dc = new ShoppingEntities())
                {
                    var query = dc.spUpdCategory(cat.CategoryID, cat.CategoryName, cat.CategoryDescription, cat.CategoryImage, cat.CategoryDateCreated);
                    if (query == -1)
                    {
                        response.Count   = 1;
                        response.Message = null;
                        response.Result  = true;
                    }
                    else
                    {
                        response.Count   = 0;
                        response.Message = "No se actualizo";
                        response.Result  = false;
                    }
                }
                return(response);
            }
            catch (Exception ex)
            {
                response.Count   = 0;
                response.Message = ex.Message;
                response.Result  = false;
                return(response);
            }
        }
Example #7
0
        public async Task <Response <bool> > InsertUser(UserViewModel user)
        {
            Response <bool> response = new Response <bool>();

            try
            {
                using (var dc = new ShoppingEntities())
                {
                    var query = dc.spInsUser(user.UserName, user.UserLastName, user.UserAddress, user.UserSex, user.UserEmail, user.UserPassword, user.UserLatitude, user.UserLongitude, user.UserImage, user.UserType, true);
                    if (query == -1)
                    {
                        response.Count   = 1;
                        response.Result  = true;
                        response.Message = null;
                    }
                    else
                    {
                        response.Count   = 0;
                        response.Result  = false;
                        response.Message = "No se inserto";
                    }
                }
                return(response);
            }
            catch (Exception ex)
            {
                response.Count   = 0;
                response.Result  = false;
                response.Message = ex.Message;
                return(response);
            }
        }
Example #8
0
        //
        // GET: /Order/

        #region 返回订单页面
        public ActionResult Index()
        {
            //1. 登录判断
            if (!IsLogined())
            {
                return(Content("<script>alert('请登录');window.location.href='/Users/Login'</script>"));
            }

            //通过Session 获取用户的id
            int userId = 0;

            if (!int.TryParse(Session["UserId"].ToString(), out userId))
            {
                return(Content("<script>alert('请登录');window.location.href='/Users/Login'</script>"));
            }

            ShoppingEntities se   = new ShoppingEntities();
            Users            user = se.Users.FirstOrDefault(u => u.UserID == userId);

            userId = user.UserID;

            //通过用户的ID查到产品
            var order = se.TradeRecord.Where(tra => tra.UserBuyID == userId).ToList();

            ViewBag.title = "我的订单";
            ViewBag.Id    = userId;
            return(View(order));
        }
Example #9
0
        public async Task <Response <bool> > Authenticate(string email, string password)
        {
            Response <bool> response = new Response <bool>();

            try
            {
                using (var dc = new ShoppingEntities())
                {
                    var query = dc.spSelUser(email, password).FirstOrDefault();
                    if (query != null)
                    {
                        response.Count   = 1;
                        response.Result  = true;
                        response.Message = null;
                    }
                    else
                    {
                        response.Count   = 0;
                        response.Result  = false;
                        response.Message = "No se encotro el usuario";
                    }
                }
                return(response);
            }
            catch (Exception ex)
            {
                response.Count   = 0;
                response.Result  = false;
                response.Message = ex.Message;
                return(response);
            }
        }
Example #10
0
        public ActionResult Index()
        {
            var db    = new ShoppingEntities();
            var lista = db.Listas.FirstOrDefault(l => l.Aberta);

            return(View(lista));
        }
Example #11
0
 public UserController(ShoppingEntities shoppingEntities, IUltilityService ultilityService
                       , INotificationService notificationService)
 {
     this.shoppingEntities    = shoppingEntities;
     this.notificationService = notificationService;
     this.ultilityService     = ultilityService;
 }
Example #12
0
        public async Task <Response <bool> > DeleteCategory(Guid categoryID)
        {
            Response <bool> response = new Response <bool>();

            try
            {
                using (var dc = new ShoppingEntities())
                {
                    var query = dc.spDelCategory(categoryID);
                    if (query == -1)
                    {
                        response.Count   = 1;
                        response.Message = null;
                        response.Result  = true;
                    }
                    else
                    {
                        response.Count   = 0;
                        response.Message = "No se elimino";
                        response.Result  = false;
                    }
                }
                return(response);
            }
            catch (Exception ex)
            {
                response.Count   = 0;
                response.Message = ex.Message;
                response.Result  = false;
                return(response);
            }
        }
Example #13
0
        public ActionResult DeleteProduct(int id)
        {
            var     db = new ShoppingEntities();
            Product p  = db.Products.Find(id);

            return(View(p));
        }
 public IHttpActionResult CompleteOrder(int OrderID)
 {
     if (OrderDataValidation.ValidateOpenOrder(OrderID))
     {
         if (!CartDataValidation.ValidateEmptyCart(OrderID))
         {
             using (ShoppingEntities entity = new ShoppingEntities())
             {
                 using (ShoppingDiscount total = new ShoppingDiscount())
                 {
                     entity.Orders.First(o => o.O_ID == OrderID).O_TotalAmount = total.TotalAfterDiscount(OrderID);
                     entity.Orders.First(o => o.O_ID == OrderID).O_Status      = ShoppingData.CloseOrderStatus;
                     entity.SaveChanges();
                     return(Ok("Total Amount after Discount = " + total.TotalAfterDiscount(OrderID)));
                 }
             }
         }
         else
         {
             return(BadRequest("There is no item in cart"));
         }
     }
     else
     {
         return(BadRequest("Invalid OrderID"));
     }
 }
Example #15
0
        /// <summary>
        /// 判断用户是否登录或登录过
        /// </summary>
        /// <returns></returns>
        public Boolean IsLogined()
        {
            //判断是否有 cookie
            if (Request.Cookies["isremember"] != null)
            {
                //将Cookie中保存的用户id读取出来,存储到Session中
                string idStr = Request.Cookies["isremember"].Value;
                int    userid;
                if (!int.TryParse(idStr, out userid))
                {
                    return(false);
                }
                //通过id查询数据库获取用户名
                using (ShoppingEntities dc = new ShoppingEntities())
                {
                    Users model = dc.Users.FirstOrDefault(u => u.UserID == userid);
                    Session["LoginUser"] = model.UserName;
                    Session["UserId"]    = model.UserID;
                    //返回登录后的用户头像地址
                    Session["userIcon"] = model.UserIcon;
                }
                return(true);
            }

            // 判断是否有 Session
            if (Session["LoginUser"] != null)
            {
                return(true);
            }
            return(false);
        }
Example #16
0
 public ActionResult Login(user u)
 {
     using (ShoppingEntities se = new ShoppingEntities())
     {
         var isSuccess = (from user in se.users where u.username == user.username && u.password == user.password select user.userid).Any();
         if (isSuccess)
         {
             var userData = (from user in se.users where u.username == user.username && u.password == user.password select user).First();
             Session["CurrentUserID"] = userData.userid;
             CurrentUserID            = userData.userid;
             if (userData.userid == 1)
             {
                 return(RedirectToAction("Success", "Login"));
             }
             else
             {
                 return(RedirectToAction("NonAdmin", "Login"));
             }
         }
         else
         {
             ViewBag.loginMessage = "Incorrect username or password";
         }
     }
     return(View());
 }
        //管理员删除产品操作
        public ActionResult Delete(String id)
        {
            //1、检查参数id的合法性  string -> int
            int productId;

            if (!int.TryParse(id, out productId))
            {
                return(Content("<script>alert('参数不合法');window.location.href='/AdminProduct/Index'</script>"));
            }
            //2、使用EF删除产品
            using (ShoppingEntities dc = new ShoppingEntities())
            {
                //1、先查询
                Product entity = dc.Product.FirstOrDefault(p => p.ProID == productId);
                //2、后删除
                dc.Product.Remove(entity);
                //3、保存回数据库中
                if (dc.SaveChanges() > 0)
                {
                    return(Content("<script>alert('产品下架成功!');window.location.href='/AdminProduct/Index'</script>"));
                }
                else
                {
                    return(Content("<script>alert('产品下载失败!');window.location.href='/AdminProduct/Index'</script>"));
                }
            }
        }
Example #18
0
        public ActionResult ViewCart()
        {
            List <CartProduct> productsInCart = new List <CartProduct>();

            using (ShoppingEntities se = new ShoppingEntities())
            {
                var ProductDetails = (from cartTbl in se.carts where cartTbl.userid == CurrentUserID select cartTbl).ToList();
                if (ProductDetails == null)
                {
                    ViewBag.NoProductsFound = "Your Cart Is Empty!";
                }
                else
                {
                    foreach (var product in ProductDetails)
                    {
                        var         ProductInCart = (from prodTbl in se.products where prodTbl.productid == product.productid select prodTbl).First();
                        CartProduct cp            = new CartProduct();
                        cp.Quantity = (int)product.quantity;
                        cp.Product  = ProductInCart;
                        productsInCart.Add(cp);
                    }
                }
                ViewBag.ProductList = productsInCart;
            }

            return(View());
        }
Example #19
0
        public ActionResult ListProducts()
        {
            var db = new ShoppingEntities();
            var q  = (from product in db.Products select product);

            return(View(q));
        }
Example #20
0
        public ActionResult Product()
        {
            ViewBag.Message = "Products page.";
            var db = new ShoppingEntities();
            var q  = from s in db.Products select s;

            return(View(q));
        }
Example #21
0
 /// <summary>
 /// 检查用户账号的唯一性
 /// </summary>
 /// <param name="useraccount">传入的账号参数名必须与模型类的属性名保持一致</param>
 /// <returns>JSON数据,值为true,表示用户账号可以使用,值为false,表示用户名不可以使用</returns>
 public ActionResult CheckUserAccount(string useraccount)
 {
     using (ShoppingEntities dc = new ShoppingEntities())
     {
         //在Users表中,查询UserAccount字段等于输入的参数值的记录个数,个数为0则表示true,个数不为0则表示false
         bool result = dc.Users.Count(u => u.UserAccount == useraccount) == 0;
         return(Json(result, JsonRequestBehavior.AllowGet));
     }
 }
Example #22
0
        /// <summary>
        /// 用户添加收藏,需要登录
        /// </summary>
        /// <param name="pid">产品id</param>
        /// <returns></returns>
        /// AddFavorite
        public ActionResult AddFavorite(string pid)
        {
            if (!IsLogined())
            {
                return(Content("<script>alert('请登录才可以收藏');window.location.href='/Users/Login'</script>"));
            }

            int proId = 0;

            if (!int.TryParse(pid, out proId))
            {
                return(Content("<script>alert('查询查询错误');window.location.href='/Users/Me'</script>"));
            }

            //获取用户id
            int userId;

            if (!int.TryParse(Session["UserId"].ToString(), out userId))
            {
                return(Content("<script>alert('请登录');window.location.href='/Users/Login'</script>"));
            }

            //添加收藏
            using (ShoppingEntities dc = new ShoppingEntities())
            {
                var favoriteEntity = new Favorite();
                favoriteEntity.FavUID = userId;
                favoriteEntity.FavPID = proId;

                //发布用户不可以收藏自己的产品
                var productEntity = dc.Product.FirstOrDefault(p => p.ProID == proId);
                if (productEntity.ProWhoUser == userId)
                {
                    return(Content("<script>alert('不可以收藏自己的产品');window.location.href='/Product/Detail/" + pid + "'</script>"));
                }


                //收藏前先判断是否有重复收藏
                var favRet = dc.Favorite.FirstOrDefault(fav => fav.FavPID == proId && fav.FavUID == userId);
                if (favRet != null)
                {
                    return(Content("<script>alert('不可以重复收藏');window.location.href='/Product/Detail/" + pid + "'</script>"));
                }
                else
                {
                    dc.Favorite.Add(favoriteEntity);
                    if (dc.SaveChanges() > 0)
                    {
                        return(Content("<script>alert('收藏成功');window.location.href='/Product/Detail/" + pid + "'</script>"));
                    }
                    else
                    {
                        return(Content("<script>alert('收藏失败');window.location.href='/Product/Detail" + pid + "'</script>"));
                    }
                }
            }
        }
Example #23
0
        public ActionResult DeleteConfirmed(int id)
        {
            var     db = new ShoppingEntities();
            Product p  = db.Products.Find(id);

            db.Products.Remove(p);
            db.SaveChanges();
            return(RedirectToAction("ListProducts"));
        }
Example #24
0
        public ActionResult ViewProducts()
        {
            IEnumerable <product> productList;

            using (ShoppingEntities se = new ShoppingEntities())
            {
                productList = (from product in se.products where product.isactive != false select product).ToList();
            }
            return(View(productList));
        }
Example #25
0
        public ActionResult AddProducts(product p)
        {
            using (ShoppingEntities se = new ShoppingEntities())
            {
                se.products.Add(p);
                se.SaveChanges();
            }

            return(View());
        }
Example #26
0
        public ActionResult Register(user u)
        {
            using (ShoppingEntities se = new ShoppingEntities())
            {
                se.users.Add(u);
                se.SaveChanges();
            }

            return(View());
        }
Example #27
0
 public ActionResult SetNewPassword(user u)
 {
     using (ShoppingEntities se = new ShoppingEntities())
     {
         if (u.password == u.ConfirmPassword)
         {
         }
     }
     return(View());
 }
Example #28
0
 public ActionResult DeleteProductFromCart(int DelProd)
 {
     using (ShoppingEntities se = new ShoppingEntities())
     {
         var RemoveFromCart = (from RemoveElement in se.carts where RemoveElement.productid == DelProd select RemoveElement).First();
         se.carts.Remove(RemoveFromCart);
         se.SaveChanges();
     }
     return(RedirectToAction("ViewCart"));
 }
Example #29
0
        public ActionResult EditProduct(int prodID)
        {
            product existingProduct = new product();

            using (ShoppingEntities se = new ShoppingEntities())
            {
                existingProduct = (from p1 in se.products where prodID == p1.productid select p1).First();
            }
            return(View(existingProduct));
        }
Example #30
0
        public ActionResult ProductDescription(int prodID)
        {
            string description = "";

            using (ShoppingEntities se = new ShoppingEntities())
            {
                description = (from des in se.products where prodID == des.productid select des.productdescription).First();
            }
            ViewBag.Data = description;
            return(View());
        }