Beispiel #1
0
 public ActionResult Payment(PaymentModel payment)
 {
     try
     {
         if (ModelState.IsValid)
         {
             order order = new order();
             order.user_id       = int.Parse(Session["id"].ToString());
             order.display_name  = payment.display_name;
             order.phone_number  = payment.phone_number;
             order.address       = payment.address;
             order.email         = payment.email;
             order.start_time    = DateTime.Now.Date;
             order.form_payments = payment.form_payments;
             order.form_delivery = payment.form_delivery;
             order.status        = false;
             order.total_money   = this.totalMoney();
             db.orders.Add(order);
             db.SaveChanges();
             try
             {
                 var carts = this.getProductInCookie();
                 foreach (var item in carts)
                 {
                     order_details orderDetail = new order_details();
                     orderDetail.order_id   = order.id;
                     orderDetail.product_id = item.id;
                     orderDetail.name       = Server.UrlDecode(item.name);
                     orderDetail.quantity   = item.quantity;
                     if (item.price_promotion > 0)
                     {
                         var giamGia = String.Format("{0:0}", item.price * ((100 - item.price_promotion) / 100));
                         orderDetail.price = Decimal.Parse(giamGia.ToString());
                     }
                     else
                     {
                         orderDetail.price = item.price;
                     }
                     orderDetail.into_money = item.totalMoney;
                     db.order_details.Add(orderDetail);
                     db.SaveChanges();
                 }
             }
             catch (Exception e)
             {
             }
             Response.Cookies["CartCookie"].Expires = DateTime.Now.AddDays(-1);
             var content = db.order_details.Where(n => n.order_id == order.id).ToList();
             var body    = new PaymentSuccess().body(order.display_name, content);
             new Utils().SendEmail(payment.email, "Chúc mừng bạn đã mua sản phẩm thành công", body, "", "");
             return(Redirect("~/Trang-Chu"));
         }
     }catch (Exception e)
     {
     }
     this.getFormPayment();
     this.getFormDelivery();
     return(View(payment));
 }
        public ActionResult DeleteConfirmed(int id)
        {
            order_details order_details = db.order_details.Find(id);

            db.order_details.Remove(order_details);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult Edit([Bind(Include = "order_detail_id,order_id,game_platform_id,physical_copy,qty_ordered")] order_details order_details)
 {
     if (ModelState.IsValid)
     {
         db.Entry(order_details).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.game_platform_id = new SelectList(db.game_platforms, "game_platform_id", "game_platform_id", order_details.game_platform_id);
     ViewBag.order_id         = new SelectList(db.orders, "order_id", "order_id", order_details.order_id);
     return(View(order_details));
 }
        public ActionResult AddOrder(String address)
        {
            int     userid     = (Session["User"] as account).id;
            decimal totalprice = 0;
            var     cart       = cos.carts;

            foreach (var item in cart)
            {
                if (item.id_user == userid)
                {
                    var query = from product in cos.products
                                where product.id == item.id_products
                                select product;
                    product prod = query.FirstOrDefault();
                    totalprice += prod.price * item.quantity;
                    ShoppingCart dto = new ShoppingCart(prod, item.quantity);
                    if (shopCart == null)
                    {
                        shopCart = new List <ShoppingCart>();
                    }
                    shopCart.Add(dto);
                }
            }

            order od = new order {
                id_user = userid, totalprice = totalprice, createdAt = DateTime.Now, address = address
            };

            cos.orders.Add(od);
            cos.SaveChanges();

            var query1 = from order in cos.orders
                         where order.id_user == userid
                         select order;

            query1 = query1.OrderByDescending(o => o.id);
            order or = query1.FirstOrDefault();

            foreach (var item in shopCart)
            {
                order_details detail = new order_details {
                    id_order = or.id, id_products = item.Product.id, price = item.Product.price, quantity = item.Quantity, createdAt = or.createdAt
                };
                cos.order_details.Add(detail);


                cos.carts.RemoveRange(cos.carts.Where(x => x.id_user == userid));
                cos.SaveChanges();
            }
            TempData["order"] = "Order successfully";
            return(RedirectToAction("Index", "Home"));
        }
        // GET: OrderDetails/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            order_details order_details = db.order_details.Find(id);

            if (order_details == null)
            {
                return(HttpNotFound());
            }
            return(View(order_details));
        }
Beispiel #6
0
        public ActionResult PaymentPayPal(order data)
        {
            order order = new order();

            order.user_id       = int.Parse(Session["id"].ToString());
            order.display_name  = data.display_name;
            order.phone_number  = data.phone_number;
            order.address       = data.address;
            order.email         = data.email;
            order.start_time    = DateTime.Now.Date;
            order.form_payments = data.form_payments;
            order.form_delivery = data.form_delivery;
            order.status        = false;
            order.total_money   = this.totalMoney();
            db.orders.Add(order);
            db.SaveChanges();
            try
            {
                var carts = this.getProductInCookie();
                foreach (var item in carts)
                {
                    order_details orderDetail = new order_details();
                    orderDetail.order_id   = order.id;
                    orderDetail.product_id = item.id;
                    orderDetail.name       = Server.UrlDecode(item.name);
                    orderDetail.quantity   = item.quantity;
                    if (item.price_promotion > 0)
                    {
                        var giamGia = String.Format("{0:0}", item.price * ((100 - item.price_promotion) / 100));
                        orderDetail.price = Decimal.Parse(giamGia.ToString());
                    }
                    else
                    {
                        orderDetail.price = item.price;
                    }
                    orderDetail.into_money = item.totalMoney;
                    db.order_details.Add(orderDetail);
                    db.SaveChanges();
                }
                var content = db.order_details.Where(n => n.order_id == order.id).ToList();
                var body    = new PaymentSuccess().body(order.display_name, content);
                new Utils().SendEmail(data.email, "Chúc mừng bạn đã mua sản phẩm thành công", body, "", "");
            }
            catch (Exception e)
            {
            }
            //var body = new PaymentSuccess().body();
            //new Utils().SendEmail(payment.email, "Chúc mừng bạn đã mua sản phẩm thành công", body, "", "");
            return(View());
        }
        // GET: OrderDetails/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            order_details order_details = db.order_details.Find(id);

            if (order_details == null)
            {
                return(HttpNotFound());
            }
            ViewBag.game_platform_id = new SelectList(db.game_platforms, "game_platform_id", "game_platform_id", order_details.game_platform_id);
            ViewBag.order_id         = new SelectList(db.orders, "order_id", "order_id", order_details.order_id);
            return(View(order_details));
        }
