ВУЗ:
Составители:
Рубрика:
106
запроса выбираются все заказы на заданный товар, далее они
просматриваются, пока не будет исчерпано количество товара. Если товара
на складе достаточно для полного выполнения заказа, он считается
обслуженным и удаляется из списка заказов. Возможно частичное
выполнение заказа, если в наличии товара меньше, чем требовалось
покупателю.
// метод добавления заказа в список
public void AddZakaz(Tovar t, int count)
{
Zakaz z = new Zakaz(t, count);
list.Add(z);
}
// метод выполнения заказа и удаления его из списка
public void RemoveZakaz(Tovar t, int count)
{
// заказов может быть выполнено несколько,
// поэтому обращаемся к ним в цикле
while (true)
{
// если количество исчерпано, заканчиваем метод
if (count == 0) return;
// ищем заказы на данный товар
List<Zakaz> items = (from s in list
where s.tovar.Equals(t)
select s).ToList<Zakaz>();
// если заказов нет, заканчиваем реализацию
if (items.Count() == 0) return;
foreach (Zakaz z in items)
{
if (z.Count <= count)
{
// заказ выполнен полностью – корректируем
// количество и удаляем заказ из списка
count -= z.Count;
list.Remove(z);
break;
}
else
{
// заказ выполнен не полностью
z.Count -= count;
count = 0;
break;
}
}
}
}
запроса выбираются все заказы на заданный товар, далее они просматриваются, пока не будет исчерпано количество товара. Если товара на складе достаточно для полного выполнения заказа, он считается обслуженным и удаляется из списка заказов. Возможно частичное выполнение заказа, если в наличии товара меньше, чем требовалось покупателю. // метод добавления заказа в список public void AddZakaz(Tovar t, int count) { Zakaz z = new Zakaz(t, count); list.Add(z); } // метод выполнения заказа и удаления его из списка public void RemoveZakaz(Tovar t, int count) { // заказов может быть выполнено несколько, // поэтому обращаемся к ним в цикле while (true) { // если количество исчерпано, заканчиваем метод if (count == 0) return; // ищем заказы на данный товар Listitems = (from s in list where s.tovar.Equals(t) select s).ToList (); // если заказов нет, заканчиваем реализацию if (items.Count() == 0) return; foreach (Zakaz z in items) { if (z.Count <= count) { // заказ выполнен полностью – корректируем // количество и удаляем заказ из списка count -= z.Count; list.Remove(z); break; } else { // заказ выполнен не полностью z.Count -= count; count = 0; break; } } } } 106
Страницы
- « первая
- ‹ предыдущая
- …
- 105
- 106
- 107
- 108
- 109
- …
- следующая ›
- последняя »