コード例 #1
0
        private void ChangeNameInExchangeRatesConfig(CountryConfig.SystemRow systemRow, string oldSystemName)
        {
            ExchangeRatesConfigFacade excf = EM_AppContext.Instance.GetExchangeRatesConfigFacade(false); if (excf == null)
            {
                return;
            }
            bool anyChange = false;

            foreach (ExchangeRatesConfig.ExchangeRatesRow exchangeRate in
                     from er in excf.GetExchangeRates() where er.Country.ToLower() == systemRow.CountryRow.ShortName.ToLower() &&
                     ExchangeRate.ValidForToList(er.ValidFor).Contains(oldSystemName.ToLower()) select er)
            {
                if (!anyChange && UserInfoHandler.GetInfo("Do you want to update the system name in the global exchange rate table?" + Environment.NewLine + Environment.NewLine +
                                                          "Note that, if no exchange rate is found for a system name, the exchange rate is assumed to be 1.", MessageBoxButtons.YesNo) == DialogResult.No)
                {
                    return;
                }
                exchangeRate.ValidFor = ExchangeRate.RemoveFromValidFor(exchangeRate.ValidFor, oldSystemName);
                exchangeRate.ValidFor = ExchangeRate.AddToValidFor(exchangeRate.ValidFor, systemRow.Name); anyChange = true;
            }
            if (anyChange)
            {
                excf.WriteXML();
            }
        }
 internal void RemoveSystems(string countryShortName, List <string> systemNames)
 {
     try
     {
         bool store = false; List <ExchangeRatesConfig.ExchangeRatesRow> delRates = new List <ExchangeRatesConfig.ExchangeRatesRow>();
         foreach (string systemName in systemNames)
         {
             foreach (ExchangeRatesConfig.ExchangeRatesRow exchangeRate in from er in GetExchangeRates(countryShortName)
                      where ExchangeRate.ValidForToList(er.ValidFor).Contains(systemName.ToLower())
                      select er)
             {
                 if (ExchangeRate.ValidForToList(exchangeRate.ValidFor).Count == 1)
                 {
                     delRates.Add(exchangeRate);
                 }
                 else
                 {
                     exchangeRate.ValidFor = ExchangeRate.RemoveFromValidFor(exchangeRate.ValidFor, systemName);
                 }
                 store = true; break;
             }
         }
         foreach (ExchangeRatesConfig.ExchangeRatesRow delRate in delRates)
         {
             delRate.Delete();
         }
         if (store)
         {
             WriteXML();
         }
     }
     catch (Exception exception)
     {
         UserInfoHandler.ShowException(exception, "A problem occured while adapting global exchange rates file. Please update manually if necessary.", false);
     }
 }