public void completeOrder(int orderNumber)
 {
     OrderDAO datalayer = new OrderDAO();
     this.order = getOrder(orderNumber);
     datalayer.completeOrder(orderNumber);
     updateInventory();
 }
示例#2
0
    private void loadSingleOrder(int viewOrderId)
    {
        OrderManager businessLayer = new OrderManager();

        cisseniorproject.dataobjects.Order order = businessLayer.getOrder(viewOrderId);

        lblUserId.Text              = order.getUserId().ToString();
        lblUsername.Text            = order.getPaymentInformation().getUser().getUsername();
        lblFirstName.Text           = order.getPaymentInformation().getUser().getFirstName();
        lblLastName.Text            = order.getPaymentInformation().getUser().getLastName();
        lblAddress.Text             = order.getPaymentInformation().getUser().getAddress();
        lblCity.Text                = order.getPaymentInformation().getUser().getCity();
        lblState.Text               = order.getPaymentInformation().getUser().getState();
        lblZipCode.Text             = order.getPaymentInformation().getUser().getZipCode();
        lblAccountCreationDate.Text = order.getPaymentInformation().getUser().getAccountCreationDate().ToShortDateString();
        lblEmail.Text               = order.getPaymentInformation().getUser().getEamil();

        lblCreditCardType.Text   = order.getPaymentInformation().getCreditCardType();
        lblCreditCardNumber.Text = order.getPaymentInformation().getCreditCardNumber();
        lblCardCity.Text         = order.getPaymentInformation().getCity();
        lblCardState.Text        = order.getPaymentInformation().getState();
        lblCardExpDate.Text      = order.getPaymentInformation().getCardExpDate().ToShortDateString();
        lblCardSecurityCode.Text = order.getPaymentInformation().getSecurityCode();

        lblOrderId.Text               = order.getOrderId().ToString();
        lblOrderUserId.Text           = order.getUserId().ToString();
        cbIsValidated.Checked         = order.isOrderValidated();
        cbIsCompleted.Checked         = order.isOrderCompleted();
        cbIsCollectOnDelivery.Checked = order.getCollectOnDelivery();
        lblPaymentAmount.Text         = String.Format("{0:C}", order.getPaymentAmount());
        lblTotalOrderAmount.Text      = String.Format("{0:C}", businessLayer.getOrderTotal());
        lblAmountDue.Text             = String.Format("{0:C}", businessLayer.getAmountDue());

        List <UserOrderItem> orderItems = businessLayer.getOrderItems(order);

        rptOrderItems.DataSource = orderItems;
        rptOrderItems.DataBind();
    }
        public int createOrder(Order order)
        {
            Int32 orderNumber = 0;
            using (OleDbConnection sqlconn = new OleDbConnection(database))
            {
                try
                {
                    sqlconn.Open();
                    OleDbCommand cmd = sqlconn.CreateCommand();
                    OleDbTransaction transact = sqlconn.BeginTransaction();
                    cmd.Transaction = transact;

                    String insert = "INSERT INTO [ORDERS]([user_id], [payment_id], [validated], [completed], [payment_amount], [collect_on_delivery]) " +
                        "VALUES (@userId, @paymentId, false, false, @paymentAmount, @collectOnDelivery)";
                    cmd.CommandText = insert;
                    cmd.Parameters.Add("userId", OleDbType.Integer).Value = order.getPaymentInformation().getUser().getId();
                    cmd.Parameters.Add("paymentId", OleDbType.Integer).Value = order.getPaymentInformation().getPaymentInformationId();
                    cmd.Parameters.Add("paymentAmount", OleDbType.Double).Value = order.getPaymentAmount();
                    cmd.Parameters.Add("collectOnDelivery", OleDbType.Boolean).Value = order.getCollectOnDelivery();
                    cmd.Prepare();
                    int rows = cmd.ExecuteNonQuery();

                    if (rows != 1)
                    {
                        transact.Rollback();
                    }

                    cmd.Parameters.Clear();
                    String select = "SELECT LAST([order_id]) FROM [ORDERS]";
                    cmd.CommandText = select;
                    cmd.Prepare();
                    orderNumber = (int)cmd.ExecuteScalar();
                    order.setOrderId(orderNumber);

                    List<OrderItem> items = order.getOrderItems();

                    foreach (OrderItem item in items)
                    {
                        cmd.Parameters.Clear();
                        String insert2 = "INSERT INTO [ORDER_ITEMS]([order_id], [product_id], [count], [sale_price]) " +
                               "VALUES(@orderId, @productId, @count, @salePrice)";
                        cmd.CommandText = insert2;
                        cmd.Parameters.Add("orderId", OleDbType.Integer).Value = item.getOrderId();
                        cmd.Parameters.Add("productId", OleDbType.Integer).Value = item.getProductId();
                        cmd.Parameters.Add("count", OleDbType.Integer).Value = item.getCount();
                        cmd.Parameters.Add("salePrice", OleDbType.Double).Value = item.getSalePrice();

                        cmd.Prepare();
                        int rows2 = cmd.ExecuteNonQuery();

                        if (rows2 != 1)
                        {
                            transact.Rollback();

                        }
                    }

                    transact.Commit();

                    return orderNumber;
                }
                catch (OleDbException ex)
                {
                    orderNumber = -1;
                    return orderNumber;
                }
                finally
                {
                    sqlconn.Close();
                }
            }
        }
        internal List<Order> getUserOrders(String username)
        {
            using (OleDbConnection sqlconn = new OleDbConnection(database))
            {
                List<Order> userOrders = new List<Order>();
                try
                {
                    sqlconn.Open();
                    OleDbCommand cmd = sqlconn.CreateCommand();

                    String select = "SELECT * FROM [ORDERS] INNER JOIN [USERS] ON [USERS].user_id = [ORDERS].user_id WHERE [USERS].username = @username";
                    cmd.CommandText = select;
                    cmd.Parameters.Add("username", OleDbType.VarChar, 255).Value = username;

                    OleDbDataReader reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        Order userOrder = new Order();
                        userOrder.setOrderIdForOrderOnly((int)reader["order_id"]);
                        userOrder.setUserId((int)reader["Orders.user_id"]);
                        userOrder.setValidated((bool)reader["validated"]);
                        userOrder.setIsCollctOnDelivery((bool)reader["collect_on_delivery"]);
                        userOrder.setCompleted((bool)reader["completed"]);
                        userOrder.setPaymentAmount(Double.Parse(reader["payment_amount"].ToString(), NumberStyles.Currency));

                        userOrder.setPaymentInformation(PaymentManager.getUserCreditCard((int)reader["payment_id"]));

                        userOrder.setOrderItems(getOrderItems(userOrder.getOrderId()));

                        userOrders.Add(userOrder);
                    }

                    return userOrders;
                }
                catch (OleDbException ex)
                {
                    userOrders = null;
                    return userOrders;
                }
                finally
                {
                    sqlconn.Close();
                }
            }
        }
        internal Order getSingleOrder(int orderId)
        {
            Order order = new Order();

            using (OleDbConnection sqlConn = new OleDbConnection(database))
            {
                try
                {
                    sqlConn.Open();
                    OleDbCommand cmd = sqlConn.CreateCommand();

                    String select = "SELECT * FROM [ORDERS] WHERE [order_id] = @orderId";
                    cmd.CommandText = select;
                    cmd.Parameters.Add("orderId", OleDbType.Integer).Value = orderId;

                    OleDbDataReader reader = cmd.ExecuteReader();

                    while (reader.Read())
                    {
                        order.setOrderIdForOrderOnly((int)reader["order_id"]);
                        order.setUserId((int)reader["user_id"]);
                        order.setValidated((bool)reader["validated"]);
                        order.setCompleted((bool)reader["completed"]);
                        order.setPaymentAmount(Double.Parse(reader["payment_amount"].ToString(), NumberStyles.Currency));
                        order.setIsCollctOnDelivery((bool)reader["collect_on_delivery"]);
                        order.setPaymentInformation(getPaymentInformation((int)reader["payment_id"]));
                        order.setOrderItems(getOrderItems((int)reader["order_id"]));
                    }

                    return order;
                }
                catch(OleDbException ex)
                {
                    return order;
                }
                finally
                {
                    sqlConn.Close();
                }
            }
        }
 public Order getOrder(int orderId)
 {
     OrderDAO dataLayer = new OrderDAO();
     Order singleOrder = dataLayer.getSingleOrder(orderId);
     this.order = singleOrder;
     return singleOrder;
 }
 public OrderManager()
 {
     inventoryItems = new List<InventoryItem>();
     orderItems = new List<OrderItem>();
     order = new Order();
 }
        private List<UserOrderItem> getUserOrderItems(Order order)
        {
            List<UserOrderItem> userOrderItems = new List<UserOrderItem>();
            foreach (OrderItem orderItem in order.getOrderItems())
            {
                UserOrderItem item = new UserOrderItem();
                item.itemCost = orderItem.getSalePrice();
                item.itemCount = orderItem.getCount();

                InventoryItem inventoryItem = InventoryManager.getSingleItem(orderItem.getProductId());
                item.itemName = inventoryItem.getProductName();

                item.itemShortDescription = inventoryItem.getShortDescription();

                userOrderItems.Add(item);
            }

            return userOrderItems;
        }
        private double getOrderTotal(Order order)
        {
            double orderTotal = 0;
            foreach (OrderItem orderItem in order.getOrderItems())
            {
                orderTotal += orderItem.getSalePrice() * orderItem.getCount();
            }

            return orderTotal;
        }