Untitled
unknown
plain_text
2 years ago
9.2 kB
10
Indexable
public without sharing class B2BCheckoutHelper { @AuraEnabled(cacheable=true) public static Map<String,object> gatherBillingAddress(String cartId) { try { String accountId = [SELECT accountId FROM WebCart WHERE id = :cartId].accountId; List<ContactPointAddress> addressList = [SELECT name,street,city,state,country,addressType,postalCode,parent.name FROM contactPointAddress WHERE parentId=:accountId]; List<ContactPointAddress> billingAddress = new List<ContactPointAddress>(); List<ContactPointAddress> shippingAddress = new List<ContactPointAddress>(); Map<String,object> result = new Map<String,Object>(); for(contactPointAddress address: addressList) { if(address.addressType == 'Billing') { billingAddress.add(address); } else if(address.addressType == 'Shipping') { shippingAddress.add(address); } } result.put('billingAddress',billingAddress); result.put('shippingAddress',shippingAddress); result.put('accountId',accountId); return result; } catch (Exception e) { throw new AuraHandledException('Gather Billing Address Error:'+e.getMessage()); } } @AuraEnabled public static string insertAddress(Map<String,Object> dataMap) { try { ContactPointAddress cpa = new ContactPointAddress(); cpa.name = 'Address Entered By User:'; cpa.city = String.valueOf(dataMap.get('city')); cpa.state = String.valueOf(dataMap.get('state')); cpa.street= String.valueOf(dataMap.get('street')); cpa.country = String.valueOf(dataMap.get('country')); cpa.postalCode = String.valueOf(dataMap.get('postalCode')); cpa.addressType= 'Shipping'; if(String.valueOf(dataMap.get('saveAddress')) == 'true') { cpa.parentId = String.valueOf(dataMap.get('accountId')); } insert cpa; return cpa.id; } catch (Exception e) { throw new AuraHandledException('Insert Address Error:'+e.getMessage()); } } @AuraEnabled public static string updateBillingAddress(String billingAddressId,string accountId,String cartId){ try { ContactPointAddress cpa = [SELECT name,street,city,state,country,postalCode FROM contactPointAddress WHERE id=:billingAddressId]; WebCart cart = [SELECT billingCity,billingState,billingStreet,billingCountry,billingPostalCode FROM WebCart WHERE id=:cartId ]; cart.billingStreet = cpa.street; cart.billingCity = cpa.city; cart.billingPostalCode = cpa.postalCode; cart.billingState = cpa.state; cart.billingCountry = cpa.country; update cart; return 'Billing Address updated in cart'+ cartId; } catch (Exception e) { throw new AuraHandledException('Update billing address failed:'+e.getMessage()); } } @AuraEnabled public static string updateShippingAddress(String shippingAddressId,String accountId,String cartId) { try{ ContactPointAddress cpa = [SELECT name,street,city,state,country,postalCode FROM contactPointAddress WHERE id=:shippingAddressId]; CartDeliveryGroup Cgroup = [SELECT deliverToName,deliverTostreet,deliverTocity,deliverTostate,deliverToCountry,deliverToPostalCode FROM cartDeliveryGroup WHERE cartId =:cartId]; Cgroup.deliverToName = cpa.name; Cgroup.deliverTostreet = cpa.street; Cgroup.deliverTocity = cpa.city; Cgroup.deliverTostate = cpa.state; Cgroup.deliverToCountry = cpa.country; Cgroup.deliverToPostalCode = cpa.postalCode; update Cgroup; return 'Cart Group Update SuccessFull'; } catch(Exception e) { throw new AuraHandledException('Update Shipping Address Failed:'+e.getMessage()); } } @AuraEnabled(cacheable= true) public static Map<String,Object> getCartDetails(String cartId) { WebCart cart = [SELECT id,AccountId,Account.name,Account.Phone,billingCity,billingState,billingStreet,billingCountry,billingPostalCode, (SELECT deliverToName,deliverTostreet,deliverTocity,deliverTostate,deliverToCountry,deliverToPostalCode FROM cartDeliveryGroups) FROM WebCart WHERE id = :cartId]; /**String accountId = cart.AccountId; Account account = [SELECT id,name,Phone FROM Account WHERE id =: accountId]; CartDeliveryGroup cgroup = [SELECT deliverToName,deliverTostreet,deliverTocity,deliverTostate,deliverToCountry,deliverToPostalCode FROM cartDeliveryGroup WHERE cartId =:cartId];**/ Map<String,object> billingAddress = new Map<String,Object>(); billingAddress.put('street',cart.billingStreet); billingAddress.put('city',cart.billingCity); billingAddress.put('state',cart.billingState); billingAddress.put('country',cart.billingCountry); billingAddress.put('postalCode',cart.BillingPostalCode); Map<string,Object> shippingAddress = new Map<String,Object>(); shippingAddress.put('street',cart.cartDeliveryGroups.get(0).deliverToStreet); shippingAddress.put('city',cart.cartDeliveryGroups.get(0).deliverToCity); shippingAddress.put('state',cart.cartDeliveryGroups.get(0).deliverToState); shippingAddress.put('country',cart.cartDeliveryGroups.get(0).deliverToCountry); shippingAddress.put('postalCode',cart.cartDeliveryGroups.get(0).deliverToPostalCode); Map<String,object> accountDetails = new Map<String,Object>(); accountDetails.put('name',cart.Account.name); accountDetails.put('phone',cart.Account.phone); accountDetails.put('id',cart.AccountId); Map<String,Object> result = new Map<String,Object>(); result.put('billingAddress',billingAddress); result.put('shippingAddress',shippingAddress); result.put('accountDetails',accountDetails); return result; } @AuraEnabled public static ConnectApi.CartItemCollection getCartItems(string communityId,String accountId,String cartId) { String webStoreId = B2BUtils.resolveCommunityIdToWebstoreId(communityId); return ConnectApi.Commercecart.getcartItems(webStoreId,accountId,cartId); } @AuraEnabled public static Map<String,Object> billingaddressMap(String cartId) { try { WebCart cart= [SELECT billingCity,billingState,billingStreet,billingCountry,billingPostalCode FROM WebCart WHERE id=:cartId]; Map<String,Object> billingAddressmap = new Map<String,Object>(); billingAddressMap.put('billingCity',cart.billingCity); billingAddressMap.put('billingState',cart.billingState); billingAddressMap.put('billingStreet',cart.billingStreet); billingAddressMap.put('billingCountry',cart.billingCountry); billingAddressMap.put('billingPostalCode',cart.billingPostalCode); return billingAddressMap; } catch (Exception e) { throw new AuraHandledException(e.getMessage()); } } @AuraEnabled public static Map<String,Object> shippingAddressMap(String cartId){ try { CartDeliveryGroup cgroup = [SELECT deliverToName,deliverTostreet,deliverTocity,deliverTostate,deliverToCountry,deliverToPostalCode FROM cartDeliveryGroup WHERE cartId =:cartId]; Map<String,Object> shippingAddressMap = new Map<String,Object>(); shippingAddressMap.put('deliverTostreet',cgroup.deliverTostreet); shippingAddressMap.put('deliverTocity',cgroup.deliverTocity); shippingAddressMap.put('deliverTostate',cgroup.deliverTostate); shippingAddressMap.put('deliverToCountry',cgroup.deliverToCountry); shippingAddressMap.put('deliverToPostalCode',cgroup.deliverToPostalCode); return shippingAddressMap; } catch (Exception e) { throw new AuraHandledException(e.getMessage()); } } @AuraEnabled(cacheable=true) public static string getAddressDetails(String cpaId){ try { ContactPointAddress cpa = [SELECT street,city,state,country,postalcode FROM contactPointAddress WHERE id =:cpaId]; String address= cpa.Street +' '+cpa.city+ ' '+cpa.state+' '+cpa.country+' '+cpa.postalcode; return address; } catch (Exception e) { throw new AuraHandledException(e.getMessage()); } } }
Editor is loading...