public void GetData(string sidx, string sord, int?_page)
        {
            int rows = Functions.GetGridNumberOfRows();
            int numberOfPagesToShow = Functions.GetGridNumberOfPagesToShow();
            int currentPage         = _page is null ? 1 : Convert.ToInt32(_page);
            int startRowIndex       = ((currentPage * rows) - rows);
            int totalRecords        = WorkflowMaster.GetRecordCount();
            int totalPages          = (int)Math.Ceiling((float)totalRecords / (float)rows);
            List <WorkflowMaster> objWorkflowMasterCol = WorkflowMaster.SelectSkipAndTake(rows, startRowIndex, sidx + " " + sord);

            // fields and titles
            string[,] fieldNames = new string[, ] {
                { "WorkflowId", "Workflow Id" },
                { "WorkflowName", "Workflow Name" },
                { "LevelOfApprovals", "Level Of Approvals" },
                { "CreatedBy", "Created By" },
                { "CreatedOn", "Created On" },
                { "Updatedby", "Updatedby" },
                { "Updatedon", "Updatedon" }
            };

            // assign properties
            WorkflowMasterData       = objWorkflowMasterCol;
            WorkflowMasterFieldNames = fieldNames;
            TotalPages           = totalPages;
            CurrentPage          = currentPage;
            FieldToSort          = String.IsNullOrEmpty(sidx) ? "WorkflowId" : sidx;
            FieldSortOrder       = String.IsNullOrEmpty(sord) ? "asc" : sord;
            FieldToSortWithOrder = String.IsNullOrEmpty(sidx) ? "WorkflowId" : (sidx + " " + sord).Trim();
            NumberOfPagesToShow  = numberOfPagesToShow;
            StartPage            = Functions.GetPagerStartPage(currentPage, numberOfPagesToShow, totalPages);
            EndPage = Functions.GetPagerEndPage(StartPage, currentPage, numberOfPagesToShow, totalPages);
        }
        /// <summary>
        /// Gets the list of data for use by the jqgrid plug-in
        /// </summary>
        public IActionResult OnGetGridData(string sidx, string sord, int _page, int rows, bool isforJqGrid = true)
        {
            int totalRecords  = WorkflowMaster.GetRecordCount();
            int startRowIndex = ((_page * rows) - rows);
            List <WorkflowMaster> objWorkflowMasterCol = WorkflowMaster.SelectSkipAndTake(rows, startRowIndex, sidx + " " + sord);
            int totalPages = (int)Math.Ceiling((float)totalRecords / (float)rows);

            if (objWorkflowMasterCol is null)
            {
                return(new JsonResult("{ total = 0, page = 0, records = 0, rows = null }"));
            }

            var jsonData = new
            {
                total = totalPages,
                _page,
                records = totalRecords,
                rows    = (
                    from objWorkflowMaster in objWorkflowMasterCol
                    select new
                {
                    id = objWorkflowMaster.WorkflowId,
                    cell = new string[] {
                        objWorkflowMaster.WorkflowId.ToString(),
                        objWorkflowMaster.WorkflowName,
                        objWorkflowMaster.LevelOfApprovals.HasValue ? objWorkflowMaster.LevelOfApprovals.Value.ToString() : "",
                        objWorkflowMaster.CreatedBy,
                        objWorkflowMaster.CreatedOn.ToString("d"),
                        objWorkflowMaster.Updatedby,
                        objWorkflowMaster.Updatedon.ToString("d")
                    }
                }).ToArray()
            };

            return(new JsonResult(jsonData));
        }
 /// <summary>
 /// Shows how to get the total number of records
 /// </summary>
 private void GetRecordCount()
 {
     // get the total number of records in the WorkflowMaster table
     int totalRecordCount = WorkflowMaster.GetRecordCount();
 }