Example #1
0
        public async Task <IActionResult> UpdateExpense(int id)
        {
            //Hämta currentUser
            var myUser = await userManager.GetUserAsync(HttpContext.User);

            User currentUser = mysticoContext.GetUserByAspUserId(myUser.Id);

            //Hämta specifikt event som ska ändras
            var myExpense = mysticoContext.GetExpenseById(id);

            //OM expense inte finns eller (jag inte är inköpare eller det är en fakeperson)  ==> skickas till overview
            if (myExpense == null || (myExpense.PurchaserId != currentUser.Id && (myExpense.PurchaserId > 47 && myExpense.PurchaserId < 32)))
            {
                return(RedirectToAction(nameof(SplitController.Overview), nameof(SplitController).Replace("Controller", "")));
            }

            //Hämta event från databasen som currentUser är med i...
            var myEvents = mysticoContext.GetActiveEventsByUserId(currentUser.Id);

            //Hämta valutor från databasen
            List <Currency> allCurrencies = mysticoContext.GetAllCurrencies();
            List <User>     payers        = mysticoContext.GetPayersByExpense(myExpense);

            var viewModel = Library.ConvertToSplitExpenseVM(myExpense);

            viewModel.CurrencyItem = Library.ConvertCurrencyToSelectListItem(allCurrencies);
            viewModel.EventItem    = Library.ConvertEventToSelectListItem(myEvents);
            viewModel.Payers       = Library.ConvertUsersToUsersVM(payers);
            viewModel.ExpenseId    = myExpense.Id;


            return(View(viewModel));
        }
Example #2
0
        public List <PayerVM> GetUsersByExpense(int id)
        {
            var myExpense = mysticoContext.GetExpenseById(id);
            var myEvent   = mysticoContext.GetEventByExpense(myExpense);

            var myParticipants = mysticoContext.GetUsersByEventId(myEvent.Id);
            var myPayers       = mysticoContext.GetPayersByExpense(myExpense);

            var participantsWithMarkedPayers = Library.ConvertToListOfPayersVM(myParticipants, myPayers);

            return(participantsWithMarkedPayers);
        }