Практикум по курсу "Объектно-ориентированное программирование" на языке C#. Андрианова А.А - 102 стр.

UptoLike

101
{
// получение товара из строки с его информацией
Tovar t = Tovar.Parse(str);
// добавление товара в список
list.Add(t);
}
sr.Close();
}
. . .
}
Методы печати информации по выбранным критериям имеют единую
схему:
формируется запрос на выбор из списка тех товаров, которые
удовлетворяют требуемым условиям;
проверяется, не пуст ли результат выборки;
если выборка не пуста, печатаются все выбранные элементы, в
противном случае выводится сообщение о том, что по заданным
критериям поиска товаров не найдено.
По той же схеме работает и метод получения заданного товара (по
категории и названию).
// получение объекта товара по названию и категории
public Tovar GetTovar(string c, string n)
{
// формирование и кэширование в список запроса
// но поиск в списке товаров того, который
// имеет заданную категорию и название
List<Tovar> items = (from s in list
where s.Category.Equals(c) &&
s.Name.Equals(n)
select s).ToList<Tovar>();
// если товаров не найдено, генерируется исключение
if (items.Count() == 0)
throw new Exception("Такого товара нет на складе");
// товар найден – возвращаем его объект
return items[0];
}
Магазин имеет склад товаров. Информация о товарах, которые
хранятся на складе, записана в текстовый файл (Рис. 6.5).
Через символ-разделитель, которым в данном случае является !’,
в файл записаны категория товара, его название и количество на складе.
             {
                  // получение товара из строки с его информацией
                  Tovar t = Tovar.Parse(str);
                   // добавление товара в список
                  list.Add(t);
             }
             sr.Close();
           }
          . . .
      }

      Методы печати информации по выбранным критериям имеют единую
схему:
       формируется запрос на выбор из списка тех товаров, которые
        удовлетворяют требуемым условиям;
       проверяется, не пуст ли результат выборки;
       если выборка не пуста, печатаются все выбранные элементы, в
        противном случае выводится сообщение о том, что по заданным
        критериям поиска товаров не найдено.
      По той же схеме работает и метод получения заданного товара (по
категории и названию).

      // получение объекта товара по названию и категории
      public Tovar GetTovar(string c, string n)
      {
         // формирование и кэширование в список запроса
         // но поиск в списке товаров того, который
         // имеет заданную категорию и название
         List items = (from s in list
                              where s.Category.Equals(c) &&
                                    s.Name.Equals(n)
                              select s).ToList();
         // если товаров не найдено, генерируется исключение
         if (items.Count() == 0)
            throw new Exception("Такого товара нет на складе");
         // товар найден – возвращаем его объект
         return items[0];
      }

     Магазин имеет склад товаров. Информация о товарах, которые
хранятся на складе, записана в текстовый файл (Рис. 6.5).
     Через символ-разделитель, которым в данном случае является ‘!’,
в файл записаны категория товара, его название и количество на складе.



101