示例#1
0
        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));
        }