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); }
//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); }