Здравствуйте.
Снова о теме быдлокодерства. Меня напрягает if в if, которые в другом if и так далее. Пожалуйста, подскажите, как оптимизировать следующий код? Раковский ли он?
if (!string.IsNullOrEmpty(searchByName))
{
string[] names = searchByName.Split(' ');
if (names.Count() > 1)
{
var query = (
from i in MongoDBInstance.GetMongoDatabase.GetCollection<User>("UserInfo").AsQueryable<User>()
where
i.IsActivated == false && ((
i.Name.ToUpper().Contains(names[0].ToUpper()) &&
i.LastName.ToUpper().Contains(names[1].ToUpper())) ||
(i.Name.ToUpper().Contains(names[1].ToUpper()) &&
i.LastName.ToUpper().Contains(names[0].ToUpper())))
orderby i.ID
select i);
if (query.Count() > 0)
{
ViewData["uncheckedProfiles"] = query.ToPagedList(pageNumber, pageSize);
}
else
{
ViewData["uncheckedProfilesSearch"] = "NoResult";
}
}
else
{
var query = (
from i in MongoDBInstance.GetMongoDatabase.GetCollection<User>("UserInfo").AsQueryable<User>()
where
i.IsActivated == false && (
i.Name.ToUpper().Contains(searchByName.ToUpper()) ||
i.LastName.ToUpper().Contains(searchByName.ToUpper()))
orderby i.ID
select i);
if (query.Count() > 0)
{
ViewData["uncheckedProfiles"] = query.ToPagedList(pageNumber, pageSize);
}
else
{
ViewData["uncheckedProfilesSearch"] = "NoResult";
}
}
}
else
{
var query = (
from i in MongoDBInstance.GetMongoDatabase.GetCollection<User>("UserInfo").AsQueryable<User>()
where i.IsActivated == false
orderby i.ID
select i);
if (query.Count() > 0)
{
ViewData["uncheckedProfiles"] = query.ToPagedList(pageNumber, pageSize);
}
else
{
ViewData["uncheckedProfiles"] = null;
}
}