Created
February 27, 2019 10:23
-
-
Save adrianmi8/b43c50569d373d83dba7faea8fc36c68 to your computer and use it in GitHub Desktop.
Zenkraft - Create Shipment from Account Object via Trigger - ShipmentService
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class FedexShipmentService { | |
public static zkfedex__ShipmatePreference__c shipmatePreference { | |
get; | |
set; | |
} | |
public static BulkShipmentSettings__c settings { | |
get; | |
set; | |
} | |
public static zkfedex__QueuedShipment__c createQueuedShipment(String bulkShipmentId, Account currentAccount) { | |
zkfedex__QueuedShipment__c queuedShipment = new zkfedex__QueuedShipment__c(); | |
queuedShipment.zkfedex__BulkShipment__c = bulkShipmentId; | |
queuedShipment.zkfedex__ShipDate__c = Date.today(); | |
queuedShipment.zkfedex__DropoffType__c = dropoffTypeMap.get(shipmatePreference.zkfedex__DropoffTypeDefault__c); | |
queuedShipment.zkfedex__LabelImageType__c = shipmatePreference.zkfedex__LabelImageTypeDefault__c; | |
queuedShipment.zkfedex__Account__c = currentAccount.Id; | |
queuedShipment.zkfedex__ServiceType__c = 'Domestic: FedEx Ground'; | |
queuedShipment.zkfedex__PackagingType__c = 'Your Packaging'; | |
queuedShipment.zkfedex__WeightDimensionUnits__c = 'LB / IN'; | |
queuedShipment.zkfedex__PaymentType__c = 'Sender'; // Sender queuedShipment.zkfedex__SenderName__c = shipmatePreference.zkfedex__SenderNameDefault__c; queuedShipment.zkfedex__SenderCompany__c = shipmatePreference.zkfedex__CompanyName__c; queuedShipment.zkfedex__SenderPhone__c = shipmatePreference.zkfedex__SenderPhoneDefault__c; queuedShipment.zkfedex__SenderEmail__c = shipmatePreference.zkfedex__SenderEMailDefault__c; queuedShipment.zkfedex__SenderStreet__c = shipmatePreference.zkfedex__ShippingStreet__c; queuedShipment.zkfedex__SenderCity__c = shipmatePreference.zkfedex__ShippingCity__c; queuedShipment.zkfedex__SenderState__c = shipmatePreference.zkfedex__ShippingState__c; queuedShipment.zkfedex__SenderPostalCode__c = shipmatePreference.zkfedex__ShippingPostalCode__c; queuedShipment.zkfedex__SenderCountry__c = shipmatePreference.zkfedex__ShippingCountry__c; // Recipient queuedShipment.zkfedex__RecipientName__c = currentAccount.Name; queuedShipment.zkfedex__RecipientCompany__c = currentAccount.Name; queuedShipment.zkfedex__RecipientPhone__c = currentAccount.Phone; queuedShipment.zkfedex__RecipientEmail__c = currentAccount.Email__c; queuedShipment.zkfedex__RecipientStreet__c = currentAccount.ShippingStreet; queuedShipment.zkfedex__RecipientCity__c = currentAccount.ShippingCity; queuedShipment.zkfedex__RecipientState__c = currentAccount.ShippingState; queuedShipment.zkfedex__RecipientPostalCode__c = currentAccount.ShippingPostalCode; queuedShipment.zkfedex__RecipientCountry__c = currentAccount.ShippingCountry; return queuedShipment; } public static zkfedex__ShipmatePreference__c getShipmatePreference() { return [ SELECT Id, Name, zkfedex__FedExAccountNumber__c, zkfedex__FedExMeterNumber__c, zkfedex__EncryptedFedExMeterNumber__c, zkfedex__SubscriptionDataEncrypted__c, zkfedex__GenericFedExEndUserKey__c, zkfedex__GenericFedExEndUserPassword__c, zkfedex__EncryptedGenericFedExEndUserKey__c, zkfedex__EncryptedGenericFedExEndUserPasswd__c, zkfedex__GenericCredentialsEncrypted__c, zkfedex__CompanyName__c, zkfedex__ShippingStreet__c, zkfedex__ShippingCity__c, zkfedex__ShippingState__c, zkfedex__ShippingPostalCode__c, zkfedex__ShippingCountry__c, zkfedex__ShippingIsResidential__c, zkfedex__BillingStreet__c, zkfedex__BillingCity__c, zkfedex__BillingState__c, zkfedex__BillingPostalCode__c, zkfedex__BillingCountry__c, zkfedex__LabelImageTypeDefault__c, zkfedex__EMailMessageDefault__c, zkfedex__SendEMailNotificationToShipper__c, zkfedex__SendEMailNotificationToRecipient__c, zkfedex__EMailNotifyOnExceptionDefault__c, zkfedex__EMailNotifyOnDeliveryDefault__c, zkfedex__SenderNameDefault__c, zkfedex__SenderEMailDefault__c, zkfedex__SenderPhoneDefault__c, zkfedex__DetailedViewShipmatePreferenceList__c, zkfedex__DetailedViewReUsePackageList__c, zkfedex__AccountIsSetupForSmartPostOutbound__c, zkfedex__AccountIsSetupForSmartPostReturns__c, zkfedex__SmartPostHubId__c, zkfedex__DropoffTypeDefault__c FROM zkfedex__ShipmatePreference__c WHERE Name = :settings.Preference_Name__c LIMIT 1]; } public static Id createBulkShipment() { zkfedex__BulkShipment__c shipment = new zkfedex__BulkShipment__c(); shipment.zkfedex__ShipmatePreference__c = shipmatePreference.Id; insert shipment; return shipment.Id; } public static String processShipments(Id bulkShipmentId) { return zkfedex.BulkShipmentInterface.processBulkShipment(bulkShipmentId); } private static Map<String,String> dropoffTypeMap = new Map<String,String> { 'BUSINESS_SERVICE_CENTER' => 'Business Service Center', 'DROP_BOX' => 'Drop Box', 'REGULAR_PICKUP' => 'Regular Pickup', 'REQUEST_COURIER' => 'Request Courier', 'STATION' => 'Station' };} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment