Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        public DebitorBillViewModel(Core.Domain.Accounting.Bill bill, User user)
        {
            Require.NotNull(bill, "bill");
            Require.NotNull(user, "user");

            Bill = bill;
            User = user;
        }
Ejemplo n.º 3
0
 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");
 }
Ejemplo n.º 4
0
        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;
        }
Ejemplo n.º 5
0
 public BillRefuseViewModel(Core.Domain.Accounting.Bill bill, User user) : this(bill, user, new BillRefuseCommand())
 {
 }