/// <summary>
        /// Carlos Arzu
        /// Created: 2019/01/31
        ///
        /// Retrieves the ItemId needed for every form.
        /// </summary
        public List <SpecialOrderLine> SelectSpecialOrderLinebySpecialID(int orderID)
        {
            var conn = DBConnection.GetDbConnection();
            var cmd  = new SqlCommand("sp_retrieve_List_of_SpecialOrderLine_by_SpecialOrderID", conn);

            cmd.CommandType = CommandType.StoredProcedure;
            List <SpecialOrderLine> order = new List <SpecialOrderLine>();

            cmd.Parameters.AddWithValue("@SpecialOrderID", orderID);

            try
            {
                conn.Open();
                var reader = cmd.ExecuteReader();
                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        var items = new SpecialOrderLine();
                        items.NameID         = reader.GetString(0);
                        items.SpecialOrderID = reader.GetInt32(1);
                        items.Description    = reader.GetString(2);
                        items.OrderQty       = reader.GetInt32(3);
                        items.QtyReceived    = reader.GetInt32(4);
                        order.Add(items);
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }

            return(order);
        }
        /// <summary>
        /// Carlos Arzu
        /// Created: 2019/01/31
        ///
        /// Creates the new Special order Line, with the data provided by user.
        /// </summary
        public int InsertSpecialOrderLine(SpecialOrderLine newSpecialOrderline)
        {
            int row = 0;

            try
            {
                var conn = DBConnection.GetDbConnection();

                conn.Open();

                var cmd = new SqlCommand("sp_create_specialOrderLine", conn);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@NameID", newSpecialOrderline.NameID);
                cmd.Parameters.AddWithValue("@SpecialOrderID", newSpecialOrderline.SpecialOrderID);
                cmd.Parameters.AddWithValue("@Description", newSpecialOrderline.Description);
                cmd.Parameters.AddWithValue("@OrderQty", newSpecialOrderline.OrderQty);
                cmd.Parameters.AddWithValue("@QtyReceived", newSpecialOrderline.QtyReceived);
                row += cmd.ExecuteNonQuery();


                conn.Close();
            }
            catch (Exception)
            {
                throw;
            }

            return(row);
        }
Beispiel #3
0
        /// <summary>
        /// Carlos Arzu
        /// Created: 2019/01/30
        ///
        /// Input from the user when creating a new Item.
        /// </summary>
        public bool InputUser()
        {
            bool result = false;

            try
            {
                if (TestDataOrder())
                {
                    _specialOrderLine = new SpecialOrderLine()
                    {
                        //User input for new order form
                        NameID         = ItemName_TxtBox.Text,
                        SpecialOrderID = Int32.Parse(SpecialOrderId_TxtBox.Text),
                        Description    = ItemDescription_TxtBox.Text,
                        OrderQty       = Int32.Parse(QtyItems_Count.Text),
                        QtyReceived    = Int32.Parse(QtyReceived_Count.Text)
                    };
                    result = true;
                }
            }
            catch (NullReferenceException ex)
            {
                MessageBox.Show("Processor Usage" + ex.Message);
            }
            return(result);
        }
