本文整理汇总了C#中CmsData.CMSDataContext.Email方法的典型用法代码示例。如果您正苦于以下问题:C# CMSDataContext.Email方法的具体用法?C# CMSDataContext.Email怎么用?C# CMSDataContext.Email使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CmsData.CMSDataContext
的用法示例。
在下文中一共展示了CMSDataContext.Email方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Add
public static Person Add(CMSDataContext Db, bool SendNotices, Family fam, int position, Tag tag, string firstname, string nickname, string lastname, string dob, int MarriedCode, int gender, int originId, int? EntryPointId, bool testing = false)
{
var p = new Person();
p.CreatedDate = Util.Now;
p.CreatedBy = Util.UserId;
Db.People.InsertOnSubmit(p);
p.PositionInFamilyId = position;
p.AddressTypeId = 10;
if (Util.HasValue(firstname))
p.FirstName = firstname.Trim().ToProper().Truncate(25);
else
p.FirstName = "";
if (Util.HasValue(nickname))
p.NickName = nickname.Trim().ToProper().Truncate(15);
if (Util.HasValue(lastname))
p.LastName = lastname.Trim().ToProper().Truncate(30);
else
p.LastName = "?";
p.GenderId = gender;
if (p.GenderId == 99)
p.GenderId = 0;
p.MaritalStatusId = MarriedCode;
DateTime dt;
if (Util.BirthDateValid(dob, out dt))
{
if (dt.Year == Util.SignalNoYear)
{
p.BirthDay = dt.Day;
p.BirthMonth = dt.Month;
p.BirthYear = null;
}
else
{
while (dt.Year < 1900)
dt = dt.AddYears(100);
if (dt > Util.Now)
dt = dt.AddYears(-100);
p.BirthDay = dt.Day;
p.BirthMonth = dt.Month;
p.BirthYear = dt.Year;
}
if (p.GetAge() < 18 && MarriedCode == 0)
p.MaritalStatusId = MaritalStatusCode.Single;
}
// I think this else statement is no longer necessary
else if (DateTime.TryParse(dob, out dt))
{
p.BirthDay = dt.Day;
p.BirthMonth = dt.Month;
if (Regex.IsMatch(dob, @"\d+[-/]\d+[-/]\d+"))
{
p.BirthYear = dt.Year;
while (p.BirthYear < 1900)
p.BirthYear += 100;
if (p.GetAge() < 18 && MarriedCode == 0)
p.MaritalStatusId = MaritalStatusCode.Single;
}
}
p.MemberStatusId = MemberStatusCode.JustAdded;
if (fam == null)
{
fam = new Family();
Db.Families.InsertOnSubmit(fam);
p.Family = fam;
}
else
fam.People.Add(p);
if (tag != null)
tag.PersonTags.Add(new TagPerson { Person = p });
p.OriginId = originId;
p.EntryPointId = EntryPointId;
p.FixTitle();
if(Db.Setting("ElectronicStatementDefault", "false").Equal("true"))
p.ElectronicStatement = true;
if (!testing)
Db.SubmitChanges();
if (SendNotices)
{
if (Util.UserPeopleId.HasValue
&& Util.UserPeopleId.Value != Db.NewPeopleManagerId
&& HttpContext.Current.User.IsInRole("Access")
&& !HttpContext.Current.User.IsInRole("OrgMembersOnly")
&& !HttpContext.Current.User.IsInRole("OrgLeadersOnly"))
Task.AddNewPerson(Db, p.PeopleId);
else
{
var np = Db.GetNewPeopleManagers();
if (np != null)
Db.Email(Util.SysFromEmail, np,
$"Just Added Person on {Db.Host}",
$"<a href='{Db.ServerLink("/Person2/" + p.PeopleId)}'>{p.Name}</a>");
}
//.........这里部分代码省略.........
示例2: DoGiving
public int DoGiving(CMSDataContext db)
{
var total = (from a in db.RecurringAmounts
where a.PeopleId == PeopleId
where a.ContributionFund.FundStatusId == 1
where a.ContributionFund.OnlineSort != null
select a.Amt).Sum();
if (!total.HasValue || total == 0)
return 0;
var paymentInfo = db.PaymentInfos.Single(x => x.PeopleId == PeopleId);
var preferredType = paymentInfo.PreferredGivingType;
var gw = GetGateway(db, paymentInfo);
var orgid = (from o in db.Organizations
where o.RegistrationTypeId == RegistrationTypeCode.ManageGiving
select o.OrganizationId).FirstOrDefault();
var t = new Transaction
{
TransactionDate = DateTime.Now,
TransactionId = "started",
First = Person.FirstName,
MiddleInitial = Person.MiddleName.Truncate(1) ?? "",
Last = Person.LastName,
Suffix = Person.SuffixCode,
Amt = total,
Description = "Recurring Giving",
Testing = false,
TransactionGateway = gw.GatewayType,
Financeonly = true,
PaymentType = preferredType,
LastFourCC = preferredType == PaymentType.CreditCard ? paymentInfo.MaskedCard.Last(4) : null,
LastFourACH = preferredType == PaymentType.Ach ? paymentInfo.MaskedAccount.Last(4) : null,
OrgId = orgid,
};
db.Transactions.InsertOnSubmit(t);
db.SubmitChanges();
var ret = gw.PayWithVault(PeopleId, total ?? 0, "Recurring Giving", t.Id, preferredType);
t.Message = ret.Message;
t.AuthCode = ret.AuthCode;
t.Approved = ret.Approved;
t.TransactionId = ret.TransactionId;
var gift = db.Setting("NameForPayment", "gift");
var church = db.Setting("NameOfChurch", db.CmsHost);
var q = from a in db.RecurringAmounts
where a.PeopleId == PeopleId
select a;
var tot = q.Where(aa => aa.ContributionFund.FundStatusId == 1).Sum(aa => aa.Amt);
t.TransactionPeople.Add(new TransactionPerson
{
PeopleId = Person.PeopleId,
Amt = tot,
});
var notify = db.RecurringGivingNotifyPersons();
var from = Util.TryGetMailAddress(notify[0].EmailAddress);
if (ret.Approved)
{
foreach (var a in q)
{
if (a.ContributionFund.FundStatusId == 1 && a.ContributionFund.OnlineSort != null && a.Amt > 0)
Person.PostUnattendedContribution(db, a.Amt ?? 0, a.FundId, "Recurring Giving", tranid: t.Id);
}
NextDate = FindNextDate(Util.Now.Date.AddDays(1));
db.SubmitChanges();
if (tot > 0)
{
var msg = db.Content("RecurringGiftNotice") ?? new Content
{ Title = $"Recurring {gift} for {{church}}",
Body = "Your gift of {total} was processed this morning." };
var subject = msg.Title.Replace("{church}", church);
var body = msg.Body.Replace("{total}", $"${tot:N2}");
var m = new EmailReplacements(db, body, from);
body = m.DoReplacements(db, Person);
db.EmailFinanceInformation(from, Person, null, subject, body);
}
}
else
{
db.SubmitChanges();
var msg = db.Content("RecurringGiftFailedNotice") ?? new Content
{ Title = $"Recurring {gift} for {{church}} did not succeed",
Body = @"Your payment of {total} failed to process this morning.<br>
The message was '{message}'.
Please contact the Finance office at the church." };
var subject = msg.Title.Replace("{church}", church);
var body = msg.Body.Replace("{total}", $"${tot:N2}")
.Replace("{message}", ret.Message);
var m = new EmailReplacements(db, body, from);
body = m.DoReplacements(db, Person);
db.Email(from, Person, null, subject, body, false);
foreach (var p in db.RecurringGivingNotifyPersons())
//.........这里部分代码省略.........
示例3: Add
public static Person Add(CMSDataContext Db, bool SendNotices, Family fam, int position, Tag tag, string firstname, string nickname, string lastname, string dob, int MarriedCode, int gender, int originId, int? EntryPointId, bool testing = false)
{
var p = new Person();
p.CreatedDate = Util.Now;
p.CreatedBy = Util.UserId;
Db.People.InsertOnSubmit(p);
p.PositionInFamilyId = position;
p.AddressTypeId = 10;
if (firstname.HasValue())
p.FirstName = firstname.Trim().ToProper().Truncate(25);
else
p.FirstName = "";
if (nickname.HasValue())
p.NickName = nickname.Trim().ToProper().Truncate(15);
if (lastname.HasValue())
p.LastName = lastname.Trim().ToProper().Truncate(30);
else
p.LastName = "?";
p.GenderId = gender;
if (p.GenderId == 99)
p.GenderId = 0;
p.MaritalStatusId = MarriedCode;
DateTime dt;
if (Util.DateValid(dob, out dt))
{
while (dt.Year < 1900)
dt = dt.AddYears(100);
if (dt > Util.Now)
dt = dt.AddYears(-100);
p.BirthDay = dt.Day;
p.BirthMonth = dt.Month;
p.BirthYear = dt.Year;
if (p.GetAge() < 18 && MarriedCode == 0)
p.MaritalStatusId = MaritalStatusCode.Single;
}
else if (DateTime.TryParse(dob, out dt))
{
p.BirthDay = dt.Day;
p.BirthMonth = dt.Month;
if (Regex.IsMatch(dob, @"\d+[-/]\d+[-/]\d+"))
{
p.BirthYear = dt.Year;
while (p.BirthYear < 1900)
p.BirthYear += 100;
if (p.GetAge() < 18 && MarriedCode == 0)
p.MaritalStatusId = MaritalStatusCode.Single;
}
}
p.MemberStatusId = MemberStatusCode.JustAdded;
if (fam == null)
{
fam = new Family();
Db.Families.InsertOnSubmit(fam);
p.Family = fam;
}
else
fam.People.Add(p);
var PrimaryCount = fam.People.Where(c => c.PositionInFamilyId == PositionInFamily.PrimaryAdult).Count();
if (PrimaryCount > 2 && p.PositionInFamilyId == PositionInFamily.PrimaryAdult)
p.PositionInFamilyId = PositionInFamily.SecondaryAdult;
if (tag != null)
tag.PersonTags.Add(new TagPerson { Person = p });
p.OriginId = originId;
p.EntryPointId = EntryPointId;
p.FixTitle();
if (!testing)
Db.SubmitChanges();
if (SendNotices)
{
if (Util.UserPeopleId.HasValue
&& Util.UserPeopleId.Value != Db.NewPeopleManagerId
&& HttpContext.Current.User.IsInRole("Access")
&& !HttpContext.Current.User.IsInRole("OrgMembersOnly")
&& !HttpContext.Current.User.IsInRole("OrgLeadersOnly"))
Task.AddNewPerson(p.PeopleId);
else
Db.Email(Util.SysFromEmail, Db.GetNewPeopleManagers(),
"Just Added Person on " + Db.Host, "{0} ({1})".Fmt(p.Name, p.PeopleId));
}
return p;
}