public List <ItemSockReport> StockOutReportByCategory(ItemSockReport item)
        {
            SqlConnection connection = new SqlConnection(connectionString);

            query = "SELECT *FROM [ItemWithCategory] WHERE CategoryId=@CategoryId ";
            connection.Open();
            command = new SqlCommand(query, connection);

            command.Parameters.Clear();
            command.Parameters.AddWithValue("CategoryId", item.CategoryId);
            reader = command.ExecuteReader();
            List <ItemSockReport> items = new List <ItemSockReport>();

            while (reader.Read())
            {
                ItemSockReport aItem = new ItemSockReport();
                aItem.ItemName          = reader["ItemName"].ToString();
                aItem.CompanyName       = reader["Companyname"].ToString();
                aItem.CategoryName      = reader["CategoryName"].ToString();
                aItem.AvailableQuantity = Convert.ToInt32(reader["AvailableQuantity"]);
                aItem.ReorderLevel      = Convert.ToInt32(reader["ReorderLevel"]);
                items.Add(aItem);
            }
            reader.Close();
            connection.Close();
            return(items);
        }
        public List <ItemSockReport> GetItemReport(ItemSockReport itemReport)
        {
            if (itemReport.CategoryId == -1)
            {
                return(aItemStockReportGateway.StockOutReportByCompany(itemReport));
            }
            if (itemReport.CompanyId == -1)
            {
                return(aItemStockReportGateway.StockOutReportByCategory(itemReport));
            }


            return(aItemStockReportGateway.StockOutReport(itemReport));
        }
        private void searchButton_Click(object sender, EventArgs e)
        {
            searchViewItemsSummarylistView.Items.Clear();
            ItemSockReport itemReport = new ItemSockReport();

            itemReport.CategoryId = (int)categoryComboBox.SelectedValue;
            itemReport.CompanyId  = (int)companyComboBox.SelectedValue;

            itemReports = aItemReportManager.GetItemReport(itemReport);

            foreach (ItemSockReport aItemReport in itemReports)
            {
                ListViewItem item = new ListViewItem();
                item.Text = ((searchViewItemsSummarylistView.Items.Count + 1).ToString());
                item.SubItems.Add(aItemReport.ItemName);
                item.SubItems.Add(aItemReport.CompanyName);
                item.SubItems.Add(aItemReport.CategoryName);
                item.SubItems.Add(aItemReport.AvailableQuantity.ToString());
                item.SubItems.Add(aItemReport.ReorderLevel.ToString());
                item.Tag = aItemReport;
                searchViewItemsSummarylistView.Items.Add(item);
            }
        }