Example #1
0
        Task IEventHandler <CurrencyExchangeRateRemoved> .HandleAsync(CurrencyExchangeRateRemoved payload)
        {
            UserModel userModel = GetUserModel(payload.UserKey);

            userModel.ExchangeRateHashCodes.Remove(new CurrencyExchangeRateSet(payload.SourceUniqueCode, payload.TargetUniqueCode, payload.ValidFrom, payload.Rate)
            {
                UserKey = payload.UserKey
            }.GetHashCode());
            return(Task.CompletedTask);
        }
Example #2
0
        async Task IEventHandler <CurrencyExchangeRateRemoved> .HandleAsync(CurrencyExchangeRateRemoved payload)
        {
            await EnsureUserStorageAsync(payload.UserKey);

            List <ExchangeRateModel> exchangeRates = storage[payload.UserKey].Currencies[payload.TargetUniqueCode];
            ExchangeRateModel        exchangeRate  = exchangeRates.FirstOrDefault(r => r.SourceCurrency == payload.SourceUniqueCode && r.Rate == payload.Rate && r.ValidFrom == payload.ValidFrom);

            if (exchangeRate != null)
            {
                exchangeRates.Remove(exchangeRate);
                exchangeRates.Sort(exchangeRateComparer);
            }
        }
Example #3
0
        Task IEventHandler <CurrencyExchangeRateRemoved> .HandleAsync(CurrencyExchangeRateRemoved payload)
        {
            List <ExchangeRateModel> exchangeRates = currencies[payload.TargetUniqueCode];
            ExchangeRateModel        exchangeRate  = exchangeRates.FirstOrDefault(r => r.SourceCurrency == payload.SourceUniqueCode && r.Rate == payload.Rate && r.ValidFrom == payload.ValidFrom);

            if (exchangeRate != null)
            {
                exchangeRates.Remove(exchangeRate);
                exchangeRates.Sort(exchangeRateComparer);
            }

            return(Task.CompletedTask);
        }
Example #4
0
        public async Task HandleAsync(CurrencyExchangeRateRemoved payload)
        {
            using (ReadModelContext db = readModelContextFactory.Create())
            {
                CurrencyExchangeRateEntity entity = await db.ExchangeRates
                                                    .WhereUserKey(payload.UserKey)
                                                    .FirstOrDefaultAsync(r => r.TargetCurrency == payload.TargetUniqueCode && r.SourceCurrency == payload.SourceUniqueCode && r.Rate == payload.Rate && r.ValidFrom == payload.ValidFrom);

                if (entity != null)
                {
                    db.ExchangeRates.Remove(entity);
                }

                await db.SaveChangesAsync();
            }
        }
Example #5
0
        async Task IEventHandler <CurrencyExchangeRateRemoved> .HandleAsync(CurrencyExchangeRateRemoved payload)
        {
            await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
            {
                CurrencyEditViewModel viewModel = ViewModel.Items.FirstOrDefault(c => c.UniqueCode == payload.TargetUniqueCode);
                if (viewModel != null)
                {
                    ExchangeRateModel model = viewModel.ExchangeRates
                                              .FirstOrDefault(r => r.SourceCurrency == payload.SourceUniqueCode && r.Rate == payload.Rate && r.ValidFrom == payload.ValidFrom);

                    if (model != null)
                    {
                        viewModel.ExchangeRates.Remove(model);
                        viewModel.ExchangeRates.SortDescending(r => r.ValidFrom);
                    }
                }
            });
        }
Example #6
0
        Task IEventHandler <CurrencyExchangeRateRemoved> .HandleAsync(CurrencyExchangeRateRemoved payload)
        {
            Log.Debug($"Got '{nameof(CurrencyExchangeRateRemoved)}' with TargetCurrency: '{payload.TargetUniqueCode}'.");
            if (payload.TargetUniqueCode == TargetCurrency)
            {
                ExchangeRateModel model = Models.FirstOrDefault(m => m.SourceCurrency == payload.SourceUniqueCode && m.Rate == payload.Rate && m.ValidFrom == payload.ValidFrom);
                if (model != null)
                {
                    Log.Debug($"Found model.");
                    Models.Remove(model);
                    StateHasChanged();
                }
                else
                {
                    Log.Debug($"Model not found, SourceCurreny: '{payload.SourceUniqueCode}', Rate: '{payload.Rate}', ValidFrom: '{payload.ValidFrom}'.");
                }
            }

            return(Task.CompletedTask);
        }
Example #7
0
 Task IEventHandler <CurrencyExchangeRateRemoved> .HandleAsync(CurrencyExchangeRateRemoved payload) => RaiseEvent(payload);