public JsonResult ManageAjax(int draw, int start, int length) { var data = new List <object>(); long recordsTotal = 0; long recordsFiltered = 0; try { string searchText = HttpContext.Request.Form["search[value]"]; searchText = searchText.Trim(); #region OrderBy and Direction string orderBy = HttpContext.Request.Form["order[0][column]"]; string orderDir = HttpContext.Request.Form["order[0][dir]"]; if (!string.IsNullOrEmpty(orderDir)) { orderDir = orderDir.ToUpper(); } if (!string.IsNullOrEmpty(orderBy)) { switch (orderBy) { case "0": orderBy = "name"; break; default: orderBy = ""; break; } } #endregion recordsTotal = _newsService.Count(false, searchText); recordsFiltered = recordsTotal; List <News> itemList = _newsService.Load(start, length, false, searchText, orderBy, orderDir); string controllerName = "EasyNews"; foreach (var item in itemList) { var str = new List <string>(); var name = ""; if (GlobalContext.WebSite.IsMultiLangual) { foreach (var details in item.Details) { if (!string.IsNullOrEmpty(name)) { name += "<br />"; } name += "<b>" + details.Language + ":</b> " + details.Name; } } else { name = item.Name; } str.Add(name); if (item.HasDateRange) { str.Add("" + item.CreationDate.ToString("yyyy-MM-dd hh:mm tt") + " - " + item.ModificationDate.ToString("yyyy-MM-dd hh:mm tt")); } else { str.Add("-"); } str.Add(item.Order.ToString()); str.Add(item.CategoryList.Count.ToString()); if (item.CreateBy == item.ModifyBy) { str.Add(Cache.GetNccUser(item.CreateBy)?.UserName); } else { str.Add("<b>Cr:</b> " + UserService.Get(item.CreateBy)?.UserName + "<br /><b>Mo:</b> " + UserService.Get(item.ModifyBy)?.UserName); } if (item.CreationDate == item.ModificationDate) { str.Add(item.CreationDate.ToString("yyyy-MM-dd hh:mm tt")); } else { str.Add("<b>Cr:</b> " + item.CreationDate.ToString("yyyy-MM-dd hh:mm tt") + "<br /><b>Mo:</b> " + item.ModificationDate.ToString("yyyy-MM-dd hh:mm tt")); } str.Add(item.Status.ToString()); string actionLink = " <a href='" + Url.Action("CreateEdit", controllerName, new { id = item.Id.ToString() }) + "' class='btn btn-xs btn-primary btn-outline'>Edit</a> "; if (item.Status == EntityStatus.Active) { actionLink += " <a href='" + Url.Action("StatusUpdate", controllerName, new { id = item.Id.ToString() }) + "' class='btn btn-xs btn-danger btn-outline'>Inactive</a> "; } else { actionLink += " <a href='" + Url.Action("StatusUpdate", controllerName, new { id = item.Id.ToString() }) + "' class='btn btn-xs btn-success btn-outline'>Active</a> "; } actionLink += " <a href='" + Url.Action("Delete", controllerName, new { id = item.Id.ToString() }) + "' class='btn btn-xs btn-danger'>Delete</a> "; str.Add(actionLink); data.Add(str); } } catch (Exception ex) { _logger.LogError(ex.Message); } return(Json(new { draw = draw, recordsTotal = recordsTotal, recordsFiltered = recordsFiltered, start = start, length = length, data = data })); }