Example #1
0
        public override bool Execute()
        {
            foreach (var el in CurrenciesNames)
            {
                if (!Verifier.CheckName(el))
                {
                    Information = StringSource.NameStructureError();
                    return(false);
                }
            }
            foreach (var el in CurrenciesShortNames)
            {
                if (!Verifier.CheckName(el))
                {
                    Information = StringSource.NameStructureError();
                    return(false);
                }
            }
            foreach (var el in CurrenciesRates)
            {
                if (!Verifier.CheckCurrencyCoef(el))
                {
                    Information = StringSource.CurrencyCoefStructureError();
                    return(false);
                }
            }


            var currencies = new List <Currency>();
            int idd        = -1;

            for (int i = 0; i < CurrenciesRates.Count; i++, idd = -1)
            {
                if (!int.TryParse(CurrenciesId.ElementAt(i), out idd))
                {
                    idd = -1;
                }
                currencies.Add(new Currency {
                    CurrencyID = idd,
                    Name       = CurrenciesNames.ElementAt(i),
                    ShortName  = CurrenciesShortNames.ElementAt(i),
                    Rate       = double.Parse(CurrenciesRates.ElementAt(i)),
                });
            }
            using (var bankaccoun = new BankServiceClient()) {
                //bankaccoun.RemoveAllCurrency();
                var oldcurr = bankaccoun.GetAllCurrency();
                foreach (var el in oldcurr)
                {
                    if (currencies.Where(vl => vl.CurrencyID == el.CurrencyID).Count() <= 0)
                    {
                        bankaccoun.RemoveCurrency(el);
                    }
                }

                foreach (var el in currencies)
                {
                    if (el.CurrencyID == -1)
                    {
                        bankaccoun.AddCurrency(el);
                    }
                    else
                    {
                        bankaccoun.UpdateCurrency(el);
                    }
                }
            }

            Information = StringSource.EditedIsTrue();
            return(true);
        }