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)); }
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); }