Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
 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);
        }