public async Task <IActionResult> Index() { if (!User.Identity.IsAuthenticated) { return(RedirectToAction("ToLogin", "Account")); } if (User.IsInRole("Administrator")) { List <Supervisor> supervisors = _cc.Supervisor.FromSqlRaw("SELECT * FROM Supervisor").ToList(); List <AppUser> users = await UserManager.Users.ToListAsync(); List <SupervisorsViewModel> multipleModel = new List <SupervisorsViewModel>(); foreach (Supervisor supervisor in supervisors) { foreach (AppUser user in users) { if (supervisor.SupervisorKey == user.SupervisorKey) { SupervisorsViewModel singleModel = new SupervisorsViewModel(supervisor, user.UserName, user.PasswordChanged); multipleModel.Add(singleModel); break; } } } SupervisorsListViewModel viewModel = new SupervisorsListViewModel(multipleModel); return(View(viewModel)); } else { return(RedirectToAction("Index", "Home")); } }
public async Task <ActionResult> SupervisorsList(SupervisorsPageViewModel vm) { if (string.IsNullOrEmpty(vm.SelectedMerchant)) { return(this.JsonFailResult(Phrases.FieldShouldNotBeEmpty, "#selectedMerchant")); } var staffs = await _payInvoiceClient.GetEmployeesAsync(vm.SelectedMerchant); var filteredstaffs = new List <SupervisorViewModel>(); foreach (var staff in staffs) { MerchantsSupervisorMembershipResponse supervisor = await _payInternalClient.GetSupervisorMembershipWithMerchantsAsync(staff.Id); if (supervisor != null) { var item = new SupervisorViewModel() { Id = staff.Id, Email = staff.Email, FirstName = staff.FirstName, LastName = staff.LastName, SupervisingMerchants = supervisor.Merchants.ToList() }; filteredstaffs.Add(item); } } var viewModel = new SupervisorsListViewModel { Employees = filteredstaffs, SelectedMerchant = vm.SelectedMerchant }; return(View(viewModel)); }