public bool SaveEmailReviewLearnerRecord(ReviewMessageDTO token) { try { var html = ReviewDto2LearnerMessageHtml(token); if (String.IsNullOrEmpty(html)) { return(false); } var entity = token.Learner.ReviewDto2EmailMessage(FROM, REVIEW_LEARNER_SUBJECT, html); EmailMessageRepository.Add(entity); EmailMessageRepository.UnitOfWork.CommitAndRefreshChanges(); return(true); } catch (Exception ex) { Logger.Error("Save review author email record", token.Author.id, ex, CommonEnums.LoggerObjectTypes.Email); return(false); } }
public void TestInitialize() { _context = new DbTestContext(Settings.Default.MainConnectionString); _fixture = new Fixture(); _messages = new EmailMessageRepository(new SqlProcedureExecutor(Settings.Default.MainConnectionString)); }
public bool SaveEmailNotificationRecord(NotificationMessageDTO token) { try { var html = NotificationDto2Html(token); if (String.IsNullOrEmpty(html)) { return(false); } var entity = token.NotificationDto2EmailMessage(FROM, DISCUSSION_SUBJECT, html); EmailMessageRepository.Add(entity); EmailMessageRepository.UnitOfWork.CommitAndRefreshChanges(); return(true); } catch (Exception ex) { Logger.Error("Save email record", token.UserId, ex, CommonEnums.LoggerObjectTypes.Email); return(false); } }
/// <summary> /// A simple function that takes a string and does a ToUpper /// </summary> /// <param name="input"></param> /// <param name="context"></param> /// <returns></returns> public async Task FunctionHandler(string input, ILambdaContext context) { IAmazonSQS sqsClient = new AmazonSQSClient(); ISqsAdapter sqsAdapter = new SqsAdapter(sqsClient, ""); IAmazonS3 s3Client = new AmazonS3Client(); IS3Adapter s3Adapter = new S3Adapter(s3Client); IEmailMessageRepository emailMessageRepository = new EmailMessageRepository(sqsAdapter, s3Adapter); IAmazonSimpleEmailService sesClient = new AmazonSimpleEmailServiceClient(); IEmailDeliveryConfig emailConfig = new EmailDeliveryConfig() { FromAddress = "" }; ISESAdapter sesAdapter = new SESAdapter(sesClient, emailConfig); IEmailMessageDelivery messageDelivery = new EmailMessageDelivery(sesAdapter); IEmailQueueProcessor emailProcessor = new EmailQueueProcessor(emailMessageRepository, messageDelivery); var emptyProcesses = 0; while (emptyProcesses <= 3 && context.RemainingTime > TimeSpan.FromSeconds(30)) { var count = await emailProcessor.ProcessEmailMessages(); if (count == 0) { emptyProcesses++; } } }
private static DefaultEmailingProcessor GetDefaultEmailingProcessor( int partitionId, ISqlProcedureExecutor executor, IMessageBuilder messageBuilder) { var emails = new EmailMessageRepository(executor); var mailSender = new DbMailSender(partitionId, emails, new Serializer()); return(new DefaultEmailingProcessor(mailSender, messageBuilder)); }
private static void RunMailSenderJob(string connectionString, int partitionId) { var serializer = new Serializer(); var executor = new SqlProcedureExecutor(connectionString); var messages = new EmailMessageRepository(executor); var mailConfiguration = new MailConfiguration(); var sender = new MailSender(mailConfiguration); var job = new MailSenderJob(messages, partitionId, sender, serializer); job.Work(); }
public bool SendEmailWithAttachment(long emailId, MemoryStream stream, out string error) { var entity = EmailMessageRepository.GetById(emailId); if (entity != null) { return(SendRawEmail(entity, stream, out error)); } error = "email message entity not found"; return(false); }
public bool SendEmail(long emailId, out string error) { var entity = EmailMessageRepository.GetById(emailId); if (entity != null) { return(SendEmail(entity, out error)); } error = "email message entity not found"; return(false); }
private void SaveMessage(EmailMessageDTO messageToken, out long emailId) { try { var entity = messageToken.Dto2EmailMesageEntity(); EmailMessageRepository.Add(entity); EmailMessageRepository.UnitOfWork.CommitAndRefreshChanges(); emailId = entity.EmailId; } catch (Exception ex) { emailId = -1; Logger.Error("save email message", null, ex, CommonEnums.LoggerObjectTypes.Email); } }
private static void RunEuroCourseJob(string connectionString) { var serializer = new Serializer(); var executor = new SqlProcedureExecutor(connectionString); var settings = new SettingRepository(executor, serializer); var httpClient = new HttpClient(); var emailMessageRepository = new EmailMessageRepository(executor); var mailSender = new DbMailSender(PartitionIdForOtherMails, emailMessageRepository, serializer); var courseSource = new CourseSourceFailPolicy( new CourseSourceRetryPolicy( new CourseSource(httpClient), CourseSourceAttempts, JobsLogger, CourseSourceRetryPolicyPeriod), mailSender, EmailsHelper.DefaultFrom, EmailsHelper.SupportEmail); new EuroCourseJob(settings, courseSource, serializer, PreviousRunEuroCourseJobRubTime).Work(); }
public List <NotificationMessageDTO> GetMessageNotifications(long messageId) { return(EmailMessageRepository.GetMessageNotifications(messageId).Select(x => x.Entity2NotificationMessageDto()).ToList()); }