ВУЗ:
Составители:
Рубрика:
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;
// ищем заказы на данный товар
List items = (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
- …
- следующая ›
- последняя »
