public ActionResult Save_Order(FormCollection fc)
        {
            List <item> items   = (List <item>)Session["cart"];
            decimal     summary = 0;

            foreach (item it in (List <item>)Session["cart"])
            {
                summary += (it.Phone.price.Value * it.Quantity);
            }

            Order orders = new Order();

            orders.customer_id  = User.Identity.GetUserId();
            orders.grand_total  = summary;
            orders.card_no      = fc["credit_card"];
            orders.order_date   = DateTime.Now;
            orders.order_status = "New";
            pe.Order.Add(orders);
            pe.SaveChanges();

            foreach (item it in items)
            {
                Order_Details od = new Order_Details();
                od.order_id   = pe.Order.Max(item => item.order_id);
                od.product_id = it.Phone.product_id;
                od.amount     = it.Quantity;
                od.sub_total  = (it.Phone.price * it.Quantity);
                pe.Order_Details.Add(od);
                pe.SaveChanges();
            }
            return(View("Confirm"));
        }
        public ActionResult ThanhToan(Orders o)
        {
            if (ModelState.IsValid)
            {
                o.CustomerID = (Session["customer"] as Customers).CustomerID;
                o.OrderDate  = DateTime.Now;
                var gio = Session["gio"] as Gio;
                o.TotalMoney = gio.TongTien;

                db.ThemOrder(o);
                foreach (var item in gio.DSSP)
                {
                    Order_Details or = new Order_Details()
                    {
                        OrderID      = o.OrderID,
                        ProductID    = item.ProductID,
                        ProductName  = item.ProductName,
                        PricePresent = item.PricePresent,
                        Quantity     = item.SoLuong,
                        TotalMoney   = item.ThanhTien
                    };
                    db.ThemOrderdetails(or);
                }
            }
            TempData["thanhcong"] = "<script>swal('mua hàng thành công, đang chờ xác nhận!');</script>";
            var tranggio = Session["gio"] as Gio;

            tranggio.Xoa();
            return(RedirectToAction("", "Trangchu"));
        }
示例#3
0
        public async Task <IActionResult> UpdateOrderDetails(Order_Details orders_details)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest("Invalid order request!"));
            }

            var sql = @"UPDATE [dbo].[Order_details]
                              SET [product_id] = @product_id
                                 ,[order_id] = @order_id
                                 ,[order_details_quantity] = @order_details_quantity
                                 ,[order_details_price] = @order_details_price
                            WHERE order_details_id=@order_details_id";

            using (var connection = new SqlConnection(connectionString))
            {
                await connection.ExecuteAsync(sql, new
                {
                    @order_details_id       = orders_details.order_details_id,
                    @product_id             = orders_details.product_id,
                    @order_id               = orders_details.order_id,
                    @order_details_quantity = orders_details.order_details_quantity,
                    @order_details_price    = orders_details.order_details_price
                });

                return(Ok());
            }
        }
示例#4
0
 public ActionResult Edit([Bind(Include = "OrderID,ProductID,ProductName,PricePresent,Quantity,TotalMoney")] Order_Details order_Details)
 {
     if (ModelState.IsValid)
     {
         if (!Regex.IsMatch(order_Details.PricePresent.ToString(), @"^\d+$") || !Regex.IsMatch(order_Details.TotalMoney.ToString(), @"^\d+$"))
         {
             return(View(order_Details));
         }
         db.Entry(order_Details).State = EntityState.Modified;
         var    order    = db.Orders.SingleOrDefault(x => x.OrderID == order_Details.OrderID);
         var    lst      = db.Order_Details.Where(x => x.OrderID == order.OrderID).ToList();
         double tongtien = 0;
         foreach (Order_Details item in lst)
         {
             tongtien += (double)item.TotalMoney;
         }
         order.TotalMoney      = tongtien;
         db.Entry(order).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index", "/Order_Details", new { idOrder = order_Details.OrderID }));
     }
     ViewBag.OrderID   = new SelectList(db.Orders, "OrderID", "CustomerID", order_Details.OrderID);
     ViewBag.ProductID = new SelectList(db.Products, "ProductID", "ProductName", order_Details.ProductID);
     return(View(order_Details));
 }
示例#5
0
 protected override void ClearNavigationProperties()
 {
     Customer = null;
     Employee = null;
     Order_Details.Clear();
     Shipper = null;
 }
