Example #1
0
        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);
        }
Example #2
0
 private void AncIngredientsLoaderOnRunWorkerCompleted(object sender, RunWorkerCompletedEventArgs runWorkerCompletedEventArgs)
 {
     DefinitionsHandler.LoadDefinitions((Dictionary <string, Ingredient>)runWorkerCompletedEventArgs.Result);
     _ancHandler.AncUploadedInvoicesLoader.RunWorkerAsync(new List <object> {
         beginDateTimePicker.Value, endDateTimePicker.Value
     });
 }
Example #3
0
        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();
        }