/// <summary> /// Добавление позиции РЦ /// </summary> public virtual void AddArticleAccountingPrice(ArticleAccountingPrice price) { if (IsAlreadyAddedArticle(price)) { throw new Exception("Товар уже имеется в списке."); } articlePrices.Add(price); price.AccountingPriceList = this; }
/// <summary> /// Проверка налиция позиции товара в РЦ /// </summary> public virtual bool IsAlreadyAddedArticle(ArticleAccountingPrice price) { ValidationUtils.NotNull(price, "Позиция реестра цен не указана."); if (articlePrices.Where(x => areArticlePricesEqual(x, price)).Any()) { return(true); } return(false); }
/// <summary> /// Удаление позиции РЦ /// </summary> public virtual void DeleteArticleAccountingPrice(ArticleAccountingPrice price) { ValidationUtils.NotNull(price, "Позиция реестра цен не указана."); CheckPossibilityToDeleteRow(); if (!articlePrices.Where(x => areArticlePricesEqual(x, price)).Any()) { throw new Exception("Товар не содержится в списке."); } price.DeletionDate = DateTime.Now; articlePrices.Remove(price); }