Exemple #1
0
        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");
            }
        }
Exemple #2
0
 public OrderController()
 {
     customerRepository  = new CustomerRepository();
     orderRepository     = new OrderRepository();
     inventoryRepository = new InventoryRepository();
     emailLibrary        = new EmailLibrary();
 }
Exemple #3
0
 public OrderController()
 {
     CustomerRepository  = new CustomerRepository();
     OrderRepository     = new OrderRepository();
     InventoryRepository = new InventoryRepository();
     EmailLibrary        = new EmailLibrary();
 }
Exemple #4
0
        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);
            }
        }
Exemple #5
0
        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);
        }
Exemple #6
0
 public OrderController(
     CustomerRepository customerRepository,
     OrderRepository orderRepository,
     InventoryRepository inventoryRepository,
     EmailLibrary emailLibrary)
 {
     CustomerRepository  = customerRepository;
     OrderRepository     = orderRepository;
     InventoryRepository = inventoryRepository;
     EmailLibrary        = emailLibrary;
 }
Exemple #7
0
        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();
            }
        }
Exemple #8
0
        /// <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);
        }
Exemple #9
0
        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();
            }
        }
Exemple #10
0
        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();
                }
            }
        }
Exemple #11
0
        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();
            }
        }
Exemple #12
0
        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);
            }
        }
Exemple #13
0
 static void Main(string[] args)
 {
     string trackingId = SendMessage();
     GetEmailDispositionResponse response = EmailLibrary.GetEmailDisposition(trackingId);
 }