private async Task <List <VendorWpf> > GetVendors(string pCompanyCode) { if (!mCurrentVendors.ContainsKey(pCompanyCode)) { var fVendors = await mB10DH.GetVendors(pCompanyCode); var fVendorsWpf = VendorWpf.GetFromVendors(fVendors); mCurrentVendors[pCompanyCode] = fVendorsWpf; } return(mCurrentVendors[pCompanyCode]); }
private async void ListVendors(object sender, RoutedEventArgs e) { try { var fSelectCompany = (string)vendorCompanyList.SelectedItem; if (!mCurrentVendors.ContainsKey(fSelectCompany)) { mCurrentVendors.Add(fSelectCompany, null); } var fVendors = await mB10DH.GetVendors(fSelectCompany); var fVendorsWpf = VendorWpf.GetFromVendors(fVendors); mCurrentVendors[fSelectCompany] = Extensions.Clone <List <VendorWpf> >(fVendorsWpf); vendorGrid.ItemsSource = fVendorsWpf; vendorCurrencyList.ItemsSource = new List <string>() { "", "EUR", "USD", "GBP" }; var fVatCodes = new List <VatCode>() { new VatCode() { AdministrationCode = string.Empty, Id = Guid.Empty, Name = "None" } }; fVatCodes.AddRange(await mB10DH.GetVatCodes(fSelectCompany)); vendorVatCodeList.ItemsSource = fVatCodes.ToDictionary(x => x.AdministrationCode, y => $"{y.AdministrationCode} - {y.Name}"); var fGLAccounts = new List <GLAccount>() { new GLAccount() { AdministrationCode = string.Empty, Id = Guid.Empty, Name = "None" } }; fGLAccounts.AddRange(await mB10DH.GetGLAccounts(fSelectCompany)); vendorGLAccountList.ItemsSource = fGLAccounts.ToDictionary(x => x.AdministrationCode, y => $"{y.AdministrationCode} - {y.Name}"); var fPaymentTerms = new List <PaymentTerm>() { new PaymentTerm() { AdministrationCode = string.Empty, Id = Guid.Empty, Name = "None" } }; fPaymentTerms.AddRange(await mB10DH.GetPaymentTerms(fSelectCompany)); vendorPaymenttermList.ItemsSource = fPaymentTerms.ToDictionary(x => x.AdministrationCode, y => $"{y.AdministrationCode} - {y.Name}"); } catch (Exception ex) { MessageBox.Show($"Get Vendors failed ({ex.Message}"); } }