===== Methoden ===== ==== createOrUpdateCustomer ==== String createOrUpdateCustomer (String customerKey, String customerType, String description, String companyName, String departmentName, String surname, String forename, String title, String gender, String additionalInformation, String postbox, String streetName, String streetNumber, String city, String postalCode, String country, String telephoneNumber, String cellphoneNumber, String userEmail, String iban, String bic, String ustid, String separef, String state, String keyUser, String keyContract, String keyProduct, String keyZone) Methode erzeugt ein Datenbankobjekt, falls //customerKey// gleich ''null'' ist und die ''PermissionZone.CREATE'' zulässig ist. Die Methode sucht ein existierendes Objekt, falls //customerKey// angeben wird. Wird der Datenbank eintrag mit diesem //customerKey// gefunden und ist ''PermissionZone.UDATE'' zulässig, werden **nur** die übergebenen Werte ersetzt und das Objekt gespeichert. Der Rückgabewert ist '"String'' und enthält den //customerKey//, falls die Daten persistent gemacht werden konnten. ==== deleteCustomer ==== Boolean deleteCustomer (String customerKey, String keyUser, String keyContract, String keyProduct, String keyZone) Falls der //customerKey// existiert, und die //PermissionZone.DELETE// zulässig ist, wird der Datenbank eintrag permanent gelöscht. ==== retrieveCustomer ==== Map retrieveCustomer (String customerKey, String keyUser, String keyContract, String keyProduct, String keyZone) Falls der //customerKey// existiert, und die //PermissionZone.READ// zulässig ist, wird der Datenbank in eine **Map** überführt und zurückgegeben. ==== listCustomer ==== Map listCustomers (Long offsetItems, Long maxItems, String companyName, String surname, String keyUser, String keyContract, String keyProduct, String keyZone) Es können optional Name oder Firmenname angegeben werden. Falls diese existieren, werden alle passenden Einträge zurückgegeben. Da mehrere Einträge gefunden werden können, sind die Angaben von //offsetItems// und //maxItems// obligatorisch. Die Rückgabe Map besteht aus dem //customerKey// als Schlüssel und einem gekürzten String der (falls vorhanden) Firmenname, Nachname und Emailadresse enthält. ==== createOrUpdateTariff ==== Boolean createOrUpdateTariff (String tariffName, String tariffDescription, Double factorFee, Double constantFee, Boolean recurring, Boolean usagebound, String intervall, Double upperBound, Double lowerBound, String keyUser, String keyContract, String keyProduct, String keyZone) Der obligatorische Parameter //tariffName// dient als Key! er muss eindeutg sein. Die Datenbankspalte Tariff ist nicht durch Accessparameter geschützt. Nur die Methode als solchen kann durch die Rolle gesperrt werden. Weitergehende Tests auf EIgentümer etc. werden nicht durchgeführt. ==== retrieveTariff ==== Map retrieveTariff (String tariffName, String keyUser, String keyContract, String keyProduct, String keyZone) ermittelt den Tarif //tariffName//, falls dieser vorghanden ist. Sonst liedert die Methode **null** zurück. ==== deleteTariff ==== Boolean deleteTariff (String tariffName, String keyUser, String keyContract, String keyProduct, String keyZone) Löscht einen Tarifeintrag, falls der Datensatz //tariffName// ermittelt werden kann. ==== listTariffs ==== List listTariffs (String keyUser, String keyContract, String keyProduct, String keyZone) Liefert ein List **aller** Tarifnamen zurück. Wir gehen davon aus, dass es auf absehbare Zeit kein unüberschaubarer Tarifdschungel wird? Sonst müsste eine "gepage"-te Methode implementiert werden. ==== createOrUpdateCustomerContract ==== String createOrUpdateCustomerContract (String customerContractKey, String customerContractName, String customerContractDescription, String tempestContractName, String tempestProductName, Long ts_start, Long ts_dismiss, Long ts_end, Long ts_balance, Boolean usageTermsAccepted, Boolean businessConditionsAccepted , String state, String keyUser, String keyContract, String keyProduct, String keyZone) Legt einen neuen Vertrag an oder aktualisiert dessen Daten, falls dieser vorhanden ist. ==== retrieveCustomerContract ==== Map retrieveCustomerContract (String customerContractKey, String keyUser, String keyContract, String keyProduct, String keyZone) Ermittelt die gespeicherten attribute falls zu dem Schlüssel //customerContractKey// ein Datensatz gefunden wird und die nötigen Rechte vorhanden sind. ==== listCustomerContracts ==== Map listCustomerContracts (Long offsetItems, Long maxItems, String keyUser, String keyContract, String keyProduct, String keyZone) Ermittelt die Vertäge von der Position //offsetItens// ab //maxItems// Elemente.