Пример #1
0
        public ActionResult Resend(int id)
        {
            var email = (from e in CurrentDatabase.EmailQueues
                         where e.Id == id
                         select e).Single();
            var et = email.EmailQueueTos.First();
            var p  = CurrentDatabase.LoadPersonById(et.PeopleId);

            if (email.FinanceOnly == true)
            {
                CurrentDatabase.EmailFinanceInformation(email.FromAddr, p, email.Subject, email.Body);
            }
            else
            {
                CurrentDatabase.Email(email.FromAddr, p, email.Subject, email.Body);
            }

            Util.TempSuccessMessage = "Mail Resent";
            return(RedirectToAction("Details", new { id }));
        }
Пример #2
0
        private ConfirmEnum DoOnlineGiving(string transactionReturn)
        {
            var p = List[0];

            if (p.IsNew)
            {
                p.AddPerson(null, p.org.EntryPointId ?? 0);
            }

            var desc  = $"{p.person.Name}; {p.person.PrimaryAddress}; {p.person.PrimaryZip}";
            var staff = CurrentDatabase.StaffPeopleForOrg(org.OrganizationId)[0];
            var body  = GivingConfirmation.PostAndBuild(CurrentDatabase, staff, p.person, p.setting.Body, p.org.OrganizationId, p.FundItemsChosen(), Transaction, desc,
                                                        p.setting.DonationFundId);

            if (!Transaction.TransactionId.HasValue())
            {
                Transaction.TransactionId = transactionReturn;
                if (testing == true && !Transaction.TransactionId.Contains("(testing)"))
                {
                    Transaction.TransactionId += "(testing)";
                }
            }
            var contributionemail = (from ex in p.person.PeopleExtras
                                     where ex.Field == "ContributionEmail"
                                     select ex.Data).SingleOrDefault();

            if (contributionemail.HasValue())
            {
                contributionemail = (contributionemail ?? "").Trim();
            }

            if (Util.ValidEmail(contributionemail))
            {
                Log("UsingSpecialEmail");
            }
            else
            {
                contributionemail = p.person.FromEmail;
            }

            MailAddress from = null;

            if (!Util.TryGetMailAddress(CurrentDatabase.StaffEmailForOrg(p.org.OrganizationId), out from))
            {
                from = GetAdminMailAddress(CurrentDatabase);
            }

            var m = new EmailReplacements(CurrentDatabase, body, from);

            body = m.DoReplacements(CurrentDatabase, p.person);

            CurrentDatabase.EmailFinanceInformation(from, p.person, p.setting.Subject, body);
            CurrentDatabase.EmailFinanceInformation(contributionemail, CurrentDatabase.StaffPeopleForOrg(p.org.OrganizationId),
                                                    "online giving contribution received",
                                                    $"see contribution records for {p.person.Name} ({p.PeopleId}) {CurrentDatabase.Host}");
            if (p.CreatingAccount)
            {
                p.CreateAccount();
            }

            return(ConfirmEnum.Confirm);
        }