internal Task AddCost(CostViewModel newCost) { return(Task.Factory.StartNew(() => { App.RunUIAsync(() => { Costs.Insert(0, newCost); }); BalanceViewModel currentBalance = Accounts.Balances.FirstOrDefault(b => b.Id == newCost.BalanceId); if (currentBalance != null) { currentBalance.AddCost(newCost.Cost); DbWorker.UpdateBalance(currentBalance.Model); } DbWorker.AddCost(newCost.Model); Accounts.RaiseBalance(); })); }