/// <summary> /// Удаление позиции из накладной /// </summary> public virtual void DeleteRow(WriteoffWaybillRow row) { ValidationUtils.Assert(rows.Contains(row), "Позиция накладной не найдена. Возможно, она была удалена."); row.CheckPossibilityToDelete(); rows.Remove(row); row.DeletionDate = DateTime.Now; }
/// <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; }