You need to sign in to do that
Don't have an account?
Apex Controller - Visualforce Email template - SOSL - Multiple Objects
Hello,
I'm trying to bring over a list of line items (Payor_Line_Item__c) to an object through lookup fields.
The Pricing_PDF__c object contains a lookup field (Customer_Pricing__c) to the Customer_Price__c object, which is the Master/Detail to the Payor_Line_items__c. The field on the Payor_Line_items__c that also contains the Customer Price Id is (Payor_Pricing_Number__c).
Since these two object contain similar Id's, I should be able to list the line items on the PDF's....right? Below is what I have so far and I marked in red what I want the code to say, but am not sure how to code it.
Any idea on how I can bring over the line items to the email teamplate?
Thanks in advance!
Visualforce Email controller component:
<messaging:emailTemplate recipientType="Contact" relatedToType="Pricing_PDF__c" subject="KCC Sales Order {!relatedTo.name}" >
<messaging:htmlEmailBody >
<br>
Dear {!recipient.name},</br>
<p>Thank you for your order.</p>
<p>Attached is Sales Order #<apex:outputText value="{!relatedTo.Name}"/>, please review,
sign and fax back at your earliest convenience. </p>
<apex:component controller="SalesOrderEmailExtension" access="global">
<apex:dataTable value="{!lineitem}" var="line">
<apex:column >
<apex:facet name="header">Customer Pricing Number</apex:facet>
{!line.Name}
</apex:column>
<apex:column >
<apex:facet name="header">Product</apex:facet>
{!line.Product__c}
</apex:column>
</apex:dataTable>
</apex:component>
</messaging:htmlEmailBody>
Controller:
public with sharing class SalesOrderEmailExtension {
public SalesOrderEmailExtension() {
}
private final List<Payor_Line_Item__c> lineitem;
private final List<Customer_Price__c> price;
private final List<Pricing_PDF__c> pdf;
public SalesOrderEmailExtension(ApexPages.StandardController controller)
{
lineitem = [select id, Name, Payor_Pricing_Number__r.Id, Product__c, Quantity__c, Total_Price__c
from Payor_Line_Item__c where Customer_Pricing__r.Id = Pricing_PDF__r.Customer_Pricing__r.Id];
}
public List<Payor_Line_Item__c> getlineitem() {
return lineitem;
}
}