private List <Request> getRequestList(string status, string status2, string companyID, string orderBy)
        {
            List <Request> requestList = new List <Request>();

            DataTable requestResult = null;


            try
            {
                using (SqlConnection conPrintDB = new SqlConnection(ConfigurationManager.ConnectionStrings["printDBServer"].ConnectionString))
                {
                    //removed "rl.RequestStatus = @status AND" to get all data display at table for testing purpose
                    string strSelect = "SELECT * FROM Requestlist rl, Request r WHERE rl.RequestID = r.RequestID AND (rl.RequestStatus = @status OR rl.RequestStatus = @status2) AND r.CompanyID = @companyID" + getOrderByString(orderBy);

                    using (SqlCommand cmdSelect = new SqlCommand(strSelect, conPrintDB))
                    {
                        cmdSelect.Parameters.AddWithValue("@status", status);
                        cmdSelect.Parameters.AddWithValue("@status2", status2);
                        cmdSelect.Parameters.AddWithValue("@companyID", companyID);

                        using (SqlDataAdapter da = new SqlDataAdapter(cmdSelect))
                        {
                            requestResult = new DataTable();
                            da.Fill(requestResult);
                        }

                        for (int i = 0; i < requestResult.Rows.Count; i++)
                        {
                            Requestlist        newRequestlist   = new Requestlist((string)requestResult.Rows[i]["RequestlistID"], (string)requestResult.Rows[i]["RequestItemID"], (string)requestResult.Rows[i]["RequestStatus"], (string)requestResult.Rows[i]["RequestType"], getDocumentList((string)requestResult.Rows[i]["RequestlistID"]));
                            List <Requestlist> requestlistArray = new List <Requestlist>();
                            newRequestlist.Package = Package.getPackage(newRequestlist.RequestItemID);
                            requestlistArray.Add(newRequestlist);
                            string  paymentID = requestResult.Rows[i]["PaymentID"].ToString();
                            Request request   = new Model.Entities.Request((string)requestResult.Rows[i]["RequestID"], Convert.ToDateTime(requestResult.Rows[i]["RequestDateTime"]), Convert.ToDateTime(requestResult.Rows[i]["DueDateTime"]), paymentID.Equals("")? null: new Payment(), (string)requestResult.Rows[i]["CompanyID"], (string)requestResult.Rows[i]["CustomerID"], requestlistArray);

                            requestList.Add(request);
                        }
                    }
                }
                return(requestList);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.ToString());
            }
        }
        protected void lvRequestConfirmation_ItemCommand(object sender, ListViewCommandEventArgs e)
        {
            string operation     = e.CommandName;
            string requestlistID = (string)e.CommandArgument;

            if (operation.Equals(COMMAND_PRINT))
            {
                Requestlist.updateRequestlistStatus(requestlistID, Requestlist.STATUS_PRINTED);
            }
            else if (operation.Equals(COMMAND_COMPLETE))
            {
                Requestlist.updateRequestlistStatus(requestlistID, Requestlist.STATUS_COMPLETED);
                //send notification here;
                sendNotification(requestlistID);
            }
            else if (operation.Equals(COMMAND_PICKUP))
            {
                Requestlist.updateRequestlistStatus(requestlistID, Requestlist.STATUS_COLLECTED);
            }
            PrintingRequestHub.refreshTable();
        }
        private Request PopulateDataToObject()
        {
            List <Documentlist> documentlist = createDocumentList();

            List <Requestlist> requestlist = new List <Requestlist>();

            Requestlist newRequestlist = new Requestlist(ddlPackage.SelectedValue, Requestlist.STATUS_PENDING, rbtRequestType.SelectedValue, documentlist);



            requestlist.Add(newRequestlist);

            string   companyID   = Request.QueryString["CompanyID"];
            string   CustomerID  = ClassHashing.basicDecryption((string)ViewState["UserID"]);
            DateTime currentDate = DateTime.Now;


            DateTime DueDate = Convert.ToDateTime(txtDueDate.Text);

            Request request = new Model.Entities.Request(currentDate, DueDate, null, companyID, CustomerID, requestlist);


            return(request);
        }