Пример #1
0
        public async static Task <MaskDonationModel> Create(DataContext dataContext, MaskDonationModel maskDonationModel)
        {
            maskDonationModel.PartitionKey = partitionKey;
            maskDonationModel.CreatedOn    = DateTime.UtcNow;

            var maskDonation = maskDonationModel.ToMaskDonation();

            maskDonation.Request = await MaskRequest.Get(dataContext, maskDonation.RequestId);

            maskDonation.EditKey = Guid.NewGuid();

            dataContext.MaskDonations.Add(maskDonation);
            await dataContext.SaveChangesAsync();

            return(maskDonation.ToMaskDonationModel());
        }
Пример #2
0
        private static async Task SendDonationOnItsWayEmail(EmailSettings emailSettings, MaskDonationModel maskDonationModel)
        {
            var recipient = maskDonationModel.Request.Recipient;
            var donor     = maskDonationModel.Donor;

            var updateStatusLink = "midwesthelps.com/donationStatus";
            var donorCompany     = !string.IsNullOrEmpty(donor.Company) ? $"<br />{donor.Company}" : "";

            var htmlMessageSB = new StringBuilder(await EmailUtils.GetEmailHTMLTemplate(EmailMessageType.DonationOnItsWay));

            htmlMessageSB.Replace("{DonorName}", donor.Name)
            .Replace("{DonorEmail}", donor.Email)
            .Replace("{DonorPhone}", donor.Phone)
            .Replace("{DonorCompany}", donorCompany)
            .Replace("{MaskDetails}", getMaskDetailsForEmail(maskDonationModel.Donation))
            .Replace("{Status}", EnumUtils.GetName(DonationStatus.Received))
            .Replace("{Id}", maskDonationModel.Id.ToString())
            .Replace("{ReceivedDonationLink}", updateStatusLink);
            await EmailUtils.SendEmailAsync(emailSettings, htmlMessageSB.ToString(), $"{maskDonationModel.Donor.Name} has a donation!", "You got a donation offer", recipient.Email);
        }
Пример #3
0
        public static async Task <MaskDonationModel> CreateMaskDonation(DataContext dataContext, EmailSettings emailSettings, MaskDonationModel maskDonationModel)
        {
            var maskDonation = await MaskDonation.Create(dataContext, maskDonationModel);

            await SendDonationOnItsWayEmail(emailSettings, maskDonation);

            await EmailUtils.SendEmailAsync(emailSettings, EmailMessageType.MaskDonationSubmitted, "Your donation was submitted successfully", "Donation offer received", maskDonationModel.Donor.Email);

            return(maskDonation);
        }
Пример #4
0
 public MaskDonation(MaskDonationModel mr)
 {
     mr.ToMaskDonation();
 }
Пример #5
0
        public async static Task <MaskDonationModel> Update(DataContext dataContext, Guid id, MaskDonationModel maskDonationModel)
        {
            var maskDonation = maskDonationModel.ToMaskDonation();

            maskDonation.PartitionKey = partitionKey;
            maskDonation.Approved     = false;
            maskDonation.OriginalId   = id;
            maskDonation.Id           = Guid.NewGuid();
            maskDonation.CreatedOn    = DateTime.UtcNow;
            maskDonation.Request      = await MaskRequest.Get(dataContext, Guid.Parse(maskDonationModel.RequestId));

            await dataContext.SaveChangesAsync();

            return(maskDonation.ToMaskDonationModel());
        }