Beispiel #4
0
        /// <summary>
        /// Carlos Arzu
        /// Created: 2019/04/04
        ///
        /// Contructor that receives and object order line, with
        /// details of a specific Item from a specifi order ID, that now
        /// can be edited.
        ///
        /// </summary>

        public Items(SpecialOrderLine selected)
        {
            InitializeComponent();
            _selected = selected;
            setDetails();
            setReadOnly();
            EditSaveItem_Btn.Content = "Edit";
        }
        /// <summary author="Carlos Arzu" created="2019/04/05">
        /// Called for updating the new input from the user, to the special order line in the DB.
        /// </summary>
        public bool EditSpecialOrderLine(SpecialOrderLine Order, SpecialOrderLine Ordernew)
        {
            bool result = false;

            try
            {
                result = (1 == specialOrderAccessor.UpdateOrderLine(Order, Ordernew));
            }
            catch (Exception ex)
            {
                ExceptionLogManager.getInstance().LogException(ex);
                throw ex;
            }
            return(result);
        }
        public void TestCreateSupplierOrderInvalidDescriptionNull()
        {
            CompleteSpecialOrder order = new CompleteSpecialOrder()
            {
                SpecialOrderID = 100008,
                EmployeeID     = 100005,
                Description    = null,
                DateOrdered    = DateTime.Now,
                Supplier       = "Leap"
            };

            SpecialOrderLine orderline = new SpecialOrderLine()
            {
                NameID      = "You get nothing",
                Description = null,
                OrderQty    = 40,
                QtyReceived = 0
            };

            _supplierOrderManager.CreateSpecialOrder(order);
        }
        /// <summary author="Carlos Arzu" created="2019/03/26">
        /// Creates a new Order line in our DB.
        /// </summary>
        public bool CreateSpecialOrderLine(SpecialOrderLine SpecialOrderLine)
        {
            bool result = false;

            try
            {
                if (!SpecialOrderLine.isValid())
                {
                    throw new ArgumentException("Data entered for this order is invalid\n" +
                                                SpecialOrderLine.ToString());
                }

                result = 1 == specialOrderAccessor.InsertSpecialOrderLine(SpecialOrderLine);
            }
            catch (Exception ex)
            {
                ExceptionLogManager.getInstance().LogException(ex);
                throw ex;
            }
            return(result);
        }
        public void TestCreateSupplierOrderInvalidDescriptionBlank()
        {
            CompleteSpecialOrder order = new CompleteSpecialOrder()
            {
                SpecialOrderID = 100008,
                EmployeeID     = 100005,
                Description    = "",
                DateOrdered    = DateTime.Now,
                Supplier       = "ShopFever"
            };

            SpecialOrderLine orderline = new SpecialOrderLine()
            {
                NameID      = "Job",
                Description = "",
                OrderQty    = 40,
                QtyReceived = 0
            };

            _supplierOrderManager.CreateSpecialOrder(order);
            _supplierOrderManager.CreateSpecialOrderLine(orderline);
        }
        public void TestDateValid()
        {
            CompleteSpecialOrder order = new CompleteSpecialOrder()
            {
                SpecialOrderID = 100008,
                EmployeeID     = 100005,
                Description    = "Mighty tests",
                DateOrdered    = DateTime.Now.AddDays(-1),
                Supplier       = "Too much"
            };

            SpecialOrderLine orderline = new SpecialOrderLine()
            {
                NameID      = "Paviment",
                Description = createStringLength(1001),
                OrderQty    = 10,
                QtyReceived = -10
            };

            _supplierOrderManager.CreateSpecialOrder(order);
            _supplierOrderManager.CreateSpecialOrderLine(orderline);
        }
        public void AddItemOrderLineTestInValidQtyReceived()
        {
            CompleteSpecialOrder order = new CompleteSpecialOrder()
            {
                SpecialOrderID = 100008,
                EmployeeID     = 100005,
                Description    = "Mighty tests",
                DateOrdered    = DateTime.Now,
                Supplier       = "SuperMax"
            };

            SpecialOrderLine orderline = new SpecialOrderLine()
            {
                NameID      = "Pole",
                Description = createStringLength(1001),
                OrderQty    = 10,
                QtyReceived = -10
            };

            _supplierOrderManager.CreateSpecialOrder(order);
            _supplierOrderManager.CreateSpecialOrderLine(orderline);
        }
        public void TestCreateSupplierOrderInvalidDescriptionLength()
        {
            CompleteSpecialOrder order = new CompleteSpecialOrder()
            {
                SpecialOrderID = 100008,
                EmployeeID     = 100005,
                Description    = createStringLength(1001),
                DateOrdered    = DateTime.Now,
                Supplier       = "Fish n Dip"
            };

            SpecialOrderLine orderline = new SpecialOrderLine()
            {
                NameID      = "Paint",
                Description = createStringLength(1001),
                OrderQty    = 40,
                QtyReceived = 0
            };

            _supplierOrderManager.CreateSpecialOrder(order);
            _supplierOrderManager.CreateSpecialOrderLine(orderline);
        }
        /// <summary>
        /// Carlos Arzu
        /// Created: 2019/04/05
        ///
        /// With the input user provided for updating, the special order line will be updated.
        /// </summary
        public int UpdateOrderLine(SpecialOrderLine Order, SpecialOrderLine Ordernew)
        {
            int rows = 0;

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

            cmd.CommandType = CommandType.StoredProcedure;

            cmd.Parameters.AddWithValue("@SpecialOrderID", Order.SpecialOrderID);

            cmd.Parameters.AddWithValue("@NameID", Ordernew.NameID);
            cmd.Parameters.AddWithValue("@Description", Ordernew.Description);
            cmd.Parameters.AddWithValue("@OrderQty", Ordernew.OrderQty);
            cmd.Parameters.AddWithValue("@QtyReceived", Ordernew.QtyReceived);

            cmd.Parameters.AddWithValue("@OldNameID", Order.NameID);
            cmd.Parameters.AddWithValue("@OldDescription", Order.Description);
            cmd.Parameters.AddWithValue("@OldOrderQty", Order.OrderQty);
            cmd.Parameters.AddWithValue("@OldQtyReceived", Order.QtyReceived);


            try
            {
                conn.Open();
                rows = cmd.ExecuteNonQuery();
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                conn.Close();
            }
            return(rows);
        }
        public void AddItemOrderLineTestInValidOrderQty()
        {
            CompleteSpecialOrder order = new CompleteSpecialOrder()
            {
                SpecialOrderID = 100008,
                EmployeeID     = 100005,
                Description    = createStringLength(1001),
                DateOrdered    = DateTime.Now,
                Supplier       = "Rigga meter"
            };

            SpecialOrderLine orderline = new SpecialOrderLine()
            {
                NameID      = "Paint",
                Description = createStringLength(1001),
                OrderQty    = -1,
                QtyReceived = 0
            };


            _supplierOrderManager.CreateSpecialOrder(order);
            _supplierOrderManager.CreateSpecialOrderLine(orderline);
        }
        public void TestCreateSupplierOrderWithAllValidInputs()
        {
            //arrange
            CompleteSpecialOrder order = new CompleteSpecialOrder()
            {
                SpecialOrderID = 100008,
                EmployeeID     = 100005,
                Description    = "Escape Pod for Groom",
                DateOrdered    = DateTime.Now,
                Supplier       = "Backscratcher"
            };

            SpecialOrderLine orderline = new SpecialOrderLine()
            {
                NameID      = "Short Relief",
                Description = "Darts to sleep the Bride",
                OrderQty    = 40,
                QtyReceived = 0
            };


            //Act
            _supplierOrderManager.CreateSpecialOrder(order);

            //Assert
            _compsupplierOrder = _supplierOrderManager.retrieveAllOrders();
            _supplierOrderLine = _supplierOrderManager.RetrieveOrderLinesByID(order.SpecialOrderID);

            Assert.IsNotNull(_compsupplierOrder.Find(o => o.SpecialOrderID == order.SpecialOrderID &&
                                                     o.EmployeeID == order.EmployeeID && o.Description == order.Description &&
                                                     o.DateOrdered == order.DateOrdered &&
                                                     o.Supplier == order.Supplier));

            /*Assert.IsNotNull(_supplierOrderLine.Find(l => l.NameID == orderline.NameID
             * && l.Description == orderline.Description && l.OrderQty == orderline.OrderQty
             * && l.QtyReceived == orderline.QtyReceived));*/
        }
        /// <summary>
        /// Carlos Arzu
        /// Created: 2019/02/28
        ///
        /// Update the new Special order, with the data provided by user.
        /// </summary
        public int UpdateOrderLine(SpecialOrderLine Order, SpecialOrderLine Ordernew)
        {
            int iterator = 1;

            return(iterator);
        }
        /// <summary>
        /// Carlos Arzu
        /// Created: 2019/03/26
        ///
        /// Creates the new Supplier order, with the data provided by user.
        /// </summary
        public int InsertSpecialOrderLine(SpecialOrderLine newSpecialOrderline)
        {
            _orderline.Add(newSpecialOrderline);

            return(1);
        }
        /// <summary>
        /// Author: Kevin Broskow
        /// Created : 3/25/2019
        /// Handles the event of the submit button being clicked
        ///
        /// </summary>
        private void btnSubmit_Click(object sender, RoutedEventArgs e)
        {
            if (this.btnSubmit.Content.Equals("Submit"))
            {
                ticket.SupplierOrderID             = order.SupplierOrderID;
                ticket.ReceivingTicketExceptions   = this.txtException.Text;
                ticket.ReceivingTicketCreationDate = DateTime.Now;
                for (int i = 0; i < dgOrderRecieving.Items.Count - 1; i++)
                {
                    dgOrderRecieving.SelectedIndex = i;
                    SupplierOrderLine temp = (SupplierOrderLine)dgOrderRecieving.SelectedItem;
                    var _tempLine          = supplierOrderLine.Find(x => x.ItemID == temp.ItemID);
                    _tempLine.QtyReceived = temp.QtyReceived;
                    if (_tempLine.OrderQty != temp.QtyReceived)
                    {
                        orderComplete = false;
                    }
                    supplierOrderLine.Find(x => x.ItemID == temp.ItemID).QtyReceived = temp.QtyReceived;
                }

                try
                {
                    order.OrderComplete = orderComplete;

                    _supplierManager.UpdateSupplierOrder(order, supplierOrderLine);

                    _receivingManager.createReceivingTicket(ticket);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
            else if (this.btnSubmit.Content.Equals("Save"))
            {
                ticket.ReceivingTicketExceptions   = this.txtException.Text;
                ticket.ReceivingTicketCreationDate = DateTime.Now;
                for (int i = 0; i < dgOrderRecieving.Items.Count - 1; i++)
                {
                    dgOrderRecieving.SelectedIndex = i;
                    SupplierOrderLine temp = (SupplierOrderLine)dgOrderRecieving.SelectedItem;
                    var _tempLine          = supplierOrderLine.Find(x => x.ItemID == temp.ItemID);
                    _tempLine.QtyReceived = temp.QtyReceived;
                    if (_tempLine.OrderQty != temp.QtyReceived)
                    {
                        orderComplete = false;
                    }
                    supplierOrderLine.Find(x => x.ItemID == temp.ItemID).QtyReceived = temp.QtyReceived;
                }

                try
                {
                    order.OrderComplete = orderComplete;

                    _supplierManager.UpdateSupplierOrder(order, supplierOrderLine);

                    _receivingManager.updateReceivingTicket(originalTicket, ticket);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
            else if (this.btnSubmit.Content.Equals("Complete"))
            {
                ticket.SupplierOrderID             = _specialOrder.SpecialOrderID;
                ticket.ReceivingTicketExceptions   = this.txtException.Text;
                ticket.ReceivingTicketCreationDate = DateTime.Now;
                for (int i = 0; i < dgOrderRecieving.Items.Count - 1; i++)
                {
                    dgOrderRecieving.SelectedIndex = i;
                    SpecialOrderLine temp = (SpecialOrderLine)dgOrderRecieving.SelectedItem;
                    var _tempLine         = specialOrderLines.Find(x => x.NameID == temp.NameID);
                    _tempLine.QtyReceived = temp.QtyReceived;
                    if (_tempLine.OrderQty != temp.QtyReceived)
                    {
                        orderComplete = false;
                    }
                    specialOrderLines.Find(x => x.NameID == temp.NameID).QtyReceived = temp.QtyReceived;
                }

                try
                {
                    if (orderComplete)
                    {
                        _specialManager.EditSpecialOrder(_specialOrder, _specialOrder);
                    }
                    int i = 0;
                    foreach (var item in specialOrderLines)
                    {
                        _specialManager.EditSpecialOrderLine(originalSpecialOrderLine[i], item);
                        i++;
                    }

                    //_receivingManager.createReceivingTicket(ticket);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }

            this.Close();
        }