/// <summary>
        /// Richard Carroll
        /// Created: 2019/01/30
        ///
        /// This Method Requests Line data from the database by
        /// it's OrderID and returns it to the Logic Layer if Possible.
        /// </summary>
        public List <VMInternalOrderLine> SelectOrderLinesByID(int orderID)
        {
            List <VMInternalOrderLine> lines = new List <VMInternalOrderLine>();

            var cmdText = "sp_select_order_lines_by_id";
            var conn    = DBConnection.GetDbConnection();
            var cmd     = new SqlCommand(cmdText, conn);

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@InternalOrderID", orderID);

            try
            {
                conn.Open();
                var reader = cmd.ExecuteReader();
                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        var line = new VMInternalOrderLine();
                        line.ItemID      = reader.GetInt32(0);
                        line.ItemName    = reader.GetString(1);
                        line.OrderQty    = reader.GetInt32(2);
                        line.QtyReceived = reader.GetInt32(3);
                        lines.Add(line);
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }

            return(lines);
        }
Example #2
0
        public void AddItemOrderTestValidInput()
        {
            internalOrder = new InternalOrder()
            {
                InternalOrderID = 8000, EmployeeID = 100000, DepartmentID = "Events",
                Description     = "Food Order... maybe", OrderComplete = false, DateOrdered = DateTime.Now
            };
            _internalOrderLine = new VMInternalOrderLine()
            {
                ItemID      = 100000, OrderQty = 100,
                QtyReceived = 100
            };
            lines = new List <VMInternalOrderLine>();
            lines.Add(_internalOrderLine);
            _internalOrderManager.CreateInternalOrder(internalOrder, lines);

            retrievedOrders = _internalOrderManager.RetrieveAllInternalOrders();
            retrievedLines  = _internalOrderManager.RetrieveOrderLinesByID(internalOrder.InternalOrderID);

            Assert.IsNotNull(retrievedOrders.Find(o => o.InternalOrderID == internalOrder.InternalOrderID &&
                                                  o.EmployeeID == internalOrder.EmployeeID && o.DepartmentID == internalOrder.DepartmentID &&
                                                  o.Description == internalOrder.Description && o.OrderComplete == internalOrder.OrderComplete &&
                                                  o.DateOrdered == internalOrder.DateOrdered));
            Assert.IsNotNull(retrievedLines.Find(l => l.ItemID == _internalOrderLine.ItemID &&
                                                 l.OrderQty == _internalOrderLine.OrderQty && l.QtyReceived ==
                                                 _internalOrderLine.QtyReceived));
        }
 /// <summary>
 /// Richard Carroll
 /// Created: 2019/01/30
 ///
 /// Checks validity of the data in the Order Line Fields
 /// before placing them into a temporary list that will
 /// be displayed in the data grid.
 /// </summary>
 private void BtnAddLine_Click(object sender, RoutedEventArgs e)
 {
     if (checkLineFields())
     {
         VMInternalOrderLine line = new VMInternalOrderLine();
         line.ItemID      = _items[cboItemID.SelectedIndex].ItemID;
         line.ItemName    = cboItemID.SelectedItem.ToString();
         line.OrderQty    = int.Parse(txtOrderQty.Text);
         line.QtyReceived = int.Parse(txtQtyReceived.Text);
         lines.Add(line);
         refreshGrid();
         clearFields();
     }
 }
Example #4
0
 public void AddItemOrderTestInValidDepartmentLength()
 {
     internalOrder = new InternalOrder()
     {
         InternalOrderID = 8000,
         EmployeeID      = 100000,
         DepartmentID    = createString(51),
         Description     = "Food Order... maybe",
         OrderComplete   = false,
         DateOrdered     = DateTime.Now
     };
     _internalOrderLine = new VMInternalOrderLine()
     {
         ItemID      = 100000,
         OrderQty    = 100,
         QtyReceived = 100
     };
     lines = new List <VMInternalOrderLine>();
     lines.Add(_internalOrderLine);
     _internalOrderManager.CreateInternalOrder(internalOrder, lines);
 }
Example #5
0
 public void AddItemOrderTestInValidDescriptionBlank()
 {
     internalOrder = new InternalOrder()
     {
         InternalOrderID = 8000,
         EmployeeID      = 100000,
         DepartmentID    = "Events",
         Description     = "",
         OrderComplete   = false,
         DateOrdered     = DateTime.Now
     };
     _internalOrderLine = new VMInternalOrderLine()
     {
         ItemID      = 100000,
         OrderQty    = 100,
         QtyReceived = 100
     };
     lines = new List <VMInternalOrderLine>();
     lines.Add(_internalOrderLine);
     _internalOrderManager.CreateInternalOrder(internalOrder, lines);
 }