Esempio n. 1
0
 public JsonResult getGroupSiteById(long id)
 {
     return(Json(groupService.GetGroupSite(id), JsonRequestBehavior.AllowGet));
 }
Esempio n. 2
0
        public ActionResult AjaxHandler(JQueryDataTableParamModel param)
        {
            var allLinked_Site = Linked_SiteService.GetAllLinked_Site();
            IEnumerable <Linked_Site> filteredLinked_Site;

            //Check whether the Linked_Site should be filtered by keyword
            if (!string.IsNullOrEmpty(param.sSearch))
            {
                //Used if particulare columns are filtered
                var nameFilter    = Convert.ToString(Request["sSearch_1"]);
                var addressFilter = Convert.ToString(Request["sSearch_2"]);
                var townFilter    = Convert.ToString(Request["sSearch_3"]);

                //Optionally check whether the columns are searchable at all
                var isNameSearchable    = Convert.ToBoolean(Request["bSearchable_1"]);
                var isAddressSearchable = Convert.ToBoolean(Request["bSearchable_2"]);
                var isTownSearchable    = Convert.ToBoolean(Request["bSearchable_3"]);

                filteredLinked_Site = Linked_SiteService.GetAllLinked_Site()
                                      .Where(c => isNameSearchable && c.SiteName.ToLower().Contains(param.sSearch.ToLower()));
            }
            else
            {
                filteredLinked_Site = allLinked_Site;
            }

            var isNameSortable    = Convert.ToBoolean(Request["bSortable_1"]);
            var isAddressSortable = Convert.ToBoolean(Request["bSortable_2"]);
            var isTownSortable    = Convert.ToBoolean(Request["bSortable_3"]);
            var sortColumnIndex   = Convert.ToInt32(Request["iSortCol_0"]);
            Func <Linked_Site, string> orderingFunction = (c => sortColumnIndex == 1 && isNameSortable ? c.Id.ToString() :
                                                           sortColumnIndex == 2 && isAddressSortable ? GroupSiteService.GetGroupSite(c.GroupSiteId).GroupName :
                                                           sortColumnIndex == 3 && isAddressSortable ? c.SiteName.ToString() :
                                                           sortColumnIndex == 4 && isTownSortable ? c.Flag.ToString() :
                                                           "");

            var sortDirection = Request["sSortDir_0"]; // asc or desc

            if (sortDirection == "asc")
            {
                filteredLinked_Site = filteredLinked_Site.OrderBy(orderingFunction);
            }
            else
            {
                filteredLinked_Site = filteredLinked_Site.OrderByDescending(orderingFunction);
            }

            var displayedLinked_Site = filteredLinked_Site.Skip(param.iDisplayStart).Take(param.iDisplayLength);
            var result = from c in displayedLinked_Site select new[] { Convert.ToString(c.Id), GroupSiteService.GetGroupSite(c.GroupSiteId).GroupName, Convert.ToString(c.SiteName), Convert.ToString(c.ModifyDate), Convert.ToString(c.Flag) };

            return(Json(new
            {
                sEcho = param.sEcho,
                iTotalRecords = allLinked_Site.Count(),
                iTotalDisplayRecords = filteredLinked_Site.Count(),
                aaData = result
            },
                        JsonRequestBehavior.AllowGet));
        }