Beispiel #8
0
        public ActionResult Add()
        {
            User user   = (User)Session["user"];
            int  userId = user.U_Id;

            var query =
                (from o in context.Carts
                 where o.User_Id == userId
                 select new { o.Product_Id, o.Product.Price, o.Quantity, o.Product }).ToList();
            decimal totalPrice = 0;

            if (query.Count > 0)
            {
                foreach (var item in query)
                {
                    totalPrice += item.Price * item.Quantity;
                }
            }
            //  add new order
            Order newOrder = new Order();

            newOrder.User_Id     = userId;
            newOrder.Total_Price = totalPrice;
            newOrder.Sales_Date  = DateTime.Now;
            context.Orders.Add(newOrder);
            context.SaveChanges();

            var oId =
                (from o in context.Orders
                 select o.O_Id).Max();

            //  add order details
            foreach (var item in query)
            {
                order_details odetails = new order_details();
                odetails.O_Id     = oId;
                odetails.p_id     = item.Product_Id;
                odetails.Quantity = item.Quantity;
                odetails.Price    = (int)item.Product.Price;

                context.order_details.Add(odetails);
                updateQuantity(item.Product_Id, item.Quantity);
            }
            context.SaveChanges();
            return(RedirectToAction("Index"));
            //return View();
        }
