public string DoReplacements(Person p, EmailQueueTo emailqueueto) { var pi = emailqueueto.OrgId.HasValue ? (from m in db.OrganizationMembers let ts = db.ViewTransactionSummaries.SingleOrDefault(tt => tt.RegId == m.TranId && tt.PeopleId == m.PeopleId) where m.PeopleId == emailqueueto.PeopleId && m.OrganizationId == emailqueueto.OrgId select new PayInfo { PayLink = m.PayLink2(db), Amount = ts.IndAmt, AmountPaid = ts.IndPaid, AmountDue = ts.IndDue, RegisterMail = m.RegisterEmail }).SingleOrDefault() : null; var aa = db.GetAddressList(p); if (emailqueueto.EmailQueue.CCParents ?? false) { aa.AddRange(db.GetCcList(p, emailqueueto)); } if (emailqueueto.AddEmail.HasValue()) { foreach (string ad in emailqueueto.AddEmail.SplitStr(",")) { Util.AddGoodAddress(aa, ad); } } if (emailqueueto.OrgId.HasValue && pi != null) { Util.AddGoodAddress(aa, Util.FullEmail(pi.RegisterMail, p.Name)); } ListAddresses = aa.DistinctEmails(); var noreplacements = emailqueueto.EmailQueue.NoReplacements ?? false; var texta = new List <string>(stringlist); for (var i = 1; i < texta.Count; i += 2) { if (noreplacements) { texta[i] = ""; } else { texta[i] = DoReplaceCode(texta[i], p, pi, emailqueueto); } } return(string.Join("", texta)); }
// this will run replacements in the same dataContext as the calling method // public string DoReplacements(CMSDataContext callingContext, Person p) { person = p; db = callingContext; var aa = db.GetAddressList(p); ListAddresses = aa.DistinctEmails(); var texta = new List <string>(stringlist); for (var i = 1; i < texta.Count; i += 2) { texta[i] = DoReplaceCode(texta[i], p); } return(string.Join("", texta)); }
// this will run replacements in the same dataContext as the calling method // public string DoReplacements(CMSDataContext callingContext, Person p) { person = p; db = callingContext; pi = GetPayInfo(currentOrgId ?? db.CurrentSessionOrgId, p.PeopleId); var aa = db.GetAddressList(p); ListAddresses = aa.DistinctEmails(); var texta = new List <string>(stringlist); for (var i = 1; i < texta.Count; i += 2) { texta[i] = DoReplaceCode(texta[i]); } return(string.Join("", texta)); }
// this will run replacements in the same dataContext as the calling method // public string DoReplacements(CMSDataContext callingContext, Person p) { person = p; db = callingContext; var aa = db.GetAddressList(p); ListAddresses = aa.DistinctEmails(); var texta = new List<string>(stringlist); for (var i = 1; i < texta.Count; i += 2) texta[i] = DoReplaceCode(texta[i], p); return string.Join("", texta); }
// this will run replacements in a new dataContext // public string DoReplacements(int pid, EmailQueueTo emailqueueto) { using (db = CMSDataContext.Create(connStr, host)) { if (currentOrgId.HasValue) db.SetCurrentOrgId(currentOrgId); var p = db.LoadPersonById(pid); person = p; var pi = emailqueueto.OrgId.HasValue ? (from m in db.OrganizationMembers let ts = db.ViewTransactionSummaries.SingleOrDefault(tt => tt.RegId == m.TranId && tt.PeopleId == m.PeopleId) where m.PeopleId == emailqueueto.PeopleId && m.OrganizationId == emailqueueto.OrgId select new PayInfo { PayLink = m.PayLink2(db), Amount = ts.IndAmt, AmountPaid = ts.IndPaid, AmountDue = ts.IndDue, RegisterMail = m.RegisterEmail }).SingleOrDefault() : null; var aa = db.GetAddressList(p); if (emailqueueto.EmailQueue.CCParents ?? false) aa.AddRange(db.GetCcList(p, emailqueueto)); if (emailqueueto.AddEmail.HasValue()) foreach (var ad in emailqueueto.AddEmail.SplitStr(",")) Util.AddGoodAddress(aa, ad); if (emailqueueto.OrgId.HasValue && pi != null) Util.AddGoodAddress(aa, Util.FullEmail(pi.RegisterMail, p.Name)); ListAddresses = aa.DistinctEmails(); var noreplacements = emailqueueto.EmailQueue.NoReplacements ?? false; var texta = new List<string>(stringlist); for (var i = 1; i < texta.Count; i += 2) if (noreplacements) texta[i] = ""; else texta[i] = DoReplaceCode(texta[i], p, pi, emailqueueto); db.SubmitChanges(); return string.Join("", texta); } }
// this will run replacements in a new dataContext // public string DoReplacements(int pid, EmailQueueTo emailqueueto) { using (db = CMSDataContext.Create(connStr, host)) { if (currentOrgId.HasValue) { db.SetCurrentOrgId(currentOrgId); } var p = db.LoadPersonById(pid); person = p; pi = GetPayInfo(emailqueueto.OrgId ?? currentOrgId ?? db.CurrentSessionOrgId, p.PeopleId); var aa = db.GetAddressList(p); if (emailqueueto.EmailQueue.FinanceOnly == true) { var contributionemail = (from ex in db.PeopleExtras where ex.PeopleId == p.PeopleId where ex.Field == "ContributionEmail" select ex.Data).SingleOrDefault(); if (contributionemail.HasValue()) { contributionemail = contributionemail.trim(); } if (!Util.ValidEmail(contributionemail)) { contributionemail = p.FromEmail; } aa.Clear(); aa.Add(Util.TryGetMailAddress(contributionemail)); } if (OptOuts != null && emailqueueto.EmailQueue.CCParents == true) { var pp = OptOuts.SingleOrDefault(vv => vv.PeopleId == emailqueueto.PeopleId); if (pp != null) { if (pp.HhPeopleId.HasValue && Util.ValidEmail(pp.HhEmail)) { aa.Add(new MailAddress(pp.HhEmail, pp.HhName)); emailqueueto.Parent1 = pp.HhPeopleId; } if (pp.HhSpPeopleId.HasValue && Util.ValidEmail(pp.HhSpEmail)) { aa.Add(new MailAddress(pp.HhSpEmail, pp.HhSpName)); emailqueueto.Parent2 = pp.HhSpPeopleId; } } } if (emailqueueto.AddEmail.HasValue()) { foreach (var ad in emailqueueto.AddEmail.SplitStr(",")) { Util.AddGoodAddress(aa, ad); } } if (emailqueueto.OrgId.HasValue && pi != null) { Util.AddGoodAddress(aa, Util.FullEmail(pi.RegisterMail, p.Name)); } ListAddresses = aa.DistinctEmails(); var noreplacements = emailqueueto.EmailQueue.NoReplacements ?? false; var texta = new List <string>(stringlist); for (var i = 1; i < texta.Count; i += 2) { if (noreplacements && !texta[i].StartsWith("<style")) { texta[i] = ""; } else { texta[i] = DoReplaceCode(texta[i], emailqueueto); } } db.SubmitChanges(); return(string.Join("", texta)); } }
// this will run replacements in a new dataContext // public string DoReplacements(int pid, EmailQueueTo emailqueueto) { using (db = CMSDataContext.Create(connStr, host)) { if (currentOrgId.HasValue) db.SetCurrentOrgId(currentOrgId); var p = db.LoadPersonById(pid); person = p; var pi = emailqueueto.OrgId.HasValue ? (from m in db.OrganizationMembers let ts = db.ViewTransactionSummaries.SingleOrDefault(tt => tt.RegId == m.TranId && tt.PeopleId == m.PeopleId) where m.PeopleId == emailqueueto.PeopleId && m.OrganizationId == emailqueueto.OrgId select new PayInfo { PayLink = m.PayLink2(db), Amount = ts.IndAmt, AmountPaid = ts.IndPaid, AmountDue = ts.IndDue, RegisterMail = m.RegisterEmail }).SingleOrDefault() : null; var aa = db.GetAddressList(p); if (emailqueueto.EmailQueue.FinanceOnly == true) { var contributionemail = (from ex in db.PeopleExtras where ex.PeopleId == p.PeopleId where ex.Field == "ContributionEmail" select ex.Data).SingleOrDefault(); if (contributionemail.HasValue()) contributionemail = contributionemail.trim(); if (!Util.ValidEmail(contributionemail)) contributionemail = p.FromEmail; aa.Clear(); aa.Add(Util.TryGetMailAddress(contributionemail)); } if (OptOuts != null && emailqueueto.EmailQueue.CCParents == true) { var pp = OptOuts.SingleOrDefault(vv => vv.PeopleId == emailqueueto.PeopleId); if(pp != null) { if (pp.HhPeopleId.HasValue && Util.ValidEmail(pp.HhEmail)) { aa.Add(new MailAddress(pp.HhEmail, pp.HhName)); emailqueueto.Parent1 = pp.HhPeopleId; } if (pp.HhSpPeopleId.HasValue && Util.ValidEmail(pp.HhSpEmail)) { aa.Add(new MailAddress(pp.HhSpEmail, pp.HhSpName)); emailqueueto.Parent2 = pp.HhSpPeopleId; } } } if (emailqueueto.AddEmail.HasValue()) foreach (var ad in emailqueueto.AddEmail.SplitStr(",")) Util.AddGoodAddress(aa, ad); if (emailqueueto.OrgId.HasValue && pi != null) Util.AddGoodAddress(aa, Util.FullEmail(pi.RegisterMail, p.Name)); ListAddresses = aa.DistinctEmails(); var noreplacements = emailqueueto.EmailQueue.NoReplacements ?? false; var texta = new List<string>(stringlist); for (var i = 1; i < texta.Count; i += 2) if (noreplacements && !texta[i].StartsWith("<style")) texta[i] = ""; else texta[i] = DoReplaceCode(texta[i], p, pi, emailqueueto); db.SubmitChanges(); return string.Join("", texta); } }
// this will run replacements in a new dataContext // public string DoReplacements(int pid, EmailQueueTo emailqueueto) { using (db = CMSDataContext.Create(connStr, host)) { if (currentOrgId.HasValue) { db.SetCurrentOrgId(currentOrgId); } var p = db.LoadPersonById(pid); person = p; var pi = emailqueueto.OrgId.HasValue ? (from m in db.OrganizationMembers let ts = db.ViewTransactionSummaries.SingleOrDefault(tt => tt.RegId == m.TranId && tt.PeopleId == m.PeopleId) where m.PeopleId == emailqueueto.PeopleId && m.OrganizationId == emailqueueto.OrgId select new PayInfo { PayLink = m.PayLink2(db), Amount = ts.IndAmt, AmountPaid = ts.IndPaid, AmountDue = ts.IndDue, RegisterMail = m.RegisterEmail }).SingleOrDefault() : null; var aa = db.GetAddressList(p); if (emailqueueto.EmailQueue.FinanceOnly == true) { var contributionemail = (from ex in db.PeopleExtras where ex.PeopleId == p.PeopleId where ex.Field == "ContributionEmail" select ex.Data).SingleOrDefault(); if (contributionemail.HasValue()) { contributionemail = contributionemail.trim(); } if (!Util.ValidEmail(contributionemail)) { contributionemail = p.FromEmail; } aa.Clear(); aa.Add(Util.TryGetMailAddress(contributionemail)); } if (emailqueueto.EmailQueue.CCParents ?? false) { aa.AddRange(db.GetCcList(p, emailqueueto)); } if (emailqueueto.AddEmail.HasValue()) { foreach (var ad in emailqueueto.AddEmail.SplitStr(",")) { Util.AddGoodAddress(aa, ad); } } if (emailqueueto.OrgId.HasValue && pi != null) { Util.AddGoodAddress(aa, Util.FullEmail(pi.RegisterMail, p.Name)); } ListAddresses = aa.DistinctEmails(); var noreplacements = emailqueueto.EmailQueue.NoReplacements ?? false; var texta = new List <string>(stringlist); for (var i = 1; i < texta.Count; i += 2) { if (noreplacements && !texta[i].StartsWith("<style")) { texta[i] = ""; } else { texta[i] = DoReplaceCode(texta[i], p, pi, emailqueueto); } } db.SubmitChanges(); return(string.Join("", texta)); } }