Пример #1
0
        public OrderDTO PackOrder(int Order_id)
        {
            int      Value     = 0;
            AddDTO   orderitem = new AddDTO();
            ItemDTO  item      = new ItemDTO();
            OrderDTO order     = new OrderDTO();

            ItemDAL  dal  = new ItemDAL(ConfigurationManager.ConnectionStrings["Order_Manager"].ConnectionString);
            OrderDAL dal1 = new OrderDAL(ConfigurationManager.ConnectionStrings["Order_Manager"].ConnectionString);

            using (SqlConnection conn = new SqlConnection(this.connectionString))
                using (SqlCommand comm = conn.CreateCommand())
                {
                    comm.CommandText = "select * from [Add] where Id_or_order=@Id_or_order";
                    comm.Parameters.AddWithValue("@Id_or_order", Order_id);
                    conn.Open();
                    SqlDataReader reader     = comm.ExecuteReader();
                    List <AddDTO> orderitems = new List <AddDTO>();
                    while (reader.Read())
                    {
                        orderitems.Add(new AddDTO
                        {
                            Id_or_order = Convert.ToInt32(reader["Id_or_order"]),
                            Id_of_item  = Convert.ToInt32(reader["Id_of_item"]),
                            Quantity    = Convert.ToInt32(reader["Quantity"]),
                        });
                    }
                }



            OrderDAL dal2 = new OrderDAL(ConfigurationManager.ConnectionStrings["Order_Manager"].ConnectionString);

            order = new OrderDTO
            {
                Order_id = Order_id,
                Value    = Value
            };



            using (SqlConnection conn1 = new SqlConnection(this.connectionString))
                using (SqlCommand comm1 = conn1.CreateCommand())
                {
                    comm1.CommandText = "update [Order] set Value= @Value where Order_id = @Order_id";
                    comm1.Parameters.Clear();
                    comm1.Parameters.AddWithValue("@Order_id", order.Order_id);
                    comm1.Parameters.AddWithValue("@Value", order.Value);
                    conn1.Open();

                    order.Order_id = Convert.ToInt32(comm1.ExecuteScalar());
                }


            return(order);
        }
Пример #2
0
        //Update Order: Completes Order and marks it as COMPLETED
        public OrderDTO PackOrder(int OrderID)
        {
            double        price     = 0;
            int           stock     = 0;
            AddToOrderDTO orderitem = new AddToOrderDTO();
            ItemDTO       item      = new ItemDTO();
            OrderDTO      order     = new OrderDTO();

            ItemDAL  dal  = new ItemDAL(ConfigurationManager.ConnectionStrings["Shipper"].ConnectionString);
            OrderDAL dal1 = new OrderDAL(ConfigurationManager.ConnectionStrings["Shipper"].ConnectionString);

            using (SqlConnection conn = new SqlConnection(this.connectionString))
                using (SqlCommand comm = conn.CreateCommand())
                {
                    comm.CommandText = "select * from AddToOrder where OrderIDKEY=@OrderIDKEY";
                    comm.Parameters.AddWithValue("@OrderIDKey", OrderID);
                    conn.Open();
                    SqlDataReader        reader     = comm.ExecuteReader();
                    List <AddToOrderDTO> orderitems = new List <AddToOrderDTO>();
                    while (reader.Read())
                    {
                        orderitems.Add(new AddToOrderDTO
                        {
                            OrderIDKEY = Convert.ToInt32(reader["OrderIDKEY"]),
                            ItemIDKEY  = Convert.ToInt32(reader["ItemIDKEY"]),
                            Amount     = Convert.ToInt32(reader["Amount"]),
                        });
                    }


                    for (int i = 0; i < orderitems.Count; i++)
                    {
                        if (orderitems[i].Amount > dal.GetItemById(orderitems[i].ItemIDKEY).OnStock)
                        {
                            break;
                        }
                        else
                        {
                            stock = dal.GetItemById(orderitems[i].ItemIDKEY).OnStock - orderitems[i].Amount;
                            price = dal1.GetOrderById(orderitems[i].OrderIDKEY).Price + orderitems[i].Amount * dal.GetItemById(orderitems[i].ItemIDKEY).Price;
                            item  = new ItemDTO
                            {
                                ItemID  = dal.GetItemById(orderitems[i].ItemIDKEY).ItemID,
                                Name    = dal.GetItemById(orderitems[i].ItemIDKEY).Name,
                                Price   = dal.GetItemById(orderitems[i].ItemIDKEY).Price,
                                OnStock = stock
                            };
                            dal.UpdateItem(item);
                        }
                    }
                }



            OrderDAL dal2 = new OrderDAL(ConfigurationManager.ConnectionStrings["Shipper"].ConnectionString);

            order = new OrderDTO
            {
                OrderID = OrderID,
                Price   = price,
                Comment = "Completed"
            };



            using (SqlConnection conn1 = new SqlConnection(this.connectionString))
                using (SqlCommand comm1 = conn1.CreateCommand())
                {
                    comm1.CommandText = "update [Order] set Price= @Price, Comment=@Comment where OrderID = @OrderID";
                    comm1.Parameters.Clear();
                    comm1.Parameters.AddWithValue("@OrderID", order.OrderID);
                    comm1.Parameters.AddWithValue("@Price", order.Price);
                    comm1.Parameters.AddWithValue("@Comment", order.Comment);
                    conn1.Open();

                    order.OrderID = Convert.ToInt32(comm1.ExecuteScalar());
                }


            return(order);
        }