示例#1
0
        /// <summary>
        /// Удаление позиции из накладной
        /// </summary>
        public virtual void DeleteRow(ChangeOwnerWaybillRow row)
        {
            if (IsAccepted)
            {
                throw new Exception(String.Format("Невозможно удалить позицию из накладной со статусом «{0}».", State.GetDisplayName()));
            }

            if (!rows.Contains(row))
            {
                throw new Exception("Позиция накладной не найдена. Возможно, она была удалена.");
            }

            rows.Remove(row);
            row.DeletionDate = DateTime.Now;
        }
示例#2
0
        public virtual void AddRow(ChangeOwnerWaybillRow row)
        {
            if (IsAccepted)
            {
                throw new Exception(String.Format("Невозможно добавить позицию в накладную со статусом «{0}».", State.GetDisplayName()));
            }

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

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