/// <summary>
 /// To get the records to show in the grid
 /// </summary>
 /// <param name="search">search criteria</param>
 /// <returns>matching data</returns>
 public ActionResult GridData(SearchFilter search)
 {
     try
     {
         int    RecCount    = 0;
         string whoType     = (Convert.ToString(Session["WHOTYPE"]) == "") ? Convert.ToString(Session["BeneWHOType"]) : Convert.ToString(Session["WHOTYPE"]);
         string StateCode   = Convert.ToString(Session["UserState"]);
         string distCode    = Convert.ToString(Session["UserDistrict"]);
         string ProjectCode = Convert.ToString(Session["UserProject"]);
         string BeneType    = Session["BeneType"].ToString();
         var    items       = _secBuss.Get(search, StateCode, ProjectCode, whoType, BeneType, Session["DashMonth"].ToString(), Session["DashYear"].ToString(), Session["DashCenterType"].ToString());
         if (items.Count == 0)
         {
             return(null);
         }
         var total    = (int)Math.Ceiling(RecCount / (float)search.rows);        //	get page count
         var jsonData = new
         {
             total   = total,
             page    = (total < search.page ? 1 : search.page),                                  //	set the current page
             records = items.Count,
             rows    = items,
         };
         return(Json(jsonData, JsonRequestBehavior.AllowGet));
     }
     catch (Exception ex)
     {
         return(Content(ex.InnerException.Message));
     }
 }