コード例 #1
0
        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));
            }
        }
コード例 #2
0
        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));
            }
        }
コード例 #3
0
        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));
            }
        }