public void UpdateData(ExpenseDAOManager manager, CouplesExpensesReview review) { MessagingCenter.Subscribe <NewExpensePage, DAL.Expense>(this, "AddExpense", async(obj, expense) => { var _expense = expense as DAL.Expense; review.AddExpense( new Models.Expense { Id = _expense.Name, Amount = _expense.Amount } ); _expense.CoupleId = review.CoupleId; _expense.PayerId = review.User.Id; await manager.SaveTaskAsync(_expense); OnUserAddExpense( userTotal: review.User.Total.ToString(), situationName: GetSituationText(review.Situation.Status, review.Partner.Name), situationAmount: review.Situation.Amount.ToString() ); }); SetUp(review); }
public MockExpensesStore() { items = new List <Expense>(); UserExpenses ue = new UserExpenses(Constants.member1, "Alberto"); PartnerExpenses pe = new PartnerExpenses(Constants.member2, "Esther"); review = new CouplesExpensesReview(Constants.CoupeId, ue, pe); }
public void SetUp(CouplesExpensesReview review) { UserName.Text = review.User.Name; UserTotal.Text = review.User.Total.ToString(); SituationName.Text = GetSituationText(review.Situation.Status, review.Partner.Name); SituationAmount.Text = review.Situation.Amount.ToString(); PartnerName.Text = review.Partner.Name; PartnerTotal.Text = review.Partner.Total.ToString(); }
protected override async void OnStart() { // Handle when your app starts var manager = ExpenseDAOManager.DefaultManager; var expenseDAOs = await manager.GetExpensesAsyncByCoupleId(Constants.CoupeId); var expensesByMember = expenseDAOs.GroupBy(exp => exp.PayerId); MockExpensesStore store = new MockExpensesStore(); CouplesExpensesReview review = store.GetCurrent().GetAwaiter().GetResult(); if (expensesByMember.Any(x => x.Key == Constants.member2)) { var partnerExpenses = expensesByMember.Single(x => x.Key == Constants.member2) .Select(exp => new Models.Expense { Id = exp.Name, Amount = exp.Amount }); review.Partner.LoadExpenses(partnerExpenses); review.LoadSituation(); } if (expensesByMember.Any(x => x.Key == Constants.member1)) { var userExpenses = expensesByMember.Single(x => x.Key == Constants.member1) .Select(exp => new Models.Expense { Id = exp.Name, Amount = exp.Amount }); foreach (var exp in userExpenses) { review.AddExpense(exp); } } ((FullCameraPage)MainPage).UpdateData(manager, review); }