public void AcceptBill(Bill bill, User debitor, User user, string billUrl, string settleBillUrl) { Require.NotNull(bill, "bill"); Require.NotNull(debitor, "debitor"); if (!bill.IsSettled) { BillAcceptState?billAcceptState = bill.GetDebitorState(debitor); if (billAcceptState != null && billAcceptState != BillAcceptState.Accepted) { bill.AcceptByDebitor(debitor, new EntityChangedDto(user, DateTime.Now)); if (bill.HasEveryoneAccepted) { NotificationService.SendBillAcceptedNotification(bill, billUrl, settleBillUrl); } } } else { throw new InvalidOperationException("Die Rechnung kann nicht akzeptiert werden da diese bereits abgerechnet wurde."); } }