private void BindShowShipment()
    {
        TransactionBC   objBC    = new TransactionBC();
        PurchaseOrderBC objPucBC = new PurchaseOrderBC();

        try
        {
            DateTime?DateFrom = txtDateFrom.Text == "" ? Convert.ToDateTime("1/1/1990") : Convert.ToDateTime(txtDateFrom.Text);
            DateTime?DateTo   = txtDateTo.Text == "" ? Convert.ToDateTime("12/31/2050") : Convert.ToDateTime(txtDateTo.Text);

            TimeSpan?duration = null;

            // Assign values to a and b...

            if (DateFrom.HasValue && DateTo.HasValue)
            {
                duration = DateTo.Value - DateFrom.Value;
            }

            double days = duration.GetValueOrDefault().TotalDays;

            if (days > 2 && txtDO.Text.Trim() == "")
            {
                lblSearchError.Text    = "Please select 2 Days difference between dates due to high volume of data or Provide DO Number to Search";
                lblSearchError.Visible = true;
                return;
            }

            GenericCollection <ShowShipmentBE> listOfBE = objBC.GetShowShipment945Details("Get", TxtIDOC.Text.Trim(), txtDO.Text.Trim(), txtLoadID.Text.Trim(), drdStatus.SelectedValue, drdTxnType.SelectedValue, drdServiceComponentPartnerSearch.SelectedValue, txtPlant.Text.Trim(), txtOrderType.Text.Trim(), DateFrom, DateTo);

            foreach (ShowShipmentBE objExt1 in listOfBE)
            {
                if (objExt1.StageName == "SentPositive997ToPartner")
                {
                    objExt1.Ack997Status = "pos997";
                }
                if (objExt1.StageName == "SentNegative997ToPartner")
                {
                    objExt1.Ack997Status = "neg997";
                }
                if (objExt1.StageName == "SentPositiveEDI824ToPartner")
                {
                    objExt1.Ack824Status = "pos824";
                }
                if (objExt1.StageName == "SentNegativeEDI824ToPartner")
                {
                    objExt1.Ack824Status = "Neg824";
                }
                if (objExt1.StageName == "SendPositiveEDI824for945ToBatchPrimaryTransport")
                {
                    objExt1.Ack824Status = "Pos824Batch";
                }
                if (objExt1.StageName == "SendNegativeEDI824for945ToBatchPrimaryTransport")
                {
                    objExt1.Ack824Status = "Neg824Batch";
                }
                if (objExt1.StageName == "SendNegativeEDI824for945ToBatchSecondaryTransport")
                {
                    objExt1.Ack824Status = "Neg824Batch";
                }
                if (objExt1.StageName == "SendPositiveEDI824for945ToBatchSecondaryTransport")
                {
                    objExt1.Ack824Status = "Pos824Batch";
                }
                if (objExt1.StageName == "AperakAckSentToPartner")
                {
                    objExt1.AckAperakStatus = "posAperak";
                }
                if (objExt1.StageName == "AperakNAckSentToPartner")
                {
                    objExt1.AckAperakStatus = "negAperak";
                }
                if (objExt1.MDNStatus == "RcvdPositiveMDNFromPartner")
                {
                    objExt1.MDNStatus = "PosMDN";
                }
                if (objExt1.MDNStatus == "Error_RcvdNegativeMDNFromPartnerEx")
                {
                    objExt1.MDNStatus = "NegMDN";
                }
                if (objExt1.MDNStatus == "Error_MDNNotReceivedFromPartner")
                {
                    objExt1.MDNStatus = "NoMDN";
                }
            }

            foreach (ShowShipmentBE obj in listOfBE)
            {
                string PartnerName = objPucBC.GetPartnerName(obj.Plant);
                obj.CM = PartnerName == "" ? obj.CM : PartnerName;
            }

            Session[vSSList] = listOfBE;



            if (ViewState[grdPageSize] != null)
            {
                gvDO.PageSize = Convert.ToInt32(ViewState[grdPageSize].ToString());
            }
            else
            {
                gvDO.PageSize = 10;
            }


            lblRec.Text  = Utils.GridRecDispMsg(gvDO.PageIndex, gvDO.PageSize, listOfBE.Count);
            gvDO.Visible = true;
            if (listOfBE != null && listOfBE.Count > 0)
            {
                rowPage.Visible = true;
                rowGrid.Visible = true;

                gvDO.DataSource = listOfBE;
                gvDO.DataBind();
                lblRec.Text    = Utils.GridRecDispMsg(gvDO.PageIndex, gvDO.PageSize, listOfBE.Count);
                gvDO.Visible   = true;
                lblRec.Visible = true;
            }
            else
            {
                lblRec.Visible  = false;
                rowGrid.Visible = false;
                rowPage.Visible = false;


                gvDO.Visible    = false;
                gvDO.DataSource = null;
                gvDO.DataBind();
                lblSearchError.Text    = "No records found.";
                lblSearchError.Visible = true;
            }
        }
        catch (Exception ex)
        {
            lblSearchError.Text    = ex.Message;
            lblSearchError.Visible = true;
            logFile.ErrorLogging(ex);
        }
    }