public async Task <JsonResult> GetGridData(DataTableRequestViewModel <ApplicationUser> dataTableModel) { if (dataTableModel != null) { var query = _context.Users.AsQueryable(); var totalCount = query.Count(); if (dataTableModel.SearchObject != null) { if (!string.IsNullOrEmpty(dataTableModel.SearchObject.Email)) { query = query.Where(p => p.Email.ToLower().Contains(dataTableModel.SearchObject.Email.ToLower())); } if (!string.IsNullOrEmpty(dataTableModel.SearchObject.FirstName)) { query = query.Where(p => p.FirstName.ToLower().Contains(dataTableModel.SearchObject.FirstName.ToLower())); } if (!string.IsNullOrEmpty(dataTableModel.SearchObject.LastName)) { query = query.Where(p => p.LastName.ToLower().Contains(dataTableModel.SearchObject.LastName.ToLower())); } if (!string.IsNullOrEmpty(dataTableModel.SearchObject.PhoneNumber)) { query = query.Where(p => p.PhoneNumber.ToLower().Contains(dataTableModel.SearchObject.PhoneNumber.ToLower())); } } if (!string.IsNullOrEmpty(dataTableModel.SortPhrase)) { query = query.OrderBy(dataTableModel.SortPhrase); } else { query = query.OrderBy(p => p.Email); } var result = query.Skip(dataTableModel.Start).Take(dataTableModel.Length).ToList(); return(new JsonResult(new GridDataResponseViewModel <ApplicationUser> { Draw = dataTableModel.Draw, RecordsTotal = totalCount, RecordsFiltered = totalCount, Data = result, })); } else { return(new JsonResult(null)); } }
public IActionResult ApiLogs(DataTableRequestViewModel <ApiCallLog> dataTableModel) { if (dataTableModel != null) { var query = from a in _context.ApiCallLogs.AsQueryable() join u in _context.Users on a.UserId equals u.Id select new ApiCallLog { Id = a.Id, CreateDate = a.CreateDate, UserName = u.UserName, Input = a.Input }; var totalCount = query.Count(); if (dataTableModel.SearchObject != null) { var searchObj = dataTableModel.SearchObject; if (searchObj.Id != Guid.Empty) { query = query.Where(p => p.Id == searchObj.Id); } if (!string.IsNullOrEmpty(searchObj.UserName)) { query = query.Where(p => p.UserName.Contains(searchObj.UserName)); } if (searchObj.CreateDate > DateTime.MinValue) { query = query.Where(p => p.CreateDate == searchObj.CreateDate); } if (!string.IsNullOrEmpty(searchObj.Input)) { query = query.Where(p => p.Input.Contains(searchObj.Input)); } } var filteredCount = query.Count(); if (!string.IsNullOrEmpty(dataTableModel.SortPhrase)) { query = query.OrderBy(dataTableModel.SortPhrase); } else { query = query.OrderBy(p => p.Id); } var result = query.Skip(dataTableModel.Start).Take(dataTableModel.Length).ToList(); return(new JsonResult(new GridDataResponseViewModel <ApiCallLog> { Draw = dataTableModel.Draw, RecordsTotal = totalCount, RecordsFiltered = filteredCount, Data = result, })); } else { return(new JsonResult(null)); } }
public IActionResult OcrLogs(DataTableRequestViewModel <OcrCallLog> dataTableModel) { if (dataTableModel != null) { var query = from o in _context.OcrCallLogs join u in _context.Users on o.UserId equals u.Id join a in _context.ApiCallLogs on o.ApiCallLogId equals a.Id select new OcrCallLog { Id = o.Id, CreateDate = o.CreateDate, UserName = u.UserName, Input = a.Input, ApiCallLogId = a.Id, IsSuccessful = o.IsSuccessful, OcrName = o.OcrName, Output = o.Output, ResponseDate = o.ResponseDate, UserId = o.UserId, }; var totalCount = query.Count(); if (dataTableModel.SearchObject != null) { var searchObj = dataTableModel.SearchObject; if (!string.IsNullOrEmpty(searchObj.UserName)) { query = query.Where(p => p.UserName.Contains(searchObj.UserName)); } if (searchObj.CreateDate > DateTime.MinValue) { query = query.Where(p => p.CreateDate == searchObj.CreateDate); } if (!string.IsNullOrEmpty(searchObj.Input)) { query = query.Where(p => p.Input.Contains(searchObj.Input)); } if (!string.IsNullOrEmpty(searchObj.OcrName)) { query = query.Where(p => p.OcrName.Contains(searchObj.OcrName)); } } var filteredCount = query.Count(); if (!string.IsNullOrEmpty(dataTableModel.SortPhrase)) { query = query.OrderBy(dataTableModel.SortPhrase); } else { query = query.OrderBy(p => p.Id); } var result = query.Skip(dataTableModel.Start).Take(dataTableModel.Length).ToList(); return(new JsonResult(new GridDataResponseViewModel <OcrCallLog> { Draw = dataTableModel.Draw, RecordsTotal = totalCount, RecordsFiltered = filteredCount, Data = result, })); } else { return(new JsonResult(null)); } }