public BillOptions(Core.Domain.Accounting.Bill bill, User user) { Require.NotNull(bill, "bill"); Require.NotNull(user, "user"); CanAccept = /*Die Rechnung ist noch nicht gebucht/abgerechnet*/ !bill.IsSettled && /*Der Nutzer hat die Rechnung bisher nicht akzeptiert*/ bill.UserGroupDebitors.Any( debitor => debitor.UserGroupMembership.User.Equals(user) && debitor.BillAcceptState != BillAcceptState.Accepted); CanSettle = /*Die Rechnung ist noch nicht gebucht/abgerechnet*/ !bill.IsSettled && /*Der Nutzer ist der Gläubiger der Rechnung*/ bill.Creditor.User.Equals(user) && /*Alle Nutzer müssen zugestimmt haben*/ (!bill.UserGroupDebitors.Any() || bill.UserGroupDebitors.All(deb => deb.BillAcceptState == BillAcceptState.Accepted)); CanRefuse = /*Die Rechnung ist noch nicht gebucht/abgerechnet*/ !bill.IsSettled && /*Der Nutzer hat die Rechnung bisher nicht abgelehnt*/ bill.UserGroupDebitors.Any( debitor => debitor.UserGroupMembership.User.Equals(user) && debitor.BillAcceptState != BillAcceptState.Refused); CanDelete = /*Die Rechnung ist noch nicht gebucht/abgerechnet*/ !bill.IsSettled && /*Der Nutzer hat die Rechnung bisher nicht akzeptiert*/ bill.Creditor.User.Equals(user); }
public DebitorBillViewModel(Core.Domain.Accounting.Bill bill, User user) { Require.NotNull(bill, "bill"); Require.NotNull(user, "user"); Bill = bill; User = user; }
public BillRefuseViewModel(Core.Domain.Accounting.Bill bill, User user, BillRefuseCommand billRefuseCommand) { Bill = bill; User = user; Require.NotNull(bill, "bill"); Require.NotNull(user, "user"); Require.NotNull(billRefuseCommand, "billRefuseCommand"); }
public BillShowViewModel(Core.Domain.Accounting.Bill bill, BillOptions billOptions, Core.Domain.Peanuts.Peanut createdFromPeanut) { Require.NotNull(bill, "bill"); Require.NotNull(billOptions, "billOptions"); Bill = bill; BillOptions = billOptions; CreatedFromPeanut = createdFromPeanut; }
public BillRefuseViewModel(Core.Domain.Accounting.Bill bill, User user) : this(bill, user, new BillRefuseCommand()) { }