示例#6
0
        public ActionResult Payment(string shipName, string Phone, string Address, string Email)
        {
            var order = new Order();

            order.CreatDate   = DateTime.Now;
            order.ShipAddress = Address;
            order.ShipMobie   = Phone;
            order.ShipName    = shipName;
            order.ShipEmail   = Email;
            var id = dbContext.Orders.Add(order);

            dbContext.SaveChanges();
            var cart = (List <CartItem>)Session["ShoppingCart"];

            foreach (var item in cart)
            {
                var orderDetail = new Order_Details();
                orderDetail.ProductId = item.Product.Id;
                orderDetail.OrderId   = id.Id;
                orderDetail.Quantity  = item.Quantity;
                orderDetail.Price     = (int)item.Product.Product_Price;
                dbContext.Order_Detailss.Add(orderDetail);
            }
            dbContext.SaveChanges();
            Session["ShoppingCart"] = null;

            return(RedirectToAction("Complete", "Cart"));
        }
        public async Task <IHttpActionResult> PostOrder_Details(Order_Details order_Details)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.Order_Details.Add(order_Details);

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateException)
            {
                if (Order_DetailsExists(order_Details.IdOrder))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(CreatedAtRoute("DefaultApi", new { id = order_Details.IdOrder }, order_Details));
        }
        public async Task <IHttpActionResult> PutOrder_Details(int id, Order_Details order_Details)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != order_Details.IdOrder)
            {
                return(BadRequest());
            }

            db.Entry(order_Details).State = EntityState.Modified;

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!Order_DetailsExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
        public async Task OrderDetailReturnsDetails()
        {
            //Arrage
            Orders OrderTest = new Orders()
            {
                OrderID = 22, CustomerID = "ALFKI", EmployeeID = 3
            };
            Order_Details detailsTest = new Order_Details()
            {
                ProductID = 20, UnitPrice = 23, Quantity = 12, Discount = 1, Order = OrderTest
            };
            await _detailsControllerUnderTest.Create(detailsTest, OrderTest.OrderID);

            //Act
            var result = await _detailsControllerUnderTest.Details(OrderTest.OrderID, detailsTest.ProductID) as ViewResult;

            //Assert
            Assert.IsNotNull(result);

            var details = db.Order_Details.Where(o => o.OrderID == detailsTest.OrderID && o.ProductID == detailsTest.ProductID && o.UnitPrice == detailsTest.UnitPrice && o.Quantity == detailsTest.Quantity && o.Discount == detailsTest.Discount);
            var orders  = db.Orders.Find(OrderTest.OrderID);

            foreach (var orderdet in details)
            {
                db.Order_Details.Remove(orderdet);
            }

            db.Orders.Remove(orders);
            db.SaveChanges();
        }
        public async Task OrderDetailReturnsCreateCreates()
        {
            //Arrange
            Orders OrderTest = new Orders()
            {
                OrderID = 22, CustomerID = "ALFKI", EmployeeID = 3
            };
            Order_Details detailsTest = new Order_Details()
            {
                ProductID = 17, UnitPrice = 23, Quantity = 12, Discount = 1, Order = OrderTest
            };

            //Act
            var expected = db.Order_Details.Count() + 1;
            await _detailsControllerUnderTest.Create(detailsTest, OrderTest.OrderID);

            var actual  = db.Order_Details.Count();
            var details = db.Order_Details.Where(o => o.OrderID == detailsTest.OrderID && o.ProductID == detailsTest.ProductID && o.UnitPrice == detailsTest.UnitPrice && o.Quantity == detailsTest.Quantity && o.Discount == detailsTest.Discount);
            var orders  = db.Orders.Find(OrderTest.OrderID);

            //Assert
            Assert.AreEqual(expected, actual);


            foreach (var orderdet in details)
            {
                db.Order_Details.Remove(orderdet);
            }

            db.Orders.Remove(orders);
            db.SaveChanges();
        }
