Example #1
0
        private void MapCampaignDonor(DonationAdminModel model, CampaignDonor campaignDonor)
        {
            campaignDonor.Amount = model.Amount;
            campaignDonor.FirstName = model.FirstName;
            campaignDonor.LastName = model.LastName;
            campaignDonor.Email = model.Email;
            campaignDonor.PrimaryPhone = model.PrimaryPhone;
            campaignDonor.AddressLine1 = model.AddressLine1;
            campaignDonor.AddressLine2 = model.AddressLine2;
            campaignDonor.City = model.City;
            campaignDonor.State = model.State;
            campaignDonor.ZipCode = model.ZipCode;
            campaignDonor.IsAnonymous = model.IsAnonymous;
            campaignDonor.Approved = model.IsApproved;

            if (campaignDonor.CampaignID != model.CampaignID)
            {
                var oldCampaign = campaignDonor.Campaign;
                var newCampaign = campaignRepository.GetCampaignByID(model.CampaignID);

                if (newCampaign == null)
                {
                    return;
                }

                oldCampaign.CampaignDonors.Remove(campaignDonor);
                newCampaign.CampaignDonors.Add(campaignDonor);
            }
        }
Example #2
0
        private DonationDetailsModel SendNotifications(Campaign campaign, CampaignDonor donation, Payment payment)
        {
            // Send receipt of payment to user
            var mailerModel = Mapper.Map<CampaignDonor, DonationDetailsModel>(donation);
            mailerModel.Title = campaign.Title;
            mailerModel.UrlSlug = campaign.UrlSlug;
            mailerModel.PaymentType = payment.PaymentType == PaymentType.CC ? "Credit/Debit Card" : "Electronic Check";
            mailerModel.TransactionType = payment.TransactionType;

            var organization = campaign.Organization;
            var bcc = organization.GetSetting(OrgSettingKeys.DONATION_NOTIFICATION_ADDRESS);

            if (bcc != null)
            {
                mailerModel.DonorNotificationEmail = bcc.Value;
            }

            donateMailer.UserDonation(mailerModel).SendAsync();

            // Send notification to campaign owner
            mailerModel.Email = campaign.UserProfile.Email;
            donateMailer.CampaignDonation(mailerModel).SendAsync();
            return mailerModel;
        }
Example #3
0
 private static void UpdateUserProfile(UserProfile userProfile, CampaignDonor donation)
 {
     userProfile.AddressLine1 = donation.AddressLine1;
     userProfile.AddressLine2 = donation.AddressLine2;
     userProfile.City = donation.City;
     userProfile.State = donation.State;
     userProfile.PrimaryPhone = donation.PrimaryPhone;
     userProfile.ZipCode = donation.ZipCode;
 }
Example #4
0
 private DonationAdminModel MapAdminModel(CampaignDonor campaignDonor)
 {
     var model = Mapper.Map<CampaignDonor, DonationAdminModel>(campaignDonor);
     var campaign = campaignDonor.Campaign;
     model.CampaignID = campaign.CampaignID;
     model.CampaignTitle = campaign.Title;
     model.UserProfileID = campaignDonor.UserProfileID;
     return model;
 }
Example #5
0
        public ActionResult Create(DonationAdminModel model)
        {
            if (!ModelState.IsValid)
            {
                TempData["ModelErrors"] = FindModelErrors();
                TempData["DonationAdminModel"] = model;
                return RedirectToAction("New");
            }

            CampaignDonor campaignDonor;

            using (new UnitOfWorkScope())
            {
                campaignDonor = new CampaignDonor
                                    {
                                        Amount = model.Amount,
                                        FirstName = model.FirstName,
                                        LastName = model.LastName,
                                        AddressLine1 = model.AddressLine1,
                                        AddressLine2 = model.AddressLine2,
                                        City = model.City,
                                        State = model.State,
                                        ZipCode = model.ZipCode,
                                        Email = model.Email,
                                        PrimaryPhone = model.PrimaryPhone,
                                        Approved = model.IsApproved,
                                        IsAnonymous = model.IsAnonymous
                                    };

                var campaign = campaignRepository.GetCampaignByID(model.CampaignID);
                campaign.CampaignDonors.Add(campaignDonor);
                var userProfile = userProfileRepository.FindUserProfileByEmail(model.Email).FirstOrDefault();

                if (userProfile != null)
                {
                    userProfile.CampaignDonors.Add(campaignDonor);
                }

                campaignDonorRepository.Save();
            }

            TempData["UserFeedback"] = string.Format("{0} {1}'s donation of {2} has been created successfully.",
                campaignDonor.FirstName, campaignDonor.LastName, campaignDonor.Amount);
            return RedirectToAction("Admin", new { id = campaignDonor.CampaignDonorID });
        }
