Пример #1
0
        /// <summary>
        /// Удаление позиции из накладной
        /// </summary>
        public virtual void DeleteRow(WriteoffWaybillRow row)
        {
            ValidationUtils.Assert(rows.Contains(row), "Позиция накладной не найдена. Возможно, она была удалена.");

            row.CheckPossibilityToDelete();

            rows.Remove(row);
            row.DeletionDate = DateTime.Now;
        }
Пример #2
0
        /// <summary>
        /// Добавление позиции в накладную
        /// </summary>
        public virtual void AddRow(WriteoffWaybillRow row)
        {
            ValidationUtils.Assert(IsDraft, String.Format("Невозможно добавить позицию в накладную со статусом «{0}».", State.GetDisplayName()));

            if (Rows.Any(x => x.ReceiptWaybillRow == row.ReceiptWaybillRow))
            {
                throw new Exception("Позиция накладной по данной партии и товару уже добавлена.");
            }

            rows.Add(row);
            row.WriteoffWaybill = this;
        }