// Index Nueva Inscripción (By Current Alumno User)
        public async Task <ActionResult> NuevaConsulta()
        {
            try
            {
                var departamentosTask = _departamentoEndpoint.GetAll(_userSession.BearerToken);
                var materiasTask      = _materiaEndpoint.GetAll(_userSession.BearerToken);
                var profesoresTask    = _usuarioEndpoint.GetAllProfesores(_userSession.BearerToken);

                await Task.WhenAll(departamentosTask, materiasTask, profesoresTask);

                var departamentos = _mapper.Map <IEnumerable <MvcDepartamentoModel> >(source: departamentosTask.Result);
                var materias      = _mapper.Map <IEnumerable <MvcMateriaModel> >(source: materiasTask.Result);
                var profesores    = _mapper.Map <IEnumerable <MvcUsuarioModel> >(source: profesoresTask.Result);

                var viewModel = new ShowHorariosParaInscribirViewModel(
                    departamentos: departamentos, materias: materias, profesores: profesores);

                return(View(viewModel));
            }
            catch (UnauthorizedRequestException)
            {
                return(RedirectToAction("AccessDenied", "Error"));
            }
            catch (Exception ex)
            {
                return(RedirectToAction("SpecificError", "Error", new { error = ex.Message }));
            }
        }
示例#2
0
        public async Task LoadUsuariosProfesores()
        {
            try {
                IEnumerable <Usuario> entities = await _usuarioEndpoint.GetAllProfesores(_usuarioLogged.Token);

                UsuariosProfesoresInForm = _mapper.Map <BindingList <WpfUsuarioModel> >(entities);
            } catch (UnauthorizedRequestException) {
                _events.PublishOnUIThread(new NotAuthorizedEvent());
            } catch (Exception ex) {
                ErrorMessages = new BindingList <string> {
                    $"{ex.Message} Ha ocurrido un error. Por favor contacte a soporte"
                };
            }
        }