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); }
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); } }
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); }
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(); } }
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); } } }); }
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); }
Task IEventHandler <CurrencyExchangeRateRemoved> .HandleAsync(CurrencyExchangeRateRemoved payload) => RaiseEvent(payload);