public async Task RemoveExpense(ExpenseViewModel e) { try { await ThreadPool.RunAsync((workItem) => { try { Vehicle.Expenses.Remove(e.Expense); Expenses.Remove(e); } catch { } finally { Vehicle.Expenses.OrderBy(x => x.Name); Expenses.OrderBy(x => x.Expense.Name); } }); } catch (Exception ex) { } }
public async Task AddExpense(string name) { try { await ThreadPool.RunAsync((workItem) => { try { var expense = ExpenseRepository.Factory(name); var vm = new ExpenseViewModel(expense); Vehicle.Expenses.Add(expense); Expenses.Add(vm); SelectedExpense = vm; } catch (Exception ex) { App.Telemetry.TrackException(ex); SelectedExpense = null; } finally { Vehicle.Expenses.OrderBy(x => x.Name); Expenses.OrderBy(x => x.Expense.Name); } }); } catch (Exception ex) { App.Telemetry.TrackException(ex); } }