重构我的详细C#MVC搜索表单

时间:2015-06-30 03:55:47

标签: c# asp.net-mvc

我有一个MVC操作,它接受来自搜索表单(下拉列表和文本框)的搜索条件,该搜索表单根据搜索条件返回项目列表。但是我对结果不满意,因为代码太冗长/冗长。我想重构它。任何建议,我可以得到相同的结果,但我的代码不像这样凌乱?我不需要我的代码的精确副本,我只是想要一个更简单的格式来实现相同的结果。任何的想法?看看这个烂摊子。

IComparer

我主要担心的是if else语句,因为我在搜索表单中创建了另一个下拉列表,它会在我的控制器操作中添加一系列条件。

1 个答案:

答案 0 :(得分:1)

试试这个:

public PartialViewResult ClientSearch(ClientViewModel data)
{
    var model = new ClientViewModel();
    model.ClientsCollection = _ClientService.Get(u => ((data.SearchString == "" || u.FullName.Contains(data.SearchString)) && (data.SelectedClientStatus == null || u.StatusID == data.SelectedClientStatus) && (data.SelectedLocation == null || u.LocationID == data.SelectedLocation)), null, "ClientsProfile, ClientsMobiles").ToList();
    return PartialView("_ClientsResult", model);
}