コード例 #1
0
 public virtual void InsertAndEmail(InvoiceDto invoice, int templateUid, EmailMessageDto emailMessage)
 {
     TasksRunner tasksRunner = new TasksRunner(this.WSAccessKey, this.FileUid);
     tasksRunner.Tasks.Add(this.CreateInsertTask(invoice, templateUid, emailMessage));
     this.HandleInsertResult(tasksRunner.Execute(), invoice);
     invoice.IsSent = true;	//	Reaches here - no error. Assume invoice has been sent successfully.
 }
コード例 #2
0
        public void Insert1()
        {
            InvoiceProxy proxy = new InvoiceProxy();
            InvoiceDto dto1 = this.GetSale1();

            EmailMessageDto emailMessage = new EmailMessageDto();
            emailMessage.From = ConfigurationSettings.AppSettings["NUnitTests.Email.From"];
            emailMessage.To = ConfigurationSettings.AppSettings["NUnitTests.Email.To"];
            emailMessage.Subject = "Invoice - Sent using NetAccounts OLA REST API (TestInsertAndEmail).";
            emailMessage.Body = "Insert Invoice then email.";

            proxy.InsertAndEmail(dto1, emailMessage);

            Assert.IsTrue(dto1.Uid > 0, "Uid must be > 0 after save.");

            //
            //	Ensure IsSent is updated.
            //
            dto1 = (InvoiceDto)proxy.GetByUid(dto1.Uid);
            Assert.IsTrue(dto1.IsSent, "Invoice should have been sent.");
        }
コード例 #3
0
        public void InsertAndEmailUsingShippingSlipTemplate()
        {
            InvoiceProxy proxy = new InvoiceProxy();

            InvoiceDto dto1 = this.GetServiceSale();

            EmailMessageDto emailMessage = new EmailMessageDto();
            emailMessage.From = ConfigurationSettings.AppSettings["NUnitTests.Email.From"];
            emailMessage.To = ConfigurationSettings.AppSettings["NUnitTests.Email.To"];
            emailMessage.Subject = "Insert And Email: Shipping slip Template";
            emailMessage.Body = "Insert Invoice then email.";

            proxy.InsertAndEmail(dto1, this.ShippingTemplateUid, emailMessage);

            Assert.IsTrue(dto1.Uid > 0, "Uid must be > 0 after save.");

            //
            //	Ensure IsSent is updated.
            //
            dto1 = (InvoiceDto)proxy.GetByUid(dto1.Uid);
            Assert.IsTrue(dto1.IsSent, "Invoice should have been sent.");
        }
コード例 #4
0
        public void InsertAndEmailUsingInvalidTemplate()
        {
            InvoiceProxy proxy = new InvoiceProxy();

            InvoiceDto dto1 = this.GetServiceSale();

            EmailMessageDto emailMessage = new EmailMessageDto();
            emailMessage.From = ConfigurationSettings.AppSettings["NUnitTests.Email.From"];
            emailMessage.To = ConfigurationSettings.AppSettings["NUnitTests.Email.To"];
            emailMessage.Subject = "Insert And Email: Template Not Specified";
            emailMessage.Body = "Insert Invoice then email.";

            try
            {
                proxy.InsertAndEmail(dto1, 99999, emailMessage);
                throw new Exception("Expected exception not thrown.");
            }
            catch (RestException rex)
            {
                Assert.AreEqual("Unable to find the requested  template.", rex.Message, "Incorrect error message.");
            }
        }
コード例 #5
0
        public void EmailPdfInvoiceUsingSpecificTemplate()
        {
            InvoiceProxy proxy = new InvoiceProxy();
            InvoiceDto saleInfo = this.GetItemSale();
            proxy.Insert(saleInfo);

            EmailMessageDto emailMessage = new EmailMessageDto();
            emailMessage.From = ConfigurationSettings.AppSettings["NUnitTests.Email.From"];
            emailMessage.To = ConfigurationSettings.AppSettings["NUnitTests.Email.To"];
            emailMessage.Subject = "Invoice - Sent using NetAccounts OLA REST API.";
            emailMessage.Body = "Hello World. This email is sent using NetAccounts WSAPI";

            proxy.Email(saleInfo.Uid, this.IncTaxTemplateUid, emailMessage);
        }
コード例 #6
0
        public void UpdateAndEmail()
        {
            InvoiceProxy proxy = new InvoiceProxy();

            InvoiceDto dto1 = this.GetServiceSale();
            proxy.Insert(dto1);

            int invoiceUid = dto1.Uid;
            string lastUpdatedUid = dto1.LastUpdatedUid;
            string invoiceNumber = dto1.InvoiceNumber;

            dto1 = this.GetServiceSale2();
            dto1.Uid = invoiceUid;
            dto1.LastUpdatedUid = lastUpdatedUid;
            dto1.InvoiceNumber = invoiceNumber;

            EmailMessageDto emailMessage = new EmailMessageDto();
            emailMessage.From = ConfigurationSettings.AppSettings["NUnitTests.Email.From"];
            emailMessage.To = ConfigurationSettings.AppSettings["NUnitTests.Email.To"];
            emailMessage.Subject = "Invoice - Sent using NetAccounts OLA REST API (TestUpdateAndEmail).";
            emailMessage.Body = "Update Invoice then email.";

            proxy.UpdateAndEmail(dto1, this.IncTaxTemplateUid, emailMessage);

            InvoiceDto dto2 = (InvoiceDto)proxy.GetByUid(dto1.Uid);

            AssertEqual(dto1, dto2);
        }
コード例 #7
0
 protected virtual ITask CreateEmailTask(int invoiceUid, int templateUid, EmailMessageDto emailMessage)
 {
     EmailPdfInvoiceTask task = new EmailPdfInvoiceTask();
     task.InvoiceUid = invoiceUid;
     task.TemplateUid = templateUid;
     task.EmailMessage = emailMessage;
     return task;
 }
コード例 #8
0
 public void InsertAndEmail(InvoiceDto invoice, EmailMessageDto emailMessage)
 {
     this.InsertAndEmail(invoice, 0, emailMessage);
 }
コード例 #9
0
 public virtual void Email(int invoiceUid, int templateUid, EmailMessageDto emailMessage)
 {
     TasksRunner tasksRunner = new TasksRunner(this.WSAccessKey, this.FileUid);
     tasksRunner.Tasks.Add(this.CreateEmailTask(invoiceUid, templateUid, emailMessage));
     this.HandleEmailResult(tasksRunner.Execute());
 }
コード例 #10
0
 public virtual void Email(int invoiceUid, EmailMessageDto emailMessage)
 {
     Email(invoiceUid, 0 /* Use default template */, emailMessage);
 }
コード例 #11
0
 protected virtual ITask CreateUpdateTask(InvoiceDto invoice, int templateUid, EmailMessageDto emailMessage)
 {
     UpdateInvoiceTask task = (UpdateInvoiceTask) base.CreateUpdateTask(invoice);
     task.EmailToContact = true;
     task.TemplateUid = templateUid;
     task.EmailMessage = emailMessage;
     return task;
 }