petshop-10-services.spp
petshop/membership/petshop-10-services.spp
Download original file · Petstore source contents
1domain petshop;23atomic check checkCustomerProfile(Buyer) {4require(Buyer.name != null && Buyer.name != "", "NAME_REQUIRED");5require(Buyer.email != null && Buyer.email != "", "EMAIL_REQUIRED");6require(Buyer.address != null && Buyer.address != "", "ADDRESS_REQUIRED");7require(Buyer.tier == MemberTier.NORMAL || Buyer.tier == MemberTier.VIP, "INVALID_MEMBER_TIER");8}910atomic calculate registerCustomer(Buyer, Cart) {11Buyer.wallet = 0;12Cart.buyer = Buyer;13Cart.lines = new CartLine[] {14};15}1617atomic calculate updateProfile(ProfileAgreement, Buyer) {18Buyer.name = ProfileAgreement.newName;19Buyer.email = ProfileAgreement.newEmail;20Buyer.address = ProfileAgreement.newAddress;21Buyer.tier = ProfileAgreement.newTier;22}2324atomic check checkNewCustomer(Buyer) {25require(!Buyer, "CUSTOMER_EXISTS");26}2728atomic check checkBuyerCredential(Buyer) {29require(Buyer.membershipNumber != null && Buyer.membershipNumber != "", "MEMBERSHIP_NUMBER_REQUIRED");30}3132atomic calculate locateBuyerCart(Buyer, Cart) {33Cart.buyer = Buyer;34}