Beispiel #9
0
 /// <summary>
 /// 微信下单
 /// </summary>
 /// <param name="order_no">系统订单号</param>
 /// <param name="product">商品gid列表</param>
 /// <param name="member_gid">会员gid</param>
 /// <param name="openid">会员openid</param>
 /// <param name="type">1=真柏 2=视频 3=课程</param>
 /// <param name="remarks">备注</param>
 /// <param name="address">快递地址</param>
 /// <param name="consignee">收货人</param>
 /// <param name="contact_number">联系电话</param>
 /// <returns>返回调用结果</returns>
 /// <para name="result">200 是成功其他失败</para>
 /// <para name="data">对象结果</para>
 /// <remarks>
 /// 2018-08-18 林建生
 /// </remarks>
 public static string wxpay(string order_no, string product, Guid member_gid, string openid, int type, string remarks, string address = "", string consignee = "", string contact_number = "")
 {
     using (EFDB db = new EFDB())
     {
         //订单的gid
         Guid order_gid = Guid.NewGuid();
         //产品金额
         decimal total_price = 0;
         //产品名称
         string body = "多个商品订单";
         //添加订单产品列表
         JArray json        = (JArray)JsonConvert.DeserializeObject(product);
         Guid?  product_gid = null;
         int    number      = 0;
         foreach (var j in json)
         {
             product_gid = Guid.Parse(j["product_gid"].ToString());
             number      = int.Parse(j["number"].ToString());
             var p = db.product.Where(l => l.gid == product_gid).FirstOrDefault();
             if (json.Count() == 1)
             {
                 body = p.name;
             }
             //total_price += p.price * number;
             var od = new order_details();
             od.gid         = Guid.NewGuid();
             od.add_time    = DateTime.Now;
             od.order_gid   = order_gid;
             od.product_gid = (Guid)product_gid;
             od.number      = number;
             od.price       = p.price;
             od.pay_price   = p.price;
             db.order_details.Add(od);
         }
         if (db.SaveChanges() == json.Count())
         {
             //备注
             string attach = JsonConvert.SerializeObject(new { type = type, total_price, order_gid });
             //string order_no = RandStr.CreateOrderNO();
             total_price = db.order_details.Where(l => l.order_gid == order_gid).Sum(l => l.price * l.number);
             //生成订单
             var b = new lorder();
             b.gid            = order_gid;
             b.add_time       = DateTime.Now;
             b.order_no       = order_no;
             b.member_gid     = member_gid;
             b.pay_status     = 2;
             b.pay_type       = 2;
             b.total_price    = total_price;
             b.price          = total_price;
             b.number         = type != 1 ? number: json.Count();
             b.coupon_price   = 0;
             b.express_status = 1;
             b.address        = address;
             b.consignee      = consignee;
             b.contact_number = contact_number;
             b.remarks        = string.IsNullOrEmpty(remarks) ? attach : remarks;
             if (type != 1)
             {
                 b.product_gid = product_gid;
             }
             db.lorder.Add(b);
             if (db.SaveChanges() == 1)
             {
                 //开始微信统一下单
                 string _Pay_Package = WXPay.Get_RequestHtml(openid, order_no, total_price, body, attach);
                 //微信jspai支付
                 if (_Pay_Package.Length > 0)
                 {
                     if (!string.IsNullOrEmpty(consignee) && !string.IsNullOrEmpty(contact_number) && !string.IsNullOrEmpty(address))
                     {
                         db.member.Where(l => l.gid == member_gid).Update(l => new member {
                             address = address, contact_number = contact_number, real_name = consignee
                         });
                     }
                     return(_Pay_Package);
                 }
                 else
                 {
                     db.lorder.Where(l => l.gid == b.gid).Delete();
                     return("微信下单失败");
                 }
             }
             else
             {
                 db.order_details.Where(l => l.order_gid == order_gid).Delete();
                 db.lorder.Where(l => l.gid == order_gid).Delete();
                 return("生成订单失败");
             }
         }
         else
         {
             db.order_details.Where(l => l.order_gid == order_gid).Delete();
             return("生成订单列表失败");
         }
     }
 }
Beispiel #10
0
        public ActionResult SaveOrder(string payment_type)
        {
            order         order         = new order();
            order_details order_Details = new order_details();

            var getid = (from a in db.orders
                         select a.ID).Count();

            if (getid == 0)
            {
                getid = 1;
            }
            else
            {
                getid = (from a in db.orders
                         select a.ID).Max() + 1;
            }


            var totalsum = (from a in db.shopping_cart_details
                            where getid == a.order_id
                            select a.item_amount).Sum();

            //var userid = (from a in db.users
            //             where a.name == Session["username"].ToString() || a.name == Session["facebookusername"].ToString()
            //             select a.ID).FirstOrDefault();

            var payment_id = (from a in db.Payments
                              where a.payment_type == payment_type
                              select a.ID).FirstOrDefault();


            order.date_created = DateTime.Now;

            order.total_sum = double.Parse(TempData["totalprice"].ToString());
            order.amount    = totalsum;
            //   order.user_id = userid;
            order.payment_id = payment_id;
            db.orders.Add(order);
            db.SaveChanges();


            var products = (from a in db.shopping_cart_details
                            where a.order_id == getid
                            join b in db.products on a.item_id equals b.ID
                            select b).ToList();

            var itemoncart = (from a in db.shopping_cart_details
                              where getid == a.order_id
                              select a).ToList();

            foreach (var prods in products)
            {
                foreach (var item in itemoncart)
                {
                    order_Details.order_prd_qty = item.item_amount.ToString();
                }
                order_Details.order_prd_name  = prods.prd_name;
                order_Details.order_prd_price = prods.price;
                order_Details.prd_id          = prods.ID;
                var finalqty = prods.prd_quantity - int.Parse(TempData["amount"].ToString());
                order_Details.order_date = DateTime.Now;
                order_Details.order_id   = getid;
                db.order_details.Add(order_Details);
                db.SaveChanges();
            }

            return(Json("Order Made Correctly", JsonRequestBehavior.AllowGet));
        }