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")); }
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" }; } }
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")); }