public async Task <ActionResult> Create(CreateHorarioConsultaFechadoViewModel viewModel) { try { var entity = _mapper.Map <HorarioConsultaFechado>(source: viewModel.HorarioConsultaFechado); await _horarioConsultaFechadoEndpoint.Post(entity, _userSession.BearerToken); } catch (UnauthorizedRequestException) { return(RedirectToAction("AccessDeniedPartial", "Error")); } catch (BadRequestException ex) { var horariosConsultaTask = _horarioConsultaEndpoint.GetAll(_userSession.BearerToken); await Task.WhenAll(horariosConsultaTask); var horariosConsulta = _mapper.Map <IEnumerable <MvcHorarioConsultaModel> >(source: horariosConsultaTask.Result); viewModel.SetHorariosConsultaAsSelectList(horariosConsulta); viewModel.SetEstadosAsSelectList(); ModelState.AddModelErrors(ex.Errors); return(PartialView("_Create", viewModel)); } catch (Exception ex) { return(RedirectToAction("SpecificErrorPartial", "Error", new { error = ex.Message })); } return(Content("OK")); }
public async Task <ActionResult> Create() { try { // These tasks run in parallel until they are awaited by Task.WhenAll method var horariosConsultaTask = _horarioConsultaEndpoint.GetAll(_userSession.BearerToken); await Task.WhenAll(horariosConsultaTask); var horariosConsulta = _mapper.Map <IEnumerable <MvcHorarioConsultaModel> >(source: horariosConsultaTask.Result); var viewModel = new CreateHorarioConsultaFechadoViewModel(horariosConsulta: horariosConsulta); return(PartialView("_Create", viewModel)); } catch (UnauthorizedRequestException) { return(RedirectToAction("AccessDeniedPartial", "Error")); } catch (Exception ex) { return(RedirectToAction("SpecificErrorPartial", "Error", new { error = ex.Message })); } }