Files
ayanova7/source/Plugins/AyaNova.Plugin.QBOI/SetQBImportInventoryAccounts.cs
2018-06-29 19:47:36 +00:00

153 lines
5.4 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace AyaNova.PlugIn.QBOI
{
public partial class SetQBImportInventoryAccounts : Form
{
public SetQBImportInventoryAccounts()
{
InitializeComponent();
}
public bool ImportPartAsInventory { get; set; }
private void SetQBImportInventoryAccounts_Load(object sender, EventArgs e)
{
if (Util.QUSA)
{
ckTaxable.Checked = Util.QDat.ImportItemTaxable;
}
else
{
//populate tax codes combo
cbTaxCode.BindingContext = new BindingContext();//Ensure unique binding context so multiple combo boxes bound to same datasource can be selected independantly
cbTaxCode.DisplayMember = "FullName";
cbTaxCode.ValueMember = "ID";
cbTaxCode.DataSource = Util.QBTaxCodes;
cbTaxCode.SelectedIndex = 0;
if (!string.IsNullOrEmpty(Util._ImportPartToQBDefaultTaxCodeId))
cbTaxCode.SelectedValue = Util._ImportPartToQBDefaultTaxCodeId;
//Hide taxable checkbox and show tax codes combo box and title
ckTaxable.Visible = false;
lblTaxCodes.Visible = true;
cbTaxCode.Visible = true;
}
this.btnCancel.Image = Util.AyaImage("Cancel24");
this.btnOK.Image = Util.AyaImage("OK24");
this.Icon = Util.AyaIcon("Part16icon");
//Fill combo's and select defaults
if (Util.QBSupportsInventory) //case 3296
{
//can do inventory so enable checkboxes
rdImportAsNonInventoryItem.Enabled = true;
rdImportAsInventoryItem.Enabled = true;
rdImportAsInventoryItem.Checked = true;
cbAsset.BindingContext = new BindingContext();//Ensure unique binding context so multiple combo boxes bound to same datasource can be selected independantly
cbAsset.DisplayMember = "FullName";
cbAsset.ValueMember = "ID";
cbAsset.DataSource = Util.QBAccounts;
if (!string.IsNullOrEmpty(Util.QDat.QBInventoryAssetAccountRef))
cbAsset.SelectedValue = Util.QDat.QBInventoryAssetAccountRef;
cbCogs.BindingContext = new BindingContext();
cbCogs.DisplayMember = "FullName";
cbCogs.ValueMember = "ID";
cbCogs.DataSource = Util.QBAccounts;
if (!string.IsNullOrEmpty(Util.QDat.QBInventoryCOGSAccountRef))
cbCogs.SelectedValue = Util.QDat.QBInventoryCOGSAccountRef;
}
else
{
//can't do inventory so disable the checkboxes and show explanation
rdImportAsNonInventoryItem.Checked = true;
rdImportAsNonInventoryItem.Enabled = false;
rdImportAsInventoryItem.Enabled = false;
tbInventoryNotSupportedLabel.Text = Util.QOfferingSku + "\r\nDoes not allow inventory";
tbInventoryNotSupportedLabel.Visible = true;
cbAsset.Enabled = false;
cbCogs.Enabled = false;
}
cbIncome.BindingContext = new BindingContext();
cbIncome.DisplayMember = "FullName";
cbIncome.ValueMember = "ID";
cbIncome.DataSource = Util.QBAccounts;
if (!string.IsNullOrEmpty(Util.QDat.QBInventoryIncomeAccountReference))
cbIncome.SelectedValue = Util.QDat.QBInventoryIncomeAccountReference;
}
private void btnOK_Click(object sender, EventArgs e)
{
//case 3296
this.ImportPartAsInventory = false;
if (Util.QBSupportsInventory && rdImportAsInventoryItem.Checked)
{
this.ImportPartAsInventory = true;
Util.QDat.QBInventoryAssetAccountRef = cbAsset.SelectedValue.ToString();
Util.QDat.QBInventoryCOGSAccountRef = cbCogs.SelectedValue.ToString();
}
Util.QDat.QBInventoryIncomeAccountReference = cbIncome.SelectedValue.ToString();
if (Util.QUSA)
{
Util.QDat.ImportItemTaxable = ckTaxable.Checked;
}
else
{
object o = cbTaxCode.SelectedValue;
if (o == null)
{
Util._ImportPartToQBDefaultTaxCodeId = string.Empty;
}
else
{
Util._ImportPartToQBDefaultTaxCodeId = o.ToString();
}
}
Util.SaveQBIData();
this.DialogResult = DialogResult.OK;
this.Close();
}
private void rdImportAs_CheckedChanged(object sender, EventArgs e)
{
if (rdImportAsInventoryItem.Checked)
{
cbAsset.Enabled = true;
cbCogs.Enabled = true;
}
else
{
cbAsset.Enabled = false;
cbCogs.Enabled = false;
}
}
}
}