/// <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; }
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; }