Exemple #1
0
        private void InitializeData()
        {
            // load rates for selected currency by bank
            var bankOrg = parent.Source.Organizations.Find(o => o.Title.Value == parent.BankBox.SelectedItem);

            if (bankOrg == null)
            {
                return;
            }

            var selectedBank = OrganizationToBankConverter.OrganizationtoBank(bankOrg);

            // select * from rates where bank = parent.bankBox.SelectedItem;
            var currencyRates = _currencyRateRepository.GetAllByBankId(selectedBank)
                                .Where(cv => cv.Code == (string)parent.CurrencyBox.SelectedItem)
                                .OrderByDescending(cv => cv.DateTime)
                                .ToList();

            // load this data into datagrid
            currencyRatesTable.Rows.Clear();
            foreach (var currencyRate in currencyRates)
            {
                var index = currencyRatesTable.Rows.Add();
                currencyRatesTable.Rows[index].Cells["Date"].Value         = currencyRate.DateTime;
                currencyRatesTable.Rows[index].Cells["PurchaseRate"].Value = currencyRate.PurchaseRate;
                currencyRatesTable.Rows[index].Cells["SellingRate"].Value  = currencyRate.SellingRate;
            }
        }
        private void SaveNewCurrencyRates()
        {
            foreach (var organization in source.Organizations)
            {
                var bank             = OrganizationToBankConverter.OrganizationtoBank(organization);
                var currencyRates    = _currencyRateRepository.GetAllByBankId(bank);
                var newCurrencyRates = organization.CurrencyValues
                                       .Select(cv => new CurrencyRate(cv.Code, bank.Id, cv.Buy, cv.Sell, DateTime.Parse(source.Date)))
                                       .ToList();

                newCurrencyRates.RemoveAll(cr => currencyRates.Contains(cr));

                if (newCurrencyRates.Count > 0)
                {
                    _currencyRateRepository.SaveAll(newCurrencyRates);
                }
            }
        }