/// <summary> /// Удаление позиции из накладной /// </summary> public virtual void DeleteRow(ReturnFromClientWaybillRow row) { row.CheckPossibilityToDelete(); rows.Remove(row); row.DeletionDate = DateTime.Now; }
/// <summary> /// Добавление позиции в накладную /// </summary> public virtual void AddRow(ReturnFromClientWaybillRow row) { ValidationUtils.Assert(IsDraft, String.Format("Невозможно добавить позицию в накладную со статусом «{0}».", State.GetDisplayName())); ValidationUtils.NotNull(row.SaleWaybillRow.SaleWaybill, "Невозможно добавить позицию со ссылкой на позицию накладной реализации без указанной реализации."); ValidationUtils.Assert(row.SaleWaybillRow.SaleWaybill.Sender == Recipient, "Организация-приемщик и организация-продавец товара должны совпадать."); ValidationUtils.Assert(!Rows.Any(x => x.SaleWaybillRow.Id == row.SaleWaybillRow.Id), "Позиция накладной по данной позиции накладной реализации уже добавлена."); ValidationUtils.Assert(row.SaleWaybillRow.SaleWaybill.Team == Team, "Команда накладной возврата должна совпадать с командой накладной реализации."); rows.Add(row); row.ReturnFromClientWaybill = this; }