вам нужно будет передать имя в функцию productProvider.setInbag (true):
например: сервисный файл ProductProvider
setInbag(name: string, inbag: boolean) {
var product = this.products.find(f => f.name === name);
product.inBag = inbag;
}
метод find существует для массивов и вернет первый элемент, в котором предикат (f => f.name === name) имеет значение true.
На заметке:
Я вижу, что ваши продукты имеют свойство id. Вы должны использовать это, чтобы передать выбранный продукт вместо его имени. Продукты могут иметь одно и то же название для разных компаний.
http://quartznet.sourceforge.net/
"Quartz.NET является портом очень propular (так!) платформа планирования задания Java с открытым исходным кодом, Кварц".
пз: Умный с полуслова понимает не пытайтесь просто перейти на quartz.net когда на работе ;-)
См. А новая библиотека классов планировщика задач для.NET на Codeproject.
Я считал приблизительно Кварц в этом вопросе , Как я мог бы запланировать службу Windows C# для выполнения задачи ежедневно? . Это - библиотека C# и допускает гибкое планирование.
Кварц кажется хорошим решением.
Недавно (в этом году) мне пришлось написать настраиваемый планировщик задач для крупного проекта, над которым я работал. Они тоже не могли использовать Планировщик задач Windows, а также хотели иметь возможность выполнять настраиваемые функции на основе загрузки сборок (через веб-сайт ASP.net) и заставлять службу выполнять соответствующую задачу в указанное время.
честно говоря, было немного кошмаром (не столько для разработки и реализации, но логика планирования была немного затруднительной).
Я настоятельно рекомендую исчерпать все другие возможности, прежде чем принимать решение «использовать свой собственный» (также известный как изобретать велосипед!)
Я использовал Quartz еще во времена Java, и он отлично работал. Сейчас я использую его для некоторой работы .Net, и он работает даже лучше (конечно, есть несколько лет, чтобы он стабилизировался). Так что я, безусловно, поддерживаю рекомендации по этому поводу.
Еще одна интересная вещь, на которую вы должны обратить внимание, и с которой я только начал играть, - это новый System.Threading.Tasks в .Net 4.0. Я только что использую задачи для распараллеливания работы, и они используют большое преимущество многоядерности / процессоров. Я заметил, что там есть класс TaskScheduler, я не рассматривал его подробно,