protected void GetLogs(FilterErrorLogModel filter = null) { Model = Service.GetModel(filter?.UserFltr ?? "", filter?.DateFltr, filter?.ErrorFltr ?? ""); StateHasChanged(); }
public IHttpActionResult Post(FilterErrorLogModel request) { var query = db.ErrorLog.Select(s => new ErrorLogModel { Id = s.Id, UserName = s.User.Name, Module = s.Module, UserId = s.UserId, LogDate = s.CreatedDate, Source = s.Source, Description = s.ErrorDescription, Details = s.ErrorDetails, IPAddress = s.IPAddress }); var totalCount = query.Count(); //advance search query = query.Where(s => (request.UserName == null || s.UserName.Contains(request.UserName)) && (request.Module == null || s.Module == request.Module) && (request.Source == null || s.Source.Contains(request.Source)) && (request.Description == null || s.Details.Contains(request.Description)) && (request.IPAddress == null || s.IPAddress.Contains(request.IPAddress)) && (request.LogDateFrom == null || request.LogDateTo == null || DbFunctions.TruncateTime(s.LogDate) < DbFunctions.TruncateTime(request.LogDateTo) && DbFunctions.TruncateTime(s.LogDate) > DbFunctions.TruncateTime(request.LogDateFrom)) ); //quick search if (!string.IsNullOrEmpty(request.search.value)) { var value = request.search.value.Trim(); query = query.Where(p => p.UserName.Contains(value) || p.Source.Contains(value) || p.Description.Contains(value) || p.IPAddress.Contains(value) ); } var filteredCount = query.Count(); //order if (request.order != null) { string sortBy = request.columns[request.order[0].column].data; bool sortAscending = request.order[0].dir.ToLower() == "asc"; switch (sortBy) { case "UserName": if (sortAscending) { query = query.OrderBy(o => o.UserName); } else { query = query.OrderByDescending(o => o.UserName); } break; case "Module": if (sortAscending) { query = query.OrderBy(o => o.Module); } else { query = query.OrderByDescending(o => o.Module); } break; case "Source": if (sortAscending) { query = query.OrderBy(o => o.Source); } else { query = query.OrderByDescending(o => o.Source); } break; case "LogDate": if (sortAscending) { query = query.OrderBy(o => o.LogDate); } else { query = query.OrderByDescending(o => o.LogDate); } break; default: query = query.OrderByDescending(o => o.LogDate); break; } } else { query = query.OrderByDescending(o => o.LogDate); } var data = query.Skip(request.start).Take(request.length).ToList(); data.ForEach(s => { s.ModuleDesc = s.Module.GetDisplayName(); }); return(Ok(new DataTableResponse { draw = request.draw, recordsTotal = totalCount, recordsFiltered = filteredCount, data = data.ToArray() })); }
public async Task <ActionResult> List(FilterErrorLogModel filter) { var response = await WepApiMethod.SendApiAsync <DataTableResponse>(HttpVerbs.Post, $"Logs/ErrorLog/GetAll", filter); return(Content(JsonConvert.SerializeObject(response.Data), "application/json")); }