// Index // GET: Messeges // Index page acts as the user inbox public async Task <IActionResult> Index() { IdentityUser user = await _userManager.GetUserAsync(User); string username = user.UserName; int messegesCount = await _messegesHandler.CountReceivedUserMessegesAsync(username); int readCount = await _usersHandler.GetUserReadMesseges(user); int deletedCount = await _usersHandler.GetUserDeletedMesseges(user); ReadMessegesViewModel vm = new ReadMessegesViewModel { Senders = await CreateInboxUserNamesSelectionList(username), SelectedSenders = new List <string>(), MessegesCount = messegesCount, ReadMessegesCount = readCount, DeletedMessegesCount = deletedCount, }; return(View(vm)); }
public async Task <IActionResult> Index(ReadMessegesViewModel vm) { if (ModelState.IsValid) { try { IdentityUser user = await _userManager.GetUserAsync(User); string username = user.UserName; int messegesCount = await _messegesHandler.CountReceivedUserMessegesAsync(username); string selectedSender = vm.SelectedSenders.First(); List <Message> messeges = await _messegesHandler.GetInboxMessegesFromUser(await GetUserName(), vm.SelectedSenders); List <SelectListItem> senders = await CreateInboxUserNamesSelectionList(username); int readCount = await _usersHandler.GetUserReadMesseges(user); int deletedCount = await _usersHandler.GetUserDeletedMesseges(user); vm = new ReadMessegesViewModel { Senders = senders, SelectedSenders = new List <string>(), SelectedSender = selectedSender, Messeges = CreateMessegesViewModel(messeges), MessegesCount = messegesCount, ReadMessegesCount = readCount, DeletedMessegesCount = deletedCount, }; return(View(vm)); } catch (Exception e) { // Dummy catch-exception } } return(await Index()); }