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()); }
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); }
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); }
public MaskDonation(MaskDonationModel mr) { mr.ToMaskDonation(); }
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()); }