コード例 #1
0
        public async Task <ActionResult> CreateHorario(CreateOwnHorarioConsultaViewModel viewModel)
        {
            try
            {
                Usuario user = await _usuarioEndpoint.GetCurrentUsuario(token : _userSession.BearerToken);

                viewModel.SetProfesor(user.Id);

                var horarioConsulta = _mapper.Map <HorarioConsulta>(source: viewModel.HorarioConsulta);

                await _horarioConsultaEndpoint.Post(horarioConsulta, _userSession.BearerToken);
            }
            catch (UnauthorizedRequestException)
            {
                return(RedirectToAction("AccessDenied", "Error"));
            }
            catch (BadRequestException ex)
            {
                IEnumerable <Materia> entities = await _materiaEndpoint.GetAll(_userSession.BearerToken);;

                var materias = _mapper.Map <IEnumerable <MvcMateriaModel> >(source: entities);
                viewModel.SetMateriasAsSelectList(materias);
                viewModel.SetDiasSemanaAsSelectList();

                ModelState.AddModelErrors(ex.Errors);

                return(PartialView("_CreateOwnHorario", viewModel));
            }
            catch (Exception ex)
            {
                return(RedirectToAction("SpecificError", "Error", new { error = ex.Message }));
            }

            return(Content("OK"));
        }
コード例 #2
0
        public async void Create()
        {
            ErrorMessages = null;

            var horarioConsulta = new WpfHorarioConsultaModel {
                Weekday    = SelectedDiaSemana, StartHour = StartHourInForm, EndHour = EndHourInForm,
                Place      = PlaceInForm, EliminationDate = EliminationDateInForm, MateriaId = SelectedMateria?.Id,
                ProfesorId = SelectedUsuarioProfesor?.Id
            };

            try {
                var entity = _mapper.Map <HorarioConsulta>(horarioConsulta);

                await _horarioConsultaEndpoint.Post(entity, _usuarioLogged.Token);
                await LoadHorariosConsulta();

                SelectedHorarioConsulta = null;
            } catch (UnauthorizedRequestException) {
                ErrorMessages = new BindingList <string> {
                    "No tiene acceso"
                };
            } catch (BadRequestException ex) {
                ErrorMessages = new BindingList <string>(ex.Errors.Select(kvp => string.Join(". ", kvp.Value)).ToList());
            } catch (Exception ex) {
                ErrorMessages = new BindingList <string> {
                    $"{ex.Message} Ha ocurrido un error. Por favor contacte a soporte"
                };
            }
        }
コード例 #3
0
        public async Task <ActionResult> Create(CreateHorarioConsultaViewModel viewModel)
        {
            try
            {
                var entity = _mapper.Map <HorarioConsulta>(source: viewModel.HorarioConsulta);

                await _horarioConsultaEndpoint.Post(entity, _userSession.BearerToken);
            }
            catch (UnauthorizedRequestException)
            {
                return(RedirectToAction("AccessDeniedPartial", "Error"));
            }
            catch (BadRequestException ex)
            {
                var profesoresTask = _usuarioEndpoint.GetAll(_userSession.BearerToken);
                var materiasTask   = _materiaEndpoint.GetAll(_userSession.BearerToken);

                await Task.WhenAll(profesoresTask, materiasTask);

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

                viewModel.SetProfesoresAsSelectList(profesores);
                viewModel.SetMateriasAsSelectList(materias);
                viewModel.SetDiasSemanaAsSelectList();

                ModelState.AddModelErrors(ex.Errors);

                return(PartialView("_Create", viewModel));
            }
            catch (Exception ex)
            {
                return(RedirectToAction("SpecificErrorPartial", "Error", new { error = ex.Message }));
            }

            return(Content("OK"));
        }