public List <Product> ParseProducts() { _products.Clear(); List <Product> invalidProducts = new List <Product>(); try { XmlNodeList nodeList = _xml.SelectNodes("/E_Invoice/Invoice/InvoiceItem/InvoiceItemGroup/ItemEntry"); foreach (XmlNode node in nodeList) { string name = node["Description"].InnerText; string amount = node["ItemDetailInfo"]["ItemAmount"].InnerText; string price = node["VAT"]["SumBeforeVAT"].InnerText; Definition definition = DefinitionsHandler.GetDefinition(name); Product product = new Product(name, amount, price, definition); if (definition == null) { invalidProducts.Add(product); } _products.Add(product); } _invalidProductsAmount = invalidProducts.Count; _isUploadable = invalidProducts.Count == 0; _isValid = _isUploadable && !_isAlreadyUploaded && _toBeUploaded; } catch (Exception) { _isValid = false; _isUploadable = false; } return(invalidProducts); }
private void AncIngredientsLoaderOnRunWorkerCompleted(object sender, RunWorkerCompletedEventArgs runWorkerCompletedEventArgs) { DefinitionsHandler.LoadDefinitions((Dictionary <string, Ingredient>)runWorkerCompletedEventArgs.Result); _ancHandler.AncUploadedInvoicesLoader.RunWorkerAsync(new List <object> { beginDateTimePicker.Value, endDateTimePicker.Value }); }
private void submitButton_Click(object sender, EventArgs e) { object selectedItem = this.definitionsListBox.SelectedItem; if (selectedItem == null) { MessageBox.Show("Nimetus on valimata!"); return; } this._product.Definition = DefinitionsHandler.AddDefinition(_product, selectedItem.ToString(), int.Parse(this.multiplierTextBox.Text) * (DefinitionsHandler.AncIngredients[selectedItem.ToString()].IsAltered?1000:1)); this.DialogResult = DialogResult.OK; Close(); }