public ActionResult ViewPerformers() //просмотр всех исполнителей { var connectionFactory = new ConnectionFactory(ConnectionResource.ConnectionString); var context = new QulixContext(connectionFactory); using (var uow = context.CreateUnitOfWork()) { var repositoryFactory = new RepositoryFactory(context); var performerService = new PerformerService(uow, repositoryFactory); var performers = performerService.GetAllPerformers(); var model = new PerformerListViewModel() { Performers = new List <PerformerModel>() }; if (performers == null) { return(View(model)); } foreach (var performer in performers) { model.Performers.Add(new PerformerModel() { Id = performer.Id, FirstName = performer.FirstName, LastName = performer.LastName, PatronymicName = performer.PatronymicName }); } return(View(model)); } }
public async Task <IActionResult> Performers(int page = 1) { var settings = await _performerSchedulingService.GetSettingsAsync(); var schedulingStage = _performerSchedulingService.GetSchedulingStage(settings); if (schedulingStage < PsSchedulingStage.SchedulingPreview) { return(RedirectToAction(nameof(Index))); } var filter = new PerformerSchedulingFilter(page, PerformersPerPage) { IsApproved = true }; var performerList = await _performerSchedulingService.GetPaginatedPerformerListAsync(filter); var paginateModel = new PaginateViewModel { ItemCount = performerList.Count, CurrentPage = page, ItemsPerPage = filter.Take.Value }; if (paginateModel.PastMaxPage) { return(RedirectToRoute( new { page = paginateModel.LastPage ?? 1 })); } var systemId = GetId(ClaimType.SystemId); foreach (var performer in performerList.Data) { performer.AvailableInSystem = await _performerSchedulingService .GetPerformerSystemAvailabilityAsync(performer.Id, systemId); performer.ProgramCount = await _performerSchedulingService .GetPerformerProgramCountAsync(performer.Id); } var viewModel = new PerformerListViewModel { Performers = performerList.Data, PaginateModel = paginateModel }; return(View(viewModel)); }