示例#11
0
        //Consultar Pedidos
        public List <Orders> consultarPedidos()
        {
            List <Orders> listaPedidos = new List <Orders>();
            Orders        pedido;

            if (conexion.Conectar() == "True")
            {
                StringBuilder builder = new StringBuilder();
                builder.Append(" SELECT TOP(50) od.OrderID, od.OrderDate, od.RequiredDate, od.ShippedDate, od.Freight, c.CompanyName ");
                builder.Append(" FROM Orders od, Customers c WHERE estado = 0 AND od.CustomerID = c.CustomerID ORDER BY OrderID DESC");

                using (SqlCommand comando = new SqlCommand(builder.ToString(), conexion.getConn()))
                {
                    using (IDataReader reader = comando.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            pedido                 = new Orders();
                            pedido.OrderID         = int.Parse(reader.IsDBNull(0) ? "" : reader.GetValue(0).ToString());
                            pedido.OrderDate       = reader.IsDBNull(1) ? new DateTime() : DateTime.Parse(reader.GetValue(1).ToString());
                            pedido.RequiredDate    = reader.IsDBNull(2) ? new DateTime() : DateTime.Parse(reader.GetValue(2).ToString());
                            pedido.ShippedDate     = reader.IsDBNull(3) ? new DateTime() : DateTime.Parse(reader.GetValue(3).ToString());
                            pedido.Freight         = decimal.Parse(reader.IsDBNull(4) ? "0" : reader.GetValue(4).ToString());
                            pedido.CustomerCompany = reader.IsDBNull(5) ? "" : reader.GetValue(5).ToString();
                            listaPedidos.Add(pedido);
                        }
                    }
                }

                foreach (Orders order in listaPedidos)
                {
                    StringBuilder builder2 = new StringBuilder();
                    builder2.Append(" SELECT od.OrderID, od.ProductID, od.UnitPrice, od.Quantity, p.ProductName FROM[Order Details] od, Products p ");
                    builder2.Append(" WHERE od.OrderID = @id AND od.ProductID = p.ProductID ");

                    using (SqlCommand comando2 = new SqlCommand(builder2.ToString(), conexion.getConn()))
                    {
                        Order_Details lineas;
                        order.Order_Details = new List <Order_Details>();
                        comando2.Parameters.AddWithValue("@id", order.OrderID);

                        using (IDataReader reader2 = comando2.ExecuteReader())
                        {
                            while (reader2.Read())
                            {
                                lineas             = new Order_Details();
                                lineas.OrderID     = int.Parse(reader2.IsDBNull(0) ? "" : reader2.GetValue(0).ToString());
                                lineas.ProductID   = int.Parse(reader2.IsDBNull(1) ? "" : reader2.GetValue(1).ToString());
                                lineas.UnitPrice   = decimal.Parse(reader2.IsDBNull(2) ? "": reader2.GetValue(2).ToString());
                                lineas.Quantity    = short.Parse(reader2.IsDBNull(3) ? "" : reader2.GetValue(3).ToString());
                                lineas.ProductName = reader2.IsDBNull(4) ? "" : reader2.GetValue(4).ToString();
                                order.Order_Details.Add(lineas);
                            }
                        }
                    }
                }
            }

            return(listaPedidos);
        }
示例#12
0
 public bool CreateOrderDetail(Order_Details order_Details)
 {
     try
     {
         var product      = RepositoryContainer.GetInstance <ProductsRepository>().GetByProduct_ID(order_Details.Product_ID);
         var stock        = RepositoryContainer.GetInstance <StockRepository>();
         var productstock = stock.GetQuantityByPK(order_Details.Product_ID, order_Details.size, order_Details.Color);
         if (stock.CheckInventory(order_Details.Product_ID, order_Details.size, order_Details.Color, order_Details.Quantity))
         {
             stock.Update(new Stock
             {
                 Product_ID = order_Details.Product_ID,
                 Color      = order_Details.Color,
                 Quantity   = productstock - order_Details.Quantity,
                 Size       = order_Details.size
             });
         }
         else
         {
             throw new Exception();
         }
         order_Details.Price = product.UnitPrice * order_Details.Quantity;
         Order_DetailsRepository.Create(order_Details);
         var o = RepositoryContainer.GetInstance <OrdersRepository>();
         o.UpdateTotalMoney(order_Details.Order_ID);
         return(true);
     }
     catch
     {
         return(false);
     }
 }
示例#13
0
        public ActionResult Index(Order Ordermodel)
        {
            using (AI_ProjectDBEntities dbmodels = new AI_ProjectDBEntities())
            {
                Ordermodel.Order_ID = dbmodels.Order.Count() + 1;
                Ordermodel.User_ID  = System.Convert.ToInt32(Session["user_id"].ToString());
                Ordermodel.Data     = System.DateTime.Now;
                Ordermodel.Price    = (float)System.Convert.ToDouble(Session["Price"].ToString());
                dbmodels.Order.Add(Ordermodel);
                dbmodels.SaveChanges();

                List <Item> cart = (List <Item>)Session["cart"];
                foreach (var item in cart)
                {
                    Order_Details DO = new Order_Details();
                    DO.Order_ID   = Ordermodel.Order_ID;
                    DO.Food_Name  = item.Cart.Food_name;
                    DO.Food_price = item.Cart.Food_Price;
                    DO.Quantity   = item.Quantity;
                    DO.OD_ID      = dbmodels.Order_Details.Count() + 1;
                    DO.Menu_ID    = item.Cart.Menu_ID;
                    dbmodels.Order_Details.Add(DO);
                    dbmodels.SaveChanges();
                }
                Session["cart"] = null;
            }
            return(View());
        }
