From 33613a85afc4b1481367fbe92a17ee59c240250b Mon Sep 17 00:00:00 2001 From: Sven Eisenhauer Date: Fri, 10 Nov 2023 15:11:48 +0100 Subject: add new repo --- .../h_da/library/reminder/usecase/Reminding.html | 262 +++++++++++++++++++++ 1 file changed, 262 insertions(+) create mode 100644 Master/Reference Architectures and Patterns/doc/de/h_da/library/reminder/usecase/Reminding.html (limited to 'Master/Reference Architectures and Patterns/doc/de/h_da/library/reminder/usecase/Reminding.html') diff --git a/Master/Reference Architectures and Patterns/doc/de/h_da/library/reminder/usecase/Reminding.html b/Master/Reference Architectures and Patterns/doc/de/h_da/library/reminder/usecase/Reminding.html new file mode 100644 index 0000000..bc38483 --- /dev/null +++ b/Master/Reference Architectures and Patterns/doc/de/h_da/library/reminder/usecase/Reminding.html @@ -0,0 +1,262 @@ + + + + + + +Reminding + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +de.h_da.library.reminder.usecase +
+Interface Reminding

+
+
+
public interface Reminding
+ + +

+[usecase] This use case comprises all functionality concerned with the + reminding / dunning process of the library. +

+ +

+


+ +

+ + + + + + + + + + + + + + + + +
+Method Summary
+ voidcloseReminder(int invoiceId) + +
+          [command] Closes a reminder, e.g. due to the reception of the reminder + fee.
+ voidsendReminders() + +
+          [command] Daily batch to detect all overdue loans, generate reminders and + corresponding invoices.
+  +

+ + + + + + + + +
+Method Detail
+ +

+closeReminder

+
+void closeReminder(int invoiceId)
+
+
[command] Closes a reminder, e.g. due to the reception of the reminder + fee. +

+

+
Parameters:
invoiceId - id of the invoice sent due to the reminder + +
+     [pre exists Reminder r: r.invoiceId == invoiceId
+      pre r.status == ReminderStatus.ACTIVE
+      post r.status == ReminderStatus.CLOSED
+     ]
+ 
+
+
+
+ +

+sendReminders

+
+void sendReminders()
+
+
[command] Daily batch to detect all overdue loans, generate reminders and + corresponding invoices. + + + +
+    [post 
+       foreach Loan l (l.dueDate < current date // book is overdue
+         && !exists Reminder rem: rem.loan.equals(l)):  // and not yet reminded  
+         exists new Invoice i:  // has been newly created by this method
+           i.date is current date 
+           && i.subject.equals("Library Reminder")
+           && i.name.equals(l.customer.name)
+           && i.address.equals(l.customer.address)
+           && i.amount == 300  // EUR 3,00 reminder fee per book
+         && exists new Reminder r: // has been newly created by this method
+           r.loan == l  // the loan that caused the reminder
+           && r.fee == 300  // EUR 3,00 reminder fee per book
+           && r.issueDate is current date
+           && r.dueDate is current date + 20 days
+           && r.invoiceId == i.id
+           && r.status == ReminderStatus.ACTIVE
+    ]      
+ 
+

+

+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ + + -- cgit v1.2.3