public UserViewModel Search() { var result = new List<ApplicationUser>(); var modelCreator = new UserModelCreator(ITEMS_ON_PAGE, RANGE); if (Model.UserName != null) { result = SearchUserInUsersByParam(Model.UserName.ToLower(), result); if(result.Count == 0) return modelCreator.GetModelFromSearch(result); } if (Model.DocumentName != null) { result = SearchUserInFilesByParam(Model.DocumentName.ToLower(), result); if (result.Count == 0) return modelCreator.GetModelFromSearch(result); } if (Model.Category != null) { result = SearchUserInCategoriesByParam(Model.Category.ToLower(), result); if (result.Count == 0) return modelCreator.GetModelFromSearch(result); } if (Model.From != null || Model.To != null) { var param1 = Model.From == null ? DateTime.MinValue : Convert.ToDateTime(Model.From); var param2 = Model.To == null ? DateTime.MaxValue : Convert.ToDateTime(Model.To); result = SearchUserInByParamDate(param1, param2, result); if (result.Count == 0) return modelCreator.GetModelFromSearch(result); } result = result.Where(x => x.Id != UserId).ToList(); return modelCreator.GetModelFromSearch(result); }