diff --git a/AyaNovaQBI/AyaNovaQBI.csproj b/AyaNovaQBI/AyaNovaQBI.csproj index 4fd08c3..056c16d 100644 --- a/AyaNovaQBI/AyaNovaQBI.csproj +++ b/AyaNovaQBI/AyaNovaQBI.csproj @@ -117,6 +117,12 @@ LinkAyaObjectToQBConfirm.cs + + Form + + + LinkOrImportAyaObject.cs + Form @@ -273,6 +279,9 @@ LinkAyaObjectToQBConfirm.cs + + LinkOrImportAyaObject.cs + MainForm.cs diff --git a/AyaNovaQBI/FixInvoiceProblems.cs b/AyaNovaQBI/FixInvoiceProblems.cs index a2003d0..42e72df 100644 --- a/AyaNovaQBI/FixInvoiceProblems.cs +++ b/AyaNovaQBI/FixInvoiceProblems.cs @@ -132,17 +132,18 @@ namespace AyaNovaQBI LinkOrImportAyaObject d = new LinkOrImportAyaObject(); try { - d.AyaItem = e.Cell.Row.Cells["Name"].Value.ToString(); + // d.AyaItem = e.Cell.Row.Cells["Name"].Value.ToString(); + d.AyaItemName = mm.Name; //Default for an import //otherwise in a link is just reset to the qb item name selected - string QBItemName = e.Cell.Row.Cells["Name"].Value.ToString(); + string QBItemName = mm.Name; //Attempt a link or import //in any case of failure or new link not required //bails inside switch - switch ((RootObjectTypes)e.Cell.Row.Cells["ObjectType"].Value) + switch (mm.ObjectType) { - case RootObjectTypes.Client: + case AyaType.Customer: d.CanImport = true; d.QBItems = util.QBClients; if (d.ShowDialog() == DialogResult.Cancel) return; @@ -183,7 +184,7 @@ namespace AyaNovaQBI break; - case RootObjectTypes.Rate: + case AyaType.ServiceRate: d.CanImport = false; d.QBItems = util.QBItems; if (d.ShowDialog() == DialogResult.Cancel) return; @@ -192,7 +193,16 @@ namespace AyaNovaQBI return; QBItemName = d.SelectedQBItemName; break; - case RootObjectTypes.Part: + case AyaType.TravelRate://ADDED DUPE OF ABOVE + d.CanImport = false; + d.QBItems = util.QBItems; + if (d.ShowDialog() == DialogResult.Cancel) return; + + if (d.SelectedQBItem == null || d.SelectedQBItem == "" || !util.QBItems.Rows.Contains(d.SelectedQBItem)) + return; + QBItemName = d.SelectedQBItemName; + break; + case AyaType.Part: d.CanImport = false; d.QBItems = util.QBItems; if (d.ShowDialog() == DialogResult.Cancel) return; @@ -202,7 +212,7 @@ namespace AyaNovaQBI QBItemName = d.SelectedQBItemName; break; - case RootObjectTypes.WorkorderItemOutsideService: + case AyaType.WorkorderItemOutsideService: d.CanImport = false; d.QBItems = util.QBItems; if (d.ShowDialog() == DialogResult.Cancel) return; @@ -222,7 +232,7 @@ namespace AyaNovaQBI goto REMOVEITEMS; - case RootObjectTypes.WorkorderItemLoan: + case AyaType.WorkorderItemLoan: d.CanImport = false; d.QBItems = util.QBItems; if (d.ShowDialog() == DialogResult.Cancel) return; @@ -240,7 +250,7 @@ namespace AyaNovaQBI goto REMOVEITEMS; - case RootObjectTypes.WorkorderItemMiscExpense: + case AyaType.WorkorderItemMiscExpense: d.CanImport = false; d.QBItems = util.QBItems; if (d.ShowDialog() == DialogResult.Cancel) return; diff --git a/AyaNovaQBI/FixPriceDifference.Designer.cs b/AyaNovaQBI/FixPriceDifference.Designer.cs index a3da009..2a33e6e 100644 --- a/AyaNovaQBI/FixPriceDifference.Designer.cs +++ b/AyaNovaQBI/FixPriceDifference.Designer.cs @@ -143,13 +143,13 @@ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.CancelButton = this.btnCancel; this.ClientSize = new System.Drawing.Size(637, 403); + this.ControlBox = false; this.Controls.Add(this.groupBox1); this.Controls.Add(this.btnOK); this.Controls.Add(this.btnCancel); this.Controls.Add(this.lblTitle); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; this.Name = "FixPriceDifference"; - this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.Text = "Resolve AyaNova object price"; this.Load += new System.EventHandler(this.SetQBClass_load); this.groupBox1.ResumeLayout(false); diff --git a/AyaNovaQBI/LinkOrImportAyaObject.Designer.cs b/AyaNovaQBI/LinkOrImportAyaObject.Designer.cs new file mode 100644 index 0000000..91497c2 --- /dev/null +++ b/AyaNovaQBI/LinkOrImportAyaObject.Designer.cs @@ -0,0 +1,144 @@ +namespace AyaNovaQBI +{ + partial class LinkOrImportAyaObject + { + /// + /// 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.cbQBItems = new System.Windows.Forms.ComboBox(); + this.label1 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.btnImport = new System.Windows.Forms.Button(); + 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 = 8; + 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(12, 368); + this.btnCancel.Name = "btnCancel"; + this.btnCancel.Size = new System.Drawing.Size(75, 23); + this.btnCancel.TabIndex = 7; + this.btnCancel.Text = "Cancel"; + this.btnCancel.UseVisualStyleBackColor = true; + this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click); + // + // lblTitle + // + this.lblTitle.BackColor = System.Drawing.SystemColors.Window; + this.lblTitle.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lblTitle.ForeColor = System.Drawing.SystemColors.WindowText; + this.lblTitle.Location = new System.Drawing.Point(4, 2); + this.lblTitle.Name = "lblTitle"; + this.lblTitle.Size = new System.Drawing.Size(628, 74); + this.lblTitle.TabIndex = 9; + this.lblTitle.Text = "title"; + this.lblTitle.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // cbQBItems + // + this.cbQBItems.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.cbQBItems.FormattingEnabled = true; + this.cbQBItems.Location = new System.Drawing.Point(4, 119); + this.cbQBItems.Name = "cbQBItems"; + this.cbQBItems.Size = new System.Drawing.Size(628, 21); + this.cbQBItems.TabIndex = 13; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(4, 103); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(125, 13); + this.label1.TabIndex = 14; + this.label1.Text = "Link to QuickBooks item:"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(4, 177); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(194, 13); + this.label2.TabIndex = 15; + this.label2.Text = "Or import AyaNova item to QuickBooks:"; + // + // btnImport + // + this.btnImport.Location = new System.Drawing.Point(4, 193); + this.btnImport.Name = "btnImport"; + this.btnImport.Size = new System.Drawing.Size(628, 34); + this.btnImport.TabIndex = 16; + this.btnImport.Text = "Import to QuickBooks"; + this.btnImport.UseVisualStyleBackColor = true; + // + // LinkOrImportAyaObject + // + this.AcceptButton = this.btnOK; + 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.ControlBox = false; + this.Controls.Add(this.btnImport); + this.Controls.Add(this.label2); + this.Controls.Add(this.label1); + this.Controls.Add(this.cbQBItems); + this.Controls.Add(this.lblTitle); + this.Controls.Add(this.btnOK); + this.Controls.Add(this.btnCancel); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; + this.Name = "LinkOrImportAyaObject"; + this.ShowInTaskbar = false; + this.Text = "Resolve AyaNova object"; + this.Load += new System.EventHandler(this.LinkOrImportAyaObject_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.ComboBox cbQBItems; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Button btnImport; + } +} \ No newline at end of file diff --git a/AyaNovaQBI/LinkOrImportAyaObject.cs b/AyaNovaQBI/LinkOrImportAyaObject.cs new file mode 100644 index 0000000..118825e --- /dev/null +++ b/AyaNovaQBI/LinkOrImportAyaObject.cs @@ -0,0 +1,69 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace AyaNovaQBI +{ + public partial class LinkOrImportAyaObject : Form + { + + public string SelectedQBItemName + { + get + { + return ((DataRowView)cbQBItems.SelectedItem).Row[0].ToString(); + } + } + + public string SelectedQBItemId + { + get + { + return ((DataRowView)cbQBItems.SelectedItem).Row[1].ToString(); + } + } + + public DataTable QBItems { get; set; } + public string AyaItemName { get; set; } + public string Choice { get; set; } = "CANCEL"; + + public bool CanImport { get; set; } + + public LinkOrImportAyaObject() + { + InitializeComponent(); + } + + private void LinkOrImportAyaObject_Load(object sender, EventArgs e) + { + + lblTitle.Text = AyaItemName; + cbQBItems.DataSource = QBItems; + cbQBItems.DisplayMember = "name"; + cbQBItems.ValueMember = "id"; + btnCancel.Text = util.AyaTranslations["Cancel"]; + btnOK.Text = util.AyaTranslations["OK"]; + } + + + private void btnCancel_Click(object sender, EventArgs e) + { + DialogResult = DialogResult.Cancel; + Close(); + } + + private void btnOK_Click(object sender, EventArgs e) + { + DialogResult = DialogResult.OK; + Close(); + } + + + }//eoc +}//eons diff --git a/AyaNovaQBI/LinkOrImportAyaObject.resx b/AyaNovaQBI/LinkOrImportAyaObject.resx new file mode 100644 index 0000000..29dcb1b --- /dev/null +++ b/AyaNovaQBI/LinkOrImportAyaObject.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/MapSelectQBItem.cs b/AyaNovaQBI/MapSelectQBItem.cs index 2002d78..7af1d6d 100644 --- a/AyaNovaQBI/MapSelectQBItem.cs +++ b/AyaNovaQBI/MapSelectQBItem.cs @@ -10,7 +10,7 @@ namespace AyaNovaQBI { InitializeComponent(); } - public ComboBox SelectCombo => cbQBItems; + public string SelectedQBItemName { get