示例#14
0
        /// <summary>
        /// Totals the price.
        /// </summary>
        /// <param name="orderDetail">The order detail.</param>
        /// <returns>System.Decimal.</returns>
        public static decimal TotalPrice(this Order_Details orderDetail)
        {
            decimal result = 0;

            result = orderDetail.UnitPrice * orderDetail.Quantity;
            return(result);
        }
示例#15
0
        public ActionResult DeleteConfirmed(string id, string idPr)
        {
            Order_Details order_Details = db.Order_Details.Find(id, idPr);

            db.Order_Details.Remove(order_Details);
            db.SaveChanges();
            return(RedirectToAction("Index", new { idOrder = id }));
        }
        public async Task <object> Edite(Order_Details order_Details)
        {
            bool isValid = await _order_DetailsService.ModifyOrder_Details(order_Details);

            _notification.SetNotificationMessage(isValid, Title, order_Details.UID);

            return(_notification);
        }
        public ActionResult DeleteConfirmed(int id, int productid)
        {
            Order_Details order_Details = db.Order_Details.Find(id, productid);

            db.Order_Details.Remove(order_Details);
            db.SaveChanges();
            return(RedirectToAction("Details", "Orders", new { id = id }));
        }
示例#18
0
        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"));
        }
示例#19
0
        /// <summary>
        ///     Get the OrderDetail object references.
        ///     Search through a collection of order details to find the ones that reference to this Order.
        /// </summary>
        /// <param name="orderDetails">IEnumerable of Order_Details</param>
        public void GetOrderDetailsReferences(IEnumerable <Order_Detail> orderDetails)
        {
            var odReferences = (from od in orderDetails
                                where od.Order.OrderID == this.OrderID
                                select od);

            odReferences.ToList().ForEach(odReference => Order_Details.Add(odReference));
        }
示例#20
0
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            Order_Details order_Details = await db.Order_Details.FindAsync(id);

            db.Order_Details.Remove(order_Details);
            await db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
        //U
        public void Update(Order_Details entity)
        {
            Order_Details orderDetails = GetByID(entity.OrderID, entity.ProductID);

            orderDetails.Quantity  = entity.Quantity;
            orderDetails.UnitPrice = entity.UnitPrice;
            orderDetails.Discount  = entity.Discount;

            dB.SaveChanges();
        }
示例#22
0
 public static OrderLine ToDocument(this Order_Details dbOrderLine)
 {
     return(new OrderLine()
     {
         Quantity = dbOrderLine.Quantity,
         UnitPrice = dbOrderLine.UnitPrice,
         ProductName = dbOrderLine.Products.ProductName,
         ProductId = dbOrderLine.Products.ProductID
     });
 }
        public ActionResult Checkout(FormCollection f)
        {
            User_Account  userAccount = (User_Account)Session["USER"];
            DateTime      today       = DateTime.Today;
            string        email       = userAccount.Email;
            string        name        = f["txtName"];
            string        address     = f["txtAddress"];
            string        province    = f["province"];
            string        district    = f["district"];
            string        town        = f["town"];
            string        orderPhone  = f["txtNumber"];
            Order_Details order       = new Order_Details
            {
                Email           = email,
                Ordered_Date    = today,
                Delivered       = false,
                Cancelled_Order = false,
                Reason_Cancel   = "",
                Order_Name      = name,
                Exact_Address   = address,
                Order_Phone     = orderPhone,
                Province_ID     = Int32.Parse(province),
                District_ID     = Int32.Parse(district),
                Town_ID         = Int32.Parse(town)
            };
            OrderDetailsDAL dal            = new OrderDetailsDAL();
            int             orderDetailsId = dal.addOrder(order);

            if (orderDetailsId >= 0)
            {
                ICollection <Product_Cart> productCarts   = userAccount.Product_Cart;
                Product_CartDAL            productCartDal = new Product_CartDAL();
                foreach (var item in productCarts)
                {
                    ProductOrderDetailsDAL podDal = new ProductOrderDetailsDAL();
                    Product_Order_Details  pod    = new Product_Order_Details()
                    {
                        Product_ID       = item.Product_ID,
                        Order_ID         = orderDetailsId,
                        Order_Quantity   = (int)item.Quantity,
                        Price            = item.Product.Price,
                        Discount_Percent = item.Product.DiscountPercent,
                    };

                    podDal.addProductOrderDetails(pod);

                    productCartDal.deleteRecord(item.Product_ID, userAccount.Email);
                }
                productCarts.Clear();
                Session.Remove("CART");
                return(RedirectToAction("Index", "Congratulate"));
            }

            return(View());
        }
示例#24
0
 public ActionResult Edit([Bind(Include = "OrderID,ProductID,UnitPrice,Quantity,Discount")] Order_Details order_Details)
 {
     if (ModelState.IsValid)
     {
         db.Entry(order_Details).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.OrderID = new SelectList(db.Orders, "OrderID", "CustomerID", order_Details.OrderID);
     return(View(order_Details));
 }
        public async Task <IHttpActionResult> GetOrder_Details(int id)
        {
            Order_Details order_Details = await db.Order_Details.FindAsync(id);

            if (order_Details == null)
            {
                return(NotFound());
            }

            return(Ok(order_Details));
        }
        public static Order_Details CreateOrder_Details(int orderID, int productID, decimal unitPrice, short quantity, float discount)
        {
            Order_Details order_Details = new Order_Details();

            order_Details.OrderID   = orderID;
            order_Details.ProductID = productID;
            order_Details.UnitPrice = unitPrice;
            order_Details.Quantity  = quantity;
            order_Details.Discount  = discount;
            return(order_Details);
        }
示例#27
0
 public bool Insertar(Order_Details ORD)
 {
     try
     {
         using (NorthwindEntities n = new NorthwindEntities())
         {
             n.Order_Details.Add(ORD);
         }
         return(true);
     }
     catch (Exception) { return(false); }
 }
 public ActionResult Edit([Bind(Include = "Id,Customer_Id,Pet_Id,Order_Details_ShippingAddress,Order_Details_ShippingCity,Order_Details_ShippingState,Order_Details_ShippingPincode,Order_Details_DeliveryDate,Order_Details_ModeOfPayment,Order_Details_TotalPrice,Order_Details_Flag")] Order_Details order_Details)
 {
     if (ModelState.IsValid)
     {
         db.Entry(order_Details).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.Customer_Id = new SelectList(db.Customer_Details, "Id", "Customer_Name", order_Details.Customer_Id);
     ViewBag.Pet_Id      = new SelectList(db.Pet_Details, "Id", "Pet_Category", order_Details.Pet_Id);
     return(View(order_Details));
 }
 public ActionResult Edit([Bind(Include = "OrderID,CuisineID,Address,ProductID,Date,Contact,Total")] Order_Details order_Details)
 {
     if (ModelState.IsValid)
     {
         db.Entry(order_Details).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.CuisineID = new SelectList(db.Cuisines, "CuisineID", "Name", order_Details.CuisineID);
     ViewBag.ProductID = new SelectList(db.Products, "ProductID", "Name", order_Details.ProductID);
     return(View(order_Details));
 }
示例#30
0
        /// <summary>
        /// Returns the view containing the form necessary for editing an existing order-detail.
        /// </summary>
        /// <param name="orderID">The orderID of the order-detail that is going to be edited</param>
        /// <param name="productID">The productID of the order-detail that is going to be edited</param>
        /// <returns>Orders-details edit view</returns>
        public async Task <ActionResult> Edit(int?orderID, int?productID)
        {
            Order_Details orderdetail = await db.Order_Details.FindAsync(orderID, productID);

            if (orderdetail == null)
            {
                return(HttpNotFound());
            }
            ViewBag.OrderID   = new SelectList(db.Orders, "OrderID", "CustomerID", orderdetail.OrderID);
            ViewBag.ProductID = new SelectList(db.Products, "ProductID", "ProductName", orderdetail.ProductID);
            return(View(orderdetail));
        }
示例#31
0
 /// <summary>
 /// There are no comments for Order_Details in the schema.
 /// </summary>
 public void AddToOrder_Details(Order_Details order_Details)
 {
     base.AddObject("Order_Details", order_Details);
 }
示例#32
0
 /// <summary>
 /// Create a new Order_Details object.
 /// </summary>
 /// <param name="discount">Initial value of Discount.</param>
 /// <param name="orderID">Initial value of OrderID.</param>
 /// <param name="productID">Initial value of ProductID.</param>
 /// <param name="quantity">Initial value of Quantity.</param>
 /// <param name="unitPrice">Initial value of UnitPrice.</param>
 public static Order_Details CreateOrder_Details(float discount, int orderID, int productID, short quantity, decimal unitPrice)
 {
     Order_Details order_Details = new Order_Details();
     order_Details.Discount = discount;
     order_Details.OrderID = orderID;
     order_Details.ProductID = productID;
     order_Details.Quantity = quantity;
     order_Details.UnitPrice = unitPrice;
     return order_Details;
 }