private SearchMutator <UserEntity, UsersResourceParameters> Search() { var searchMutator = new SearchMutator <UserEntity, UsersResourceParameters>(); searchMutator.AddCondition( parameters => !string.IsNullOrWhiteSpace(parameters.Email), (users, parameters) => users.Where(user => user.Email.ToLower() == parameters.Email)); searchMutator.AddCondition( parameters => !string.IsNullOrWhiteSpace(parameters.FirstName), (users, parameters) => users.Where(user => user.FirstName.ToLower() == parameters.FirstName)); searchMutator.AddCondition( parameters => !string.IsNullOrWhiteSpace(parameters.LastName), (users, parameters) => users.Where(user => user.LastName.ToLower() == parameters.LastName)); searchMutator.AddCondition( parameters => !string.IsNullOrWhiteSpace(parameters.SearchQuery), (users, parameters) => users.Where(u => u.Email.ToLower().Contains(parameters.SearchQuery) || u.FirstName.ToLower().Contains(parameters.SearchQuery) || u.LastName.ToLower().Contains(parameters.SearchQuery))); return(searchMutator); }
private SearchMutator <MessageEntity, MessagesResourceParameters> Search() { var searchMutator = new SearchMutator <MessageEntity, MessagesResourceParameters>(); searchMutator.AddCondition( parameters => parameters.ChannelId > 0, (messages, parameters) => messages.Where(message => message.ChannelId == parameters.ChannelId)); searchMutator.AddCondition( parameters => !string.IsNullOrWhiteSpace(parameters.SearchQuery), (messages, parameters) => messages.Where(u => u.Text.ToLower().Contains(parameters.SearchQuery))); return(searchMutator); }