protected void grvLicenseData_Sorting(object sender, GridViewSortEventArgs e)
        {
            // Take current page number.
            int currentPageNumber = LicensesDataBinder.GetCurrentPageNumber(rprPages);

            // Take index column to sort.
            TableCell x1          = ((GridView)sender).HeaderRow.Cells.OfType <TableCell>().Where(t => t.Controls.OfType <LinkButton>().Any(l => l.Text == e.SortExpression)).First();
            var       columnIndex = ((GridView)sender).HeaderRow.Cells.GetCellIndex(x1);

            // Save the sorted column index.
            ViewState["indexSortedColumn"] = columnIndex;

            // From a drope down list take a number of rows to display in a gridview.
            int rows = int.Parse(ddlRowsPerPage.SelectedItem.Value);

            // Choose a sorting direction (if true then ASC if false then DESC).
            licenseDataBinder.LicensesDataBind(wsClient, user, currentPageNumber, columnIndex, !(bool)ViewState["sortDirection"], rows);
            ViewState["sortDirection"] = !(bool)ViewState["sortDirection"];
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            // Create data binder
            licenseDataBinder = new LicensesDataBinder(gvLicenseData, rprPages, ddlRowsPerPage);
            user = new User()
            {
                UserEmail = User.Identity.Name.ToString(), UserAccessNumber = (Guid)Session["loggedUsersAccessNumber"]
            };
            if (!Page.IsPostBack)
            {
                // Display a name of logged user on page.
                lblUserName.Text = User.Identity.Name.ToString();

                // Read a first portion of data and display it in a gridview.
                licenseDataBinder.LicensesDataBind(wsClient, user, 0, 0, true, 10);

                // Save an index of sorted column.
                ViewState["indexSortedColumn"] = 0;

                // Save a sort direction (ASC - true, DESC - false).
                ViewState["sortDirection"] = true;
            }
        }