public MessagingMessageModel GetMailMessage(Guid templateId, Dictionary <string, string> values) { MessagingTemplateContent messageTemplate = this.GetAvailableMessageTemplate(templateId); if (messageTemplate == null) { throw new InvalidOperationException(String.Format("Invalid Email Template: {0}", templateId)); } MessagingMessage message = new MessagingMessage() { Id = Guid.NewGuid(), MessagingTemplateContentId = messageTemplate.Id, MessagingSubject = databindingHelper.bind(messageTemplate.MessagingSubject, values), MessagingFromName = databindingHelper.bind(messageTemplate.MessagingFromName, values), MessagingFromEmailAddress = databindingHelper.bind(messageTemplate.MessagingFromEmailAddress, values), MessagingTo = databindingHelper.bind(messageTemplate.MessagingTo, values), MessagingCc = databindingHelper.bind(messageTemplate.MessagingCc, values), MessagingBcc = databindingHelper.bind(messageTemplate.MessagingBcc, values), MessagingContent = databindingHelper.bind(messageTemplate.MessagingContent, values), Tags = messageTemplate.Tags, IsSent = false, IsMarkedAsRead = false, SentDate = null, CreatedDate = DateTime.UtcNow }; this.UnitOfWork.MessagingMessageRepository.Insert(message); this.UnitOfWork.SaveChanges(); MessagingMessageModel model = Mapper.Map <MessagingMessage, MessagingMessageModel>(message); return(model); }
public TemplateContentModel SaveMailTemplateContent(TemplateContentModel contentDto) { if (contentDto != null) { if (contentDto.Id != null && contentDto.Id != Guid.Empty) { MessagingTemplateContent templateContentEntity = AutoMapper.Mapper.Map <TemplateContentModel, MessagingTemplateContent>(contentDto); this.UnitOfWork.MessagingTemplateContentRepository.Update(templateContentEntity, x => x.MessagingFromName, x => x.MessagingFromEmailAddress, x => x.MessagingTo, x => x.MessagingCc, x => x.MessagingBcc, x => x.MessagingSubject, x => x.MessagingContent, x => x.Tags, x => x.Lang, x => x.IsPublish, x => x.FromDate, x => x.EndDate, x => x.MessagingTemplateId); } else { contentDto.Id = Guid.NewGuid(); contentDto.CreatedDate = DateTime.UtcNow; MessagingTemplateContent templateContentEntity = AutoMapper.Mapper.Map <TemplateContentModel, MessagingTemplateContent>(contentDto); this.UnitOfWork.MessagingTemplateContentRepository.Insert(templateContentEntity); } this.UnitOfWork.SaveChanges(); return(GetMailTemplateContent(contentDto.Id)); } else { throw new NullReferenceException(); } }
private MessagingTemplateContent GetAvailableMessageTemplate(Guid templateId) { DateTime today = DateTime.UtcNow; MessagingTemplateContent messageContent = this.UnitOfWork.MessagingTemplateContentRepository.GetAll().Where(x => x.MessagingTemplateId == templateId && x.IsPublish == true && x.FromDate < today && (x.EndDate == null || x.EndDate > today)).FirstOrDefault(); return(messageContent); }
public TemplateContentModel GetMailTemplateContent(Guid contentId) { MessagingTemplateContent templateContent = this.UnitOfWork.MessagingTemplateContentRepository.GetById(contentId); TemplateContentModel contentDto = AutoMapper.Mapper.Map <MessagingTemplateContent, TemplateContentModel>(templateContent); return(contentDto); }