Skip to content

Commit

Permalink
move try-catch inside of lambda
Browse files Browse the repository at this point in the history
  • Loading branch information
Edward Miller committed Sep 29, 2024
1 parent 778da77 commit 5ae016f
Showing 1 changed file with 27 additions and 26 deletions.
53 changes: 27 additions & 26 deletions Maui.DataGrid/DataGrid.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1471,46 +1471,47 @@ private List<object> GetFilteredItems(IList<object> originalItems)
continue;
}

try
{
filteredItems = filteredItems.Where(item => FilterItem(item, column));
}
catch (Exception ex)
{
Debug.WriteLine(ex);
}
filteredItems = filteredItems.Where(item => FilterItem(item, column));
}

return filteredItems.ToList();
}

private bool FilterItem(object item, DataGridColumn column)
{
var isItemTypeCached = _cachedType != null;

if (!isItemTypeCached)
try
{
_cachedType = item.GetType();
}
var isItemTypeCached = _cachedType != null;

var type = _cachedType ?? item.GetType();
var property = type?.GetProperty(column.PropertyName);
if (!isItemTypeCached)
{
_cachedType = item.GetType();
}

if (property?.PropertyType == typeof(object))
{
return false;
}
var type = _cachedType ?? item.GetType();
var property = type?.GetProperty(column.PropertyName);

var value = property?.GetValue(item, null)?.ToString();
var result = value?.Contains(column.FilterText, StringComparison.OrdinalIgnoreCase);
if (property?.PropertyType == typeof(object))
{
return false;
}

var value = property?.GetValue(item, null)?.ToString();
var result = value?.Contains(column.FilterText, StringComparison.OrdinalIgnoreCase);

if (result == null && isItemTypeCached)
{
_cachedType = null;
result = FilterItem(item, column);
}

if (result == null && isItemTypeCached)
return result == true;
}
catch (Exception ex)
{
_cachedType = null;
result = FilterItem(item, column);
Debug.WriteLine(ex);
return false;
}

return result == true;
}

private IEnumerable<object> GetPaginatedItems(IEnumerable<object> unpaginatedItems)
Expand Down

0 comments on commit 5ae016f

Please sign in to comment.