diff --git a/AyaNovaQBI/AyaNovaQBI.csproj b/AyaNovaQBI/AyaNovaQBI.csproj
index 0601548..2f8cb6d 100644
--- a/AyaNovaQBI/AyaNovaQBI.csproj
+++ b/AyaNovaQBI/AyaNovaQBI.csproj
@@ -111,6 +111,12 @@
SetQBChargeAs.cs
+
+ Form
+
+
+ SetQBClass.cs
+
Form
@@ -158,6 +164,9 @@
SetQBChargeAs.cs
+
+ SetQBClass.cs
+
SetWOStatus.cs
diff --git a/AyaNovaQBI/SetQBClass.Designer.cs b/AyaNovaQBI/SetQBClass.Designer.cs
new file mode 100644
index 0000000..7d99ff0
--- /dev/null
+++ b/AyaNovaQBI/SetQBClass.Designer.cs
@@ -0,0 +1,127 @@
+namespace AyaNovaQBI
+{
+ partial class SetQBClass
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.btnOK = new System.Windows.Forms.Button();
+ this.btnCancel = new System.Windows.Forms.Button();
+ this.lblTitle = new System.Windows.Forms.Label();
+ this.lblDescription = new System.Windows.Forms.Label();
+ this.lblStatus = new System.Windows.Forms.Label();
+ this.cbQBClasses = new System.Windows.Forms.ComboBox();
+ this.SuspendLayout();
+ //
+ // btnOK
+ //
+ this.btnOK.Location = new System.Drawing.Point(550, 368);
+ this.btnOK.Name = "btnOK";
+ this.btnOK.Size = new System.Drawing.Size(75, 23);
+ this.btnOK.TabIndex = 6;
+ this.btnOK.Text = "OK";
+ this.btnOK.UseVisualStyleBackColor = true;
+ this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
+ //
+ // btnCancel
+ //
+ this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
+ this.btnCancel.Location = new System.Drawing.Point(4, 368);
+ this.btnCancel.Name = "btnCancel";
+ this.btnCancel.Size = new System.Drawing.Size(75, 23);
+ this.btnCancel.TabIndex = 5;
+ this.btnCancel.Text = "Cancel";
+ this.btnCancel.UseVisualStyleBackColor = true;
+ //
+ // lblTitle
+ //
+ this.lblTitle.Dock = System.Windows.Forms.DockStyle.Top;
+ this.lblTitle.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.lblTitle.Location = new System.Drawing.Point(0, 0);
+ this.lblTitle.Name = "lblTitle";
+ this.lblTitle.Size = new System.Drawing.Size(637, 30);
+ this.lblTitle.TabIndex = 7;
+ //
+ // lblDescription
+ //
+ this.lblDescription.Dock = System.Windows.Forms.DockStyle.Top;
+ this.lblDescription.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.lblDescription.Location = new System.Drawing.Point(0, 30);
+ this.lblDescription.Name = "lblDescription";
+ this.lblDescription.Size = new System.Drawing.Size(637, 165);
+ this.lblDescription.TabIndex = 8;
+ //
+ // lblStatus
+ //
+ this.lblStatus.AutoSize = true;
+ this.lblStatus.Dock = System.Windows.Forms.DockStyle.Top;
+ this.lblStatus.Location = new System.Drawing.Point(0, 195);
+ this.lblStatus.Name = "lblStatus";
+ this.lblStatus.Size = new System.Drawing.Size(0, 13);
+ this.lblStatus.TabIndex = 10;
+ //
+ // cbQBClasses
+ //
+ this.cbQBClasses.Dock = System.Windows.Forms.DockStyle.Top;
+ this.cbQBClasses.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.cbQBClasses.FormattingEnabled = true;
+ this.cbQBClasses.Location = new System.Drawing.Point(0, 208);
+ this.cbQBClasses.Name = "cbQBClasses";
+ this.cbQBClasses.Size = new System.Drawing.Size(637, 21);
+ this.cbQBClasses.TabIndex = 11;
+ //
+ // SetQBClass
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.CancelButton = this.btnCancel;
+ this.ClientSize = new System.Drawing.Size(637, 403);
+ this.Controls.Add(this.cbQBClasses);
+ this.Controls.Add(this.lblStatus);
+ this.Controls.Add(this.lblDescription);
+ this.Controls.Add(this.lblTitle);
+ this.Controls.Add(this.btnOK);
+ this.Controls.Add(this.btnCancel);
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
+ this.Name = "SetQBClass";
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
+ this.Text = "SetQBClass";
+ this.Load += new System.EventHandler(this.SetQBClass_load);
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.Button btnOK;
+ private System.Windows.Forms.Button btnCancel;
+ private System.Windows.Forms.Label lblTitle;
+ private System.Windows.Forms.Label lblDescription;
+ private System.Windows.Forms.Label lblStatus;
+ private System.Windows.Forms.ComboBox cbQBClasses;
+ }
+}
\ No newline at end of file
diff --git a/AyaNovaQBI/SetQBClass.cs b/AyaNovaQBI/SetQBClass.cs
new file mode 100644
index 0000000..bac9732
--- /dev/null
+++ b/AyaNovaQBI/SetQBClass.cs
@@ -0,0 +1,49 @@
+using System;
+using System.Data;
+using System.Windows.Forms;
+
+namespace AyaNovaQBI
+{
+ public partial class SetQBClass : Form
+ {
+ public SetQBClass()
+ {
+ InitializeComponent();
+ }
+
+
+ public string DialogTitle { get; set; }
+
+ public string OptionTitle { get; set; }
+
+ public string OptionDescription { get; set; }
+
+
+ public DataTable QBClasses { get; set; }
+ public string SelectedQBClass { get; set; }
+
+
+ private void SetQBClass_load(object sender, EventArgs e)
+ {
+ Text = DialogTitle;
+ lblDescription.Text = OptionDescription;
+ lblTitle.Text = OptionTitle;
+ btnCancel.Text = util.AyaTranslations["Cancel"];
+ btnOK.Text = util.AyaTranslations["OK"];
+
+ cbQBClasses.DataSource = QBClasses;
+ cbQBClasses.DisplayMember = "FullName";
+ cbQBClasses.ValueMember = "ID";
+ // cbQBClasses.SelectedValue = SelectedQBClass;
+ lblStatus.Text = "QuickBooks transaction class";
+ }
+
+
+ private void btnOK_Click(object sender, EventArgs e)
+ {
+
+ DialogResult = DialogResult.OK;
+ Close();
+ }
+ }
+}
diff --git a/AyaNovaQBI/SetQBClass.resx b/AyaNovaQBI/SetQBClass.resx
new file mode 100644
index 0000000..29dcb1b
--- /dev/null
+++ b/AyaNovaQBI/SetQBClass.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/AyaNovaQBI/util.cs b/AyaNovaQBI/util.cs
index 1f842e9..ac10378 100644
--- a/AyaNovaQBI/util.cs
+++ b/AyaNovaQBI/util.cs
@@ -983,354 +983,355 @@ namespace AyaNovaQBI
#endregion
- // #region QB Transaction class
- // //Validate any existing
- // if (SetEverything == false && QDat.TransactionClass != null && QDat.TransactionClass != "")
- // {
- // //if something is set but there are no tr classes
- // //then just clear it and move along
- // if (QBClasses.Rows.Count == 1)
- // {
- // QDat.TransactionClass = TRANSACTION_CLASS_NO_CLASS_SELECTED;//case 3268
- // goto TRCLASSOK;
- // }
-
- // //Something is set and there *are* tr classes so
- // //let's validate it...
-
- // if (QBClasses.Rows.Contains(QDat.TransactionClass))
- // goto TRCLASSOK;
- // else
- // {
- // MessageBox.Show("The QuickBooks transaction class previously set for invoicing\r\n" +
- // "no longer appears to be valid. You will next be prompted to re-select it.");
- // }
- // }
-
- // //Perhaps there are no transaction classes, this is the default
- // //if not then don't prompt for it obviously :)
- // //also if it was empty and were not in first setup mode then
- // //don't bother prompting it might be the users choice.
-
- // //case 3228 commented out the following as it's a bad idea
- // //if (QBClasses.Rows.Count == 1 || SetEverything == false)
- // // goto TRCLASSOK;
-
-
- // //We've arrived here because there is no setting for transaction classes
- // //but there are some defined in QB
- // SetQBClass s3 = new SetQBClass();
- // s3.DialogTitle = "AyaNova QBI setup - Transaction class";
- // s3.OptionTitle = "Transaction class";
- // s3.OptionDescription = "QBI needs to know what QuickBooks Transaction Class you want \r\n" +
- // "to use when invoicing Work orders.\r\n\r\n" +
- // "If you do not use transaction classes or are not sure what they are\r\n" +
- // "select < Do not use classes> from the list below. Classes are off by default in QuickBooks.\r\n\r\n" +
- // "This setting is Optional and not required.";
- // s3.QBClasses = QBClasses;
-
- // if (s3.ShowDialog() == DialogResult.Cancel)
- // {
- // return pfstat.Cancel;
-
- // }
- // else
- // QDat.TransactionClass = s3.SelectedQBClass;
- // s3.Dispose();
- // s3 = null;
-
- //TRCLASSOK:
-
- // #endregion
-
- // #region QB InvoiceTemplate
- // //Templates are only supported in xml 3 or greater (all countries)
- // //if Set everything (first run) then display a dialog about it
- // if (QVersion < 3 && SetEverything == true)
- // {
-
- // SetInfoOnly s3a = new SetInfoOnly();
- // s3a.DialogTitle = "AyaNova QBI setup - Invoice template";
- // s3a.OptionTitle = "Invoice template - NOT SUPPORTED";
- // s3a.OptionDescription =
- // "QBI can use a specific QuickBooks Invoice template for printing work orders.\r\n" +
- // "However, your version of QuickBooks does not support integrating this \r\n" +
- // "feature with 3rd party applications such as AyaNova QBI.\r\n" +
-
- // "Supported versions of QuickBooks for using Invoice templates with QBI are:\r\n\r\n" +
- // "U.S., Canadian or U.K. QuickBooks 2004 or newer\r\n\r\n" +
-
- // "If you upgrade your QuickBooks in future you will be able to select this option\r\n" +
- // "for now it is disabled and the default invoice template will be used";
-
- // s3a.ShowDialog();
-
- // goto TRInvoiceTemplateOK;
- // }
-
- // //Subsequent, non-setup, runs with unsupported version
- // if (QVersion < 3)
- // goto TRInvoiceTemplateOK;
-
-
- // //Validate any existing
- // if (QDat.QBInvoiceTemplate != null && QDat.QBInvoiceTemplate != "")
- // {
- // //if something is set but there are no InvoiceTemplates
- // //then just clear it and move along
- // if (QBInvoiceTemplates.Rows.Count == 1)
- // {
- // QDat.QBInvoiceTemplate = "";
- // goto TRInvoiceTemplateOK;
- // }
-
- // //Something is set and there *are* tr InvoiceTemplates so
- // //let's validate it...
- // if (QBInvoiceTemplates.Rows.Contains(QDat.QBInvoiceTemplate))
- // {
- // if (!SetEverything)
- // goto TRInvoiceTemplateOK;
- // }
- // else
- // {
- // MessageBox.Show("The QuickBooks Invoice Template previously set for invoicing\r\n" +
- // "no longer appears to be valid. You will next be prompted to re-select it.");
- // }
- // }
-
- // //Perhaps there are no InvoiceTemplates, this is the default
- // //if not then don't prompt for it obviously :)
- // //also if it was empty and were not in first setup mode then
- // //don't bother prompting it might be the users choice.
- // //todo: make something besides and empty string to indicate
- // //deliberately non selected items
- // if (QBInvoiceTemplates.Rows.Count == 1 || SetEverything == false)
- // goto TRInvoiceTemplateOK;
-
-
- // //We've arrived here because there is no setting for InvoiceTemplates
- // //Or the user want's to change it
- // //and there are some defined in QB
- // SetQBInvoiceTemplate s3b = new SetQBInvoiceTemplate();
- // s3b.DialogTitle = "AyaNova QBI setup - Invoice template";
- // s3b.OptionTitle = "Invoice template";
- // s3b.OptionDescription = "QBI needs to know what QuickBooks Invoice template you want \r\n" +
- // "QBI to set for invoices created from Work orders.\r\n\r\n" +
- // "QuickBooks Invoice templates are used in QuickBooks to specify different print formats\r\n" +
- // "for invoices. If you do not use Invoice templates or are not sure what they are\r\n" +
- // "select < Use default > from the list below.\r\n\r\n" +
- // "This setting is required.";
- // s3b.QBInvoiceTemplates = QBInvoiceTemplates;
-
- // s3b.SelectedQBInvoiceTemplate = QDat.QBInvoiceTemplate;
-
- // if (s3b.ShowDialog() == DialogResult.Cancel)
- // {
- // return pfstat.Cancel;
-
- // }
- // else
- // QDat.QBInvoiceTemplate = s3b.SelectedQBInvoiceTemplate;
- // s3b.Dispose();
- // s3b = null;
-
- //TRInvoiceTemplateOK:
-
-
- // #endregion
-
- // #region QB Terms
-
-
-
- // //Validate any existing
- // //case 3228 added extra condition set everything is false
- // if (SetEverything == false && !string.IsNullOrEmpty(QDat.TermsDefault))
- // {
- // //if something is set but there are no terms
- // //then just clear it and move along
- // if (QBTerms.Rows.Count == 1)
- // {
- // QDat.TermsDefault = "";
- // goto TermsOK;
- // }
-
- // //Something is set and there *are* terms so
- // //let's validate it...
- // if (QBTerms.Rows.Contains(QDat.TermsDefault))
- // {
- // if (!SetEverything)
- // goto TermsOK;
- // }
- // else
- // {
- // MessageBox.Show("The QuickBooks default terms previously set for invoicing\r\n" +
- // "no longer appears to be valid. You will next be prompted to re-select it.");
- // }
- // }
-
-
-
-
- // //We've arrived here because there is no setting for Terms
- // //Or the user want's to change it
- // //and there are some defined in QB
- // SetQBTerms termsdialog = new SetQBTerms();
- // termsdialog.DialogTitle = "AyaNova QBI setup - Customer default invoice terms";
- // termsdialog.OptionTitle = "Default terms";
- // termsdialog.OptionDescription = "QBI needs to know what QuickBooks terms you want \r\n" +
- // "QBI to set for customers imported from AyaNova.\r\n\r\n" +
- // "When an invoice for a customer is created the selected terms will be applied.\r\n\r\n" +
- // "This setting is required.";
- // termsdialog.QBTerms = QBTerms;
-
- // termsdialog.SelectedQBTerm = QDat.TermsDefault;
-
- // if (termsdialog.ShowDialog() == DialogResult.Cancel)
- // {
- // return pfstat.Cancel;
-
- // }
- // else
- // QDat.TermsDefault = termsdialog.SelectedQBTerm;
- // termsdialog.Dispose();
- // termsdialog = null;
-
- //TermsOK:
-
-
- // #endregion
-
- // #region ToBePrinted
- // //No validation possible
- // //so prompt only if not setup yet
- // if (!SetEverything)
- // {
- // //if(QBItems.Rows.Contains(QDat.MiscExpenseChargeAs))
- // goto TBPOK;
- // // else
- // // {
- // // MessageBox.Show("The QuickBooks Item previously set for invoicing Misc. Expense items\r\n" +
- // // "No longer appears to be valid. You will next be prompted to re-select a valid \r\n" +
- // // "QuickBooks Item.");
- // // }
- // }
-
-
-
-
+ #region QB Transaction class
+ //Validate any existing
+ if (SetEverything == false && QDat.TransactionClass != null && QDat.TransactionClass != "")
+ {
+ //if something is set but there are no tr classes
+ //then just clear it and move along
+ if (QBClasses.Rows.Count == 1)
+ {
+ QDat.TransactionClass = TRANSACTION_CLASS_NO_CLASS_SELECTED;//case 3268
+ goto TRCLASSOK;
+ }
+
+ //Something is set and there *are* tr classes so
+ //let's validate it...
+
+ if (QBClasses.Rows.Contains(QDat.TransactionClass))
+ goto TRCLASSOK;
+ else
+ {
+ MessageBox.Show("The QuickBooks transaction class previously set for invoicing\r\n" +
+ "no longer appears to be valid. You will next be prompted to re-select it.");
+ }
+ }
+
+ //Perhaps there are no transaction classes, this is the default
+ //if not then don't prompt for it obviously :)
+ //also if it was empty and were not in first setup mode then
+ //don't bother prompting it might be the users choice.
+
+ //case 3228 commented out the following as it's a bad idea
+ //if (QBClasses.Rows.Count == 1 || SetEverything == false)
+ // goto TRCLASSOK;
+
+
+ //We've arrived here because there is no setting for transaction classes
+ //but there are some defined in QB
+ SetQBClass s3 = new SetQBClass();
+ s3.DialogTitle = "AyaNova QBI setup - Transaction class";
+ s3.OptionTitle = "Transaction class";
+ s3.OptionDescription = "QBI needs to know what QuickBooks Transaction Class you want \r\n" +
+ "to use when invoicing Work orders.\r\n\r\n" +
+ "If you do not use transaction classes or are not sure what they are\r\n" +
+ "select < Do not use classes> from the list below. Classes are off by default in QuickBooks.\r\n\r\n" +
+ "This setting is Optional and not required.";
+ s3.QBClasses = QBClasses;
+ // s3.SelectedQBClass = TRANSACTION_CLASS_NO_CLASS_SELECTED;
+
+ if (s3.ShowDialog() == DialogResult.Cancel)
+ {
+ return pfstat.Cancel;
+
+ }
+ else
+ QDat.TransactionClass = s3.SelectedQBClass;
+ s3.Dispose();
+ s3 = null;
+
+ TRCLASSOK:
+
+ #endregion
+
+ // #region QB InvoiceTemplate
+ // //Templates are only supported in xml 3 or greater (all countries)
+ // //if Set everything (first run) then display a dialog about it
+ // if (QVersion < 3 && SetEverything == true)
+ // {
+
+ // SetInfoOnly s3a = new SetInfoOnly();
+ // s3a.DialogTitle = "AyaNova QBI setup - Invoice template";
+ // s3a.OptionTitle = "Invoice template - NOT SUPPORTED";
+ // s3a.OptionDescription =
+ // "QBI can use a specific QuickBooks Invoice template for printing work orders.\r\n" +
+ // "However, your version of QuickBooks does not support integrating this \r\n" +
+ // "feature with 3rd party applications such as AyaNova QBI.\r\n" +
+
+ // "Supported versions of QuickBooks for using Invoice templates with QBI are:\r\n\r\n" +
+ // "U.S., Canadian or U.K. QuickBooks 2004 or newer\r\n\r\n" +
+
+ // "If you upgrade your QuickBooks in future you will be able to select this option\r\n" +
+ // "for now it is disabled and the default invoice template will be used";
+
+ // s3a.ShowDialog();
+
+ // goto TRInvoiceTemplateOK;
+ // }
+
+ // //Subsequent, non-setup, runs with unsupported version
+ // if (QVersion < 3)
+ // goto TRInvoiceTemplateOK;
+
+
+ // //Validate any existing
+ // if (QDat.QBInvoiceTemplate != null && QDat.QBInvoiceTemplate != "")
+ // {
+ // //if something is set but there are no InvoiceTemplates
+ // //then just clear it and move along
+ // if (QBInvoiceTemplates.Rows.Count == 1)
+ // {
+ // QDat.QBInvoiceTemplate = "";
+ // goto TRInvoiceTemplateOK;
+ // }
+
+ // //Something is set and there *are* tr InvoiceTemplates so
+ // //let's validate it...
+ // if (QBInvoiceTemplates.Rows.Contains(QDat.QBInvoiceTemplate))
+ // {
+ // if (!SetEverything)
+ // goto TRInvoiceTemplateOK;
+ // }
+ // else
+ // {
+ // MessageBox.Show("The QuickBooks Invoice Template previously set for invoicing\r\n" +
+ // "no longer appears to be valid. You will next be prompted to re-select it.");
+ // }
+ // }
+
+ // //Perhaps there are no InvoiceTemplates, this is the default
+ // //if not then don't prompt for it obviously :)
+ // //also if it was empty and were not in first setup mode then
+ // //don't bother prompting it might be the users choice.
+ // //todo: make something besides and empty string to indicate
+ // //deliberately non selected items
+ // if (QBInvoiceTemplates.Rows.Count == 1 || SetEverything == false)
+ // goto TRInvoiceTemplateOK;
+
+
+ // //We've arrived here because there is no setting for InvoiceTemplates
+ // //Or the user want's to change it
+ // //and there are some defined in QB
+ // SetQBInvoiceTemplate s3b = new SetQBInvoiceTemplate();
+ // s3b.DialogTitle = "AyaNova QBI setup - Invoice template";
+ // s3b.OptionTitle = "Invoice template";
+ // s3b.OptionDescription = "QBI needs to know what QuickBooks Invoice template you want \r\n" +
+ // "QBI to set for invoices created from Work orders.\r\n\r\n" +
+ // "QuickBooks Invoice templates are used in QuickBooks to specify different print formats\r\n" +
+ // "for invoices. If you do not use Invoice templates or are not sure what they are\r\n" +
+ // "select < Use default > from the list below.\r\n\r\n" +
+ // "This setting is required.";
+ // s3b.QBInvoiceTemplates = QBInvoiceTemplates;
+
+ // s3b.SelectedQBInvoiceTemplate = QDat.QBInvoiceTemplate;
+
+ // if (s3b.ShowDialog() == DialogResult.Cancel)
+ // {
+ // return pfstat.Cancel;
+
+ // }
+ // else
+ // QDat.QBInvoiceTemplate = s3b.SelectedQBInvoiceTemplate;
+ // s3b.Dispose();
+ // s3b = null;
+
+ //TRInvoiceTemplateOK:
+
+
+ // #endregion
+
+ // #region QB Terms
+
+
+
+ // //Validate any existing
+ // //case 3228 added extra condition set everything is false
+ // if (SetEverything == false && !string.IsNullOrEmpty(QDat.TermsDefault))
+ // {
+ // //if something is set but there are no terms
+ // //then just clear it and move along
+ // if (QBTerms.Rows.Count == 1)
+ // {
+ // QDat.TermsDefault = "";
+ // goto TermsOK;
+ // }
+
+ // //Something is set and there *are* terms so
+ // //let's validate it...
+ // if (QBTerms.Rows.Contains(QDat.TermsDefault))
+ // {
+ // if (!SetEverything)
+ // goto TermsOK;
+ // }
+ // else
+ // {
+ // MessageBox.Show("The QuickBooks default terms previously set for invoicing\r\n" +
+ // "no longer appears to be valid. You will next be prompted to re-select it.");
+ // }
+ // }
+
+
+
+
+ // //We've arrived here because there is no setting for Terms
+ // //Or the user want's to change it
+ // //and there are some defined in QB
+ // SetQBTerms termsdialog = new SetQBTerms();
+ // termsdialog.DialogTitle = "AyaNova QBI setup - Customer default invoice terms";
+ // termsdialog.OptionTitle = "Default terms";
+ // termsdialog.OptionDescription = "QBI needs to know what QuickBooks terms you want \r\n" +
+ // "QBI to set for customers imported from AyaNova.\r\n\r\n" +
+ // "When an invoice for a customer is created the selected terms will be applied.\r\n\r\n" +
+ // "This setting is required.";
+ // termsdialog.QBTerms = QBTerms;
+
+ // termsdialog.SelectedQBTerm = QDat.TermsDefault;
+
+ // if (termsdialog.ShowDialog() == DialogResult.Cancel)
+ // {
+ // return pfstat.Cancel;
+
+ // }
+ // else
+ // QDat.TermsDefault = termsdialog.SelectedQBTerm;
+ // termsdialog.Dispose();
+ // termsdialog = null;
+
+ //TermsOK:
+
+
+ // #endregion
+
+ // #region ToBePrinted
+ // //No validation possible
+ // //so prompt only if not setup yet
+ // if (!SetEverything)
+ // {
+ // //if(QBItems.Rows.Contains(QDat.MiscExpenseChargeAs))
+ // goto TBPOK;
+ // // else
+ // // {
+ // // MessageBox.Show("The QuickBooks Item previously set for invoicing Misc. Expense items\r\n" +
+ // // "No longer appears to be valid. You will next be prompted to re-select a valid \r\n" +
+ // // "QuickBooks Item.");
+ // // }
+ // }
+
+
+
+
- // SetToBePrinted s4 = new SetToBePrinted();
- // s4.DialogTitle = "AyaNova QBI setup - Set invoice to be printed?";
- // s4.OptionTitle = "Invoice to be printed";
- // s4.OptionDescription = "QBI needs to know if you want invoices that it creates \r\n" +
- // "in QuickBooks to be set to \"To be printed\".\r\n\r\n" +
- // "(Please note that \"To be emailed\" which is available in some\r\n" +
- // "versions of QuickBooks is not an option at this time as\r\n" +
- // "QuickBooks has not exposed that property to developers)";
- // s4.ToBePrinted = QDat.ToBePrinted;
-
- // if (s4.ShowDialog() == DialogResult.Cancel)
- // {
- // return pfstat.Cancel;
+ // SetToBePrinted s4 = new SetToBePrinted();
+ // s4.DialogTitle = "AyaNova QBI setup - Set invoice to be printed?";
+ // s4.OptionTitle = "Invoice to be printed";
+ // s4.OptionDescription = "QBI needs to know if you want invoices that it creates \r\n" +
+ // "in QuickBooks to be set to \"To be printed\".\r\n\r\n" +
+ // "(Please note that \"To be emailed\" which is available in some\r\n" +
+ // "versions of QuickBooks is not an option at this time as\r\n" +
+ // "QuickBooks has not exposed that property to developers)";
+ // s4.ToBePrinted = QDat.ToBePrinted;
+
+ // if (s4.ShowDialog() == DialogResult.Cancel)
+ // {
+ // return pfstat.Cancel;
- // }
- // else
- // QDat.ToBePrinted = s4.ToBePrinted;
- // s4.Dispose();
- // s4 = null;
-
- //TBPOK:
-
- // #endregion
-
- // #region SetMemoField
- // //No validation possible
- // //so prompt only if not setup yet
- // if (!SetEverything)
- // {
- // //if(QBItems.Rows.Contains(QDat.MiscExpenseChargeAs))
- // goto SETMEMOOK;
- // // else
- // // {
- // // MessageBox.Show("The QuickBooks Item previously set for invoicing Misc. Expense items\r\n" +
- // // "No longer appears to be valid. You will next be prompted to re-select a valid \r\n" +
- // // "QuickBooks Item.");
- // // }
- // }
-
-
-
-
-
- // SetMemoField s5 = new SetMemoField();
- // s5.DialogTitle = "AyaNova QBI setup - Set Memo field?";
- // s5.OptionTitle = "Invoice memo field";
- // s5.OptionDescription =
- // "QBI needs to know if you want invoices that it creates \r\n" +
- // "in QuickBooks to have their \"Memo\" field set with\r\n" +
- // "information about the work order(s) that were the basis for\r\n" +
- // "the invoice and the name of the AyaNova user who generated them.\r\n\r\n" +
- // "This may be useful as a back reference, this setting is optional";
- // s5.FillMemoField = QDat.SetMemoField;
-
- // if (s5.ShowDialog() == DialogResult.Cancel)
- // {
- // return pfstat.Cancel;
-
- // }
- // else
- // QDat.SetMemoField = s5.FillMemoField;
- // s5.Dispose();
- // s5 = null;
+ // }
+ // else
+ // QDat.ToBePrinted = s4.ToBePrinted;
+ // s4.Dispose();
+ // s4 = null;
+
+ //TBPOK:
+
+ // #endregion
+
+ // #region SetMemoField
+ // //No validation possible
+ // //so prompt only if not setup yet
+ // if (!SetEverything)
+ // {
+ // //if(QBItems.Rows.Contains(QDat.MiscExpenseChargeAs))
+ // goto SETMEMOOK;
+ // // else
+ // // {
+ // // MessageBox.Show("The QuickBooks Item previously set for invoicing Misc. Expense items\r\n" +
+ // // "No longer appears to be valid. You will next be prompted to re-select a valid \r\n" +
+ // // "QuickBooks Item.");
+ // // }
+ // }
+
+
+
+
+
+ // SetMemoField s5 = new SetMemoField();
+ // s5.DialogTitle = "AyaNova QBI setup - Set Memo field?";
+ // s5.OptionTitle = "Invoice memo field";
+ // s5.OptionDescription =
+ // "QBI needs to know if you want invoices that it creates \r\n" +
+ // "in QuickBooks to have their \"Memo\" field set with\r\n" +
+ // "information about the work order(s) that were the basis for\r\n" +
+ // "the invoice and the name of the AyaNova user who generated them.\r\n\r\n" +
+ // "This may be useful as a back reference, this setting is optional";
+ // s5.FillMemoField = QDat.SetMemoField;
+
+ // if (s5.ShowDialog() == DialogResult.Cancel)
+ // {
+ // return pfstat.Cancel;
+
+ // }
+ // else
+ // QDat.SetMemoField = s5.FillMemoField;
+ // s5.Dispose();
+ // s5 = null;
- //SETMEMOOK:
-
- // #endregion
+ //SETMEMOOK:
+
+ // #endregion
- // #region SetAutoCloseField Case 7
- // //No validation possible
- // //so prompt only if not setup yet
- // if (!SetEverything)
- // {
- // goto SETAUTOCLOSEOK;
+ // #region SetAutoCloseField Case 7
+ // //No validation possible
+ // //so prompt only if not setup yet
+ // if (!SetEverything)
+ // {
+ // goto SETAUTOCLOSEOK;
- // }
+ // }
- // SetAutoClose s6 = new SetAutoClose();
- // s6.DialogTitle = "AyaNova QBI setup - Close when invoiced?";
- // s6.OptionTitle = "Close work order after invoicing";
- // s6.OptionDescription =
- // "QBI needs to know if you want work orders that it invoices \r\n" +
- // "automatically set to closed";
- // s6.AutoClose = QDat.AutoClose;
-
- // if (s6.ShowDialog() == DialogResult.Cancel)
- // {
- // return pfstat.Cancel;
+ // SetAutoClose s6 = new SetAutoClose();
+ // s6.DialogTitle = "AyaNova QBI setup - Close when invoiced?";
+ // s6.OptionTitle = "Close work order after invoicing";
+ // s6.OptionDescription =
+ // "QBI needs to know if you want work orders that it invoices \r\n" +
+ // "automatically set to closed";
+ // s6.AutoClose = QDat.AutoClose;
+
+ // if (s6.ShowDialog() == DialogResult.Cancel)
+ // {
+ // return pfstat.Cancel;
- // }
- // else
- // QDat.AutoClose = s6.AutoClose;
- // s6.Dispose();
- // s6 = null;
+ // }
+ // else
+ // QDat.AutoClose = s6.AutoClose;
+ // s6.Dispose();
+ // s6 = null;
- //SETAUTOCLOSEOK:
+ //SETAUTOCLOSEOK:
- // #endregion
-
-
- // //Save if changes made
- // if (QDat.IsDirty)
- // {
- // //Case 299
- // QBI.AIObject = QDat.XMLData;
- // //QBI.AIObject=QDat;
-
- // QBI = (Integration)QBI.Save();
- // QDat.IsDirty = false;
- // }
+ // #endregion
+
+
+ // //Save if changes made
+ // if (QDat.IsDirty)
+ // {
+ // //Case 299
+ // QBI.AIObject = QDat.XMLData;
+ // //QBI.AIObject=QDat;
+
+ // QBI = (Integration)QBI.Save();
+ // QDat.IsDirty = false;
+ // }
return pfstat.OK;
}