Exemplo n.º 1
0
        public IList <Error> FilteredErrors(int env, int?searchField, string searchString)
        {
            var errorsList = new List <Error>();

            if (searchString == string.Empty || searchField == 0)
            {
                errorsList = _context.Errors
                             .Where(x => x.EnvironmentId == env || env <= 0)
                             .OrderBy(x => x.LevelId)
                             .ToList();
            }
            else
            {
                errorsList = searchField switch
                {
                    1 => _context.Errors
                    .Where(x => x.Level == _levelService.GetByName(searchString))
                    .ToList(),
                    2 => _context.Errors
                    .Where(x => x.Details.Contains(searchString))
                    .OrderBy(x => x.LevelId)
                    .ToList(),
                    3 => _context.Errors
                    .Where(x => x.Origin.Contains(searchString))
                    .OrderBy(x => x.LevelId)
                    .ToList(),
                    _ => errorsList
                };

                errorsList = errorsList
                             .Where(x => x.EnvironmentId == env || env <= 0)
                             .ToList();
            }

            return(errorsList);
        }