I’m trying to figure out why a block of custom code in a BPM to email tracking info upon shipment isn’t working as expected. The block of code in question is supposed to include any Salespeople listed on the Order in the Cc line. If there is only one Salesperson listed on the Order, that salesperson is included in the Cc. If there is more than one salesperson listed, none of the salespeople are included on the Cc line.
Can anyone point out the (probably) obvious error that would cause this?
// Look up each sales rep
if (orderHed.SalesRepList.IndexOf('~') > -1) {
foreach (var salesRepId in orderHed.SalesRepList.Split('~')) {
var salesReps = Db.SalesRep.Where((s) => s.Company.Equals(Session.CompanyID) && s.SalesRepCode.Equals(salesRepId) && s.AlertFlag);
foreach (var salesRep in salesReps) {
if (ccSalesReps) {
if (salesRep.EMailAddress != "" && emailCcAddress.IndexOf(salesRep.EMailAddress) == -1) {
if (emailCcAddress != "") { emailCcAddress += ";"; }
emailCcAddress += salesRep.EMailAddress;
}
}
salesRepName = salesRep.Name;
salesRepPhone = salesRep.OfficePhoneNum;
salesRepEmail = salesRep.EMailAddress;
}
}
}
else {
var salesReps = Db.SalesRep.Where((s) => s.Company.Equals(Session.CompanyID) && s.SalesRepCode.Equals(orderHed.SalesRepList));
foreach (var salesRep in salesReps) {
if (ccSalesReps) {
if (salesRep.EMailAddress != "" && emailCcAddress.IndexOf(salesRep.EMailAddress) == -1) {
if (emailCcAddress != "") { emailCcAddress += ";"; }
emailCcAddress += salesRep.EMailAddress;
}
}
salesRepName = salesRep.Name;
salesRepPhone = salesRep.OfficePhoneNum;
salesRepEmail = salesRep.EMailAddress;
}
}