Задать вопрос

Как оптимизировать код?

Здравствуйте.

Снова о теме быдлокодерства. Меня напрягает 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;
                }
            }
  • Вопрос задан
  • 2928 просмотров
Подписаться 2 Комментировать
Подписчики вопроса 2 К ответам на вопрос (2)