Example #6
0
 private static void PopulateDisplayName(CampaignDonor donation)
 {
     if (donation.IsAnonymous && string.IsNullOrEmpty(donation.DisplayName))
     {
         donation.DisplayName = "Anonymous";
     }
     else if (!donation.IsAnonymous && string.IsNullOrEmpty(donation.DisplayName))
     {
         donation.DisplayName = string.Format("{0} {1}", donation.FirstName, donation.LastName);
     }
 }
 public void Add(CampaignDonor campaignDonor)
 {
     ObjectContext.CampaignDonors.Add(campaignDonor);
 }
 public void Delete(CampaignDonor campaignDonor)
 {
     ObjectContext.CampaignDonors.Remove(campaignDonor);
 }
 private void ResendNotification(CampaignDonor donation)
 {
     var mailerModel = Mapper.Map<CampaignDonor, DonationDetailsModel>(donation);
     var campaign = donation.Campaign;
     mailerModel.Title = campaign.Title;
     mailerModel.UrlSlug = campaign.UrlSlug;
     mailerModel.TransactionType = TransactionType.OneTime;
     donateMailer.UserDonation(mailerModel).SendAsync();
 }
        private void Arrange()
        {
            organization = EntityHelpers.GetValidOrganization();
            organization.UserProfiles = new List<UserProfile>();
            organization.CauseTemplates = new List<CauseTemplate>();
            organization.Campaigns = new List<Campaign>();
            organizationRepository.Add(organization);
            organizationRepository.Save();

            userProfile = EntityHelpers.GetValidUserProfile();
            userProfile.Users = new List<User>();
            userProfile.Campaigns = new List<Campaign>();
            userProfile.UserProfileService = new UserProfileService(new UserProfileRepository());
            organization.UserProfiles.Add(userProfile);
            organizationRepository.Save();

            user = EntityHelpers.GetValidUser();
            userProfile.Users.Add(user);
            organizationRepository.Save();

            causeTemplate = EntityHelpers.GetValidCauseTemplate();
            causeTemplate.Campaigns = new List<Campaign>();
            organization.CauseTemplates.Add(causeTemplate);
            organizationRepository.Save();

            campaign = EntityHelpers.GetValidCampaign();
            campaign.CampaignService = new CampaignService(new CampaignRepository());
            organization.Campaigns.Add(campaign);
            userProfile.Campaigns.Add(campaign);
            causeTemplate.Campaigns.Add(campaign);
            campaignRepository.Save();

            campaignDonor = EntityHelpers.GetValidCampaignDonor();
            campaign.CampaignDonors = new List<CampaignDonor>();
            campaign.CampaignDonors.Add(campaignDonor);
            userProfile.CampaignDonors = new List<CampaignDonor>();
            userProfile.CampaignDonors.Add(campaignDonor);
            campaignDonorRepository.Save();
        }
 public void Delete(CampaignDonor campaignDonor)
 {
     donors.Remove(campaignDonor);
 }
 public void Add(CampaignDonor campaignDonor)
 {
     campaignDonor.CampaignDonorID = donors.Count + 1;
     donors.Add(campaignDonor);
 }
 public void AddDonor(CampaignDonor donor)
 {
     ObjectContext.CampaignDonors.Add(donor);
 }