private void AddPeopleToTransaction()
{
listMailAddress = GetEmailList();
var participants = GetParticipants(listMailAddress);
var transactionPeople = new List<TransactionPerson>();
foreach (var p in List)
{
if (p.PeopleId == null)
continue;
if (transactionPeople.Any(pp => pp.PeopleId == p.PeopleId))
continue;
var tp = new TransactionPerson
{
PeopleId = p.PeopleId.Value,
Amt = p.TotalAmount(),
OrgId = p.orgid ?? Orgid
};
tp.Donor = Transaction.Donate > 0 && p == List[donor ?? 0];
transactionPeople.Add(tp);
}
if (SupportMissionTrip && GoerId == _list[0].PeopleId)
{
// reload transaction because it is not in this context
var om = DbUtil.Db.OrganizationMembers.SingleOrDefault(mm => mm.PeopleId == GoerId && mm.OrganizationId == Orgid);
if (om != null && om.TranId.HasValue)
Transaction.OriginalId = om.TranId;
}
else
{
Transaction.OriginalTrans.TransactionPeople.AddRange(transactionPeople);
}
Transaction.Emails = listMailAddress.EmailAddressListToString();
Transaction.Participants = participants;
Transaction.TransactionDate = DateTime.Now;
}