private void DgResMainDetails_OnOnFilter(object sender, FilterEvent e) { _viewModel.TransactionHeader.TransactionMainDetails.Clear(); var counter = 0; _viewModel.Filter = null; _viewModel.ValuesObjects = new Dictionary <string, object>(); foreach (var f in e.FiltersPredicate) { string paramter = "(@" + f.FilterColumnInfo.PropertyPath.Replace(".", "_") + counter + ")"; object myObject = null; try { myObject = Convert.ChangeType(f.FilterText, f.FilterColumnInfo.PropertyType, null); } catch (Exception) { myObject = ""; } switch (f.SelectedFilterOperation.FilterOption) { case Enums.FilterOperation.EndsWith: myObject = "%" + f.FilterText; break; case Enums.FilterOperation.StartsWith: myObject = f.FilterText + "%"; break; case Enums.FilterOperation.Contains: myObject = "%" + f.FilterText + "%"; break; } _viewModel.ValuesObjects.Add(f.FilterColumnInfo.PropertyPath.Replace(".", "_") + counter, myObject); if (counter > 0) { _viewModel.Filter = _viewModel.Filter + " and "; } _viewModel.Filter = _viewModel.Filter + "it." + f.FilterColumnInfo.PropertyPath + f.SelectedFilterOperation.LinqUse + paramter; counter++; } _viewModel.GetReservationMainDetail(styleViewModel); }