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; }