public void SaveOrUpdateArticleUnit(Utils.Unit source)
        {
            if (!SettingsDB.Elements("Units").Any())
                SettingsDB.Add(new XElement("Units"));

            if (SettingsDB.Element("Units").Elements(source.XElementName).Any(x => x.Element("Name").Value == source.Name))
                SettingsDB.Element("Units").Elements(source.XElementName).Single(x => x.Element("Name").Value == source.Name).ReplaceWith(source.GetXElement());
            else
                SettingsDB.Element("Units").Add(source.GetXElement());
            
            try { File.WriteAllText(DatabasePath + CurrentCompany.CompanyID + "\\Others.xml", SettingsDB.ToString()); }
            catch (Exception e) { logger.Fatal("Error writing article-unit to " + DatabasePath + CurrentCompany.CompanyID + "\\Others.xml", e); }
        }
        public void SaveOrUpdateTaxClass(Utils.TaxClass source)
        {
            if (!SettingsDB.Elements("TaxClasses").Any())
                SettingsDB.Add(new XElement("TaxClasses"));

            if (SettingsDB.Element("TaxClasses").Elements(source.XElementName).Any(x => x.Element("Name").Value == source.Name))
                SettingsDB.Element("TaxClasses").Elements(source.XElementName).Single(x => x.Element("Name").Value == source.Name).ReplaceWith(source.GetXElement());
            else
                SettingsDB.Element("TaxClasses").Add(source.GetXElement());

            
            try { File.WriteAllText(DatabasePath + CurrentCompany.CompanyID + "\\Others.xml", SettingsDB.ToString()); }
            catch (Exception e) { logger.Fatal("Error saving changes to " + DatabasePath + CurrentCompany.CompanyID + "\\Others.xml" + "TaxClass was changed.", e); }
        }