public IList <Log> FindByFilter(ErrorFilterDTO filter) { List <Log> logs = context.Logs.Select(x => x) .Distinct() .ToList(); logs = OrderLogs(logs, filter.order); return(SearchByFilter(logs, filter)); }
private bool ContaisValidFilter(ErrorFilterDTO filter) { if (filter.search == null || filter.search.Trim().Equals("")) { return(false); } if (filter.searchValue == null || filter.searchValue.Trim().Equals("")) { return(false); } return(true); }
public ActionResult <List <LogDTO> > FindByFilter([FromBody] ErrorFilterDTO filter) { try { if (!ModelState.IsValid) { return(BadRequest()); } return(Ok(service.FindByFilter(filter).Select(x => mapper.Map <LogDTO>(x)))); } catch { return(NotFound()); } }
private List <Log> SearchByFilter(List <Log> logs, ErrorFilterDTO filter) { if (filter == null) { return(logs); } string environment = TranslateEnvironment(filter.environment); if (environment != null && !environment.Trim().Equals("")) { logs = logs.Where(x => x.Environment.Equals(environment)) .ToList(); } if (!ContaisValidFilter(filter)) { return(logs); } string filterBy = filter.search; string filterContains = filter.searchValue; filterBy = filterBy.ToLower(); if (filterBy.Equals("level")) { logs = logs.Where(x => x.Level.Contains(filterContains)) .ToList(); } if (filterBy.Equals("description")) { logs = logs.Where(x => x.Description.Contains(filterContains)) .ToList(); } if (filterBy.Equals("origin")) { logs = logs.Where(x => x.Origin.Contains(filterContains)) .ToList(); } return(logs); }