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