public void PlaceOrder(Customer customer, Order order, Payment payment, bool allowSplitOrders, bool emailReceipt) { customerRepository = new CustomerRepository(); customerRepository.Add(customer); orderRepository = new OrderRepository(); orderRepository.Add(order); inventoryRepository = new InventoryRepository(); inventoryRepository.OrderItems(order, allowSplitOrders); payment.ProcessPayment(); if (emailReceipt) { customer.ValidateEmail(); customerRepository.Update(); emailLibrary = new EmailLibrary(); emailLibrary.SendEmail(customer.EmailAddress, "Here is your receipt"); } }
public OrderController() { customerRepository = new CustomerRepository(); orderRepository = new OrderRepository(); inventoryRepository = new InventoryRepository(); emailLibrary = new EmailLibrary(); }
public OrderController() { CustomerRepository = new CustomerRepository(); OrderRepository = new OrderRepository(); InventoryRepository = new InventoryRepository(); EmailLibrary = new EmailLibrary(); }
private void OnTestSuiteCompletedSendResult(object sender, EventArgs e) { TestSuite.TestSuiteCompleted -= this.OnTestSuiteCompletedSendResult; var currentTestSuiteStatus = TestReport.CurrentTestSuiteActivity; var reportFile = CreateReports(); if (this.SendEmailOnFailure && currentTestSuiteStatus.Status == ActivityStatus.Failed || this.SendEmailOnSuccess && currentTestSuiteStatus.Status == ActivityStatus.Success || this.SendZippedReportOnComplete && !this.SendEmailOnFailure && !this.SendEmailOnSuccess || this.SendPdfReportOnComplete && !this.SendEmailOnFailure && !this.SendEmailOnSuccess) { EmailLibrary.SendEmail( this.Subject, this.To, this.From, this.Body, reportFile, this.ServerHostname, int.Parse(this.ServerPort), this.UseSSL, this.Username, this.Password); } }
static string SendMessage() { Message message = new Message(); message.Recipients = new string[] { "*****@*****.**" }; Content content = new Content(); Header header = new Header(); Attachment attachment = new Attachment(); List <Attachment> listAttachments = new List <Attachment>(); attachment.FileName = "hello_world.txt"; attachment.ContentType = "text/plain"; attachment.Content = "SGVsbG8gV29ybGQh\n"; listAttachments.Add(attachment); header.Subject = "Test Mail from C#"; header.From = "*****@*****.**"; content.PlainText = "Hello Again"; message.Header = header; message.Content = content; message.Attachments = listAttachments; SendMessageResponse response = EmailLibrary.SendMessage(message); return(response.SourceTrackingId); }
public OrderController( CustomerRepository customerRepository, OrderRepository orderRepository, InventoryRepository inventoryRepository, EmailLibrary emailLibrary) { CustomerRepository = customerRepository; OrderRepository = orderRepository; InventoryRepository = inventoryRepository; EmailLibrary = emailLibrary; }
public void TestSendMessage_ReturnSuccess(Message testMsg) { var actualResponse = EmailLibrary.SendMessage(testMsg); if (actualResponse == null || actualResponse.Data == null || actualResponse.SourceTrackingId == null) { Assert.Fail(); } else if (actualResponse.Errors != null && actualResponse.Errors.Count > 0) { Assert.Pass(); } }
/// <summary> /// Places a customer order /// </summary> /// <param name="customer"></param> /// <param name="order"></param> /// <param name="payment"></param> /// <param name="allowSplitOrders"></param> /// <param name="emailReceipt"></param> /// <returns></returns> public OperationResult PlaceOrder(Customer customer, Order order, Payment payment, bool allowSplitOrders, bool emailReceipt) { Debug.Assert(customerRepository != null, "Missing customer repository instance"); Debug.Assert(orderRepository != null, "Missing order repository instance"); Debug.Assert(inventoryRepository != null, "Missing inventory repository instance"); //Debug.Assert(emailLibrary != null, "Missing email library instance"); if (customer == null) { throw new ArgumentNullException("Customer instance is null"); } if (order == null) { throw new ArgumentNullException("Order instance is null"); } if (payment == null) { throw new ArgumentNullException("Payment instance is null"); } var operationResult = new OperationResult(); customerRepository.Add(customer); orderRepository.Add(order); inventoryRepository.OrderItems(order, allowSplitOrders); payment.ProcessPayment(); if (emailReceipt) { var result = customer.ValidateEmail(); if (result.Success == true) { customerRepository.Update(); EmailLibrary.SendEmail(customer.EmailAddress, "Here is your reciept"); } else { //log the message if (result.MessageList.Any()) { operationResult.AddMessage(result.MessageList[0]); } } } return(operationResult); }
public void TestSendMessage_ReturnError(Message testMsg) { var actualResponse = EmailLibrary.SendMessage(testMsg); if (actualResponse != null) { if (actualResponse.Errors != null && actualResponse.Errors.Count > 0) { Assert.Pass(); } else { Assert.Fail(); } } else { Assert.Fail(); } }
public void TestGetEmailDisposition_ReturnError(string sourceTrackingId) { var actualResponse = EmailLibrary.GetEmailDisposition(sourceTrackingId); if (actualResponse == null || actualResponse.Errors == null || actualResponse.Errors.Count <= 0) { Assert.Fail(); } else { if (string.IsNullOrWhiteSpace(actualResponse.Errors[0].Title)) { Assert.Fail(); } else { Assert.Pass(); } } }
public void TestGetEmailDisposition_ReturnSuccess(string sourceTrackingId) { var actualResponse = EmailLibrary.GetEmailDisposition(sourceTrackingId); if (actualResponse == null || actualResponse.Data == null || actualResponse.Data.Message == null || string.IsNullOrWhiteSpace(actualResponse.Data.Message.Id)) { Assert.Fail(); } else if (actualResponse.Errors != null && actualResponse.Errors.Count > 0) { Assert.Fail(); } else if (actualResponse.Data.Message.Message_Deliveries != null && actualResponse.Data.Message.Message_Deliveries.Count > 0) { Assert.Pass(); } else { Assert.Fail(); } }
private void OnTestSuiteCompletedSendResult(object sender, EventArgs e) { var currentTestSuiteStatus = TestReport.CurrentTestSuiteActivity; var zippedReportFile = string.Empty; if (bool.Parse(this.SendZippedReportOnComplete)) { //Necessary to end the Ranorex Report in order to update the duration and finalize the status TestReport.EndTestModule(); Report.End(); // zip the current report var zippedReportFileDirectory = TestReport.ReportEnvironment.ReportFileDirectory; var name = TestReport.ReportEnvironment.ReportName; TestReport.SaveReport(); Report.Zip(TestReport.ReportEnvironment, zippedReportFileDirectory, name); Report.Info("Zipped report has been generated."); zippedReportFile = string.Format("{0}\\{1}.rxzlog", zippedReportFileDirectory, TestReport.ReportEnvironment.ReportName); } if ((bool.Parse(this.SendEmailOnFailure) && currentTestSuiteStatus.Status == ActivityStatus.Failed) || (bool.Parse(this.SendEmailOnSuccess) && currentTestSuiteStatus.Status == ActivityStatus.Success) || (bool.Parse(this.SendZippedReportOnComplete) && !bool.Parse(this.SendEmailOnFailure) && !bool.Parse(this.SendEmailOnSuccess))) { EmailLibrary.SendEmail( this.Subject, this.To, this.From, this.Body, zippedReportFile, this.ServerHostname, int.Parse(this.ServerPort), bool.Parse(this.UseSSL), this.Username, this.Password); } }
static void Main(string[] args) { string trackingId = SendMessage(); GetEmailDispositionResponse response = EmailLibrary.GetEmailDisposition(trackingId); }