public async Task <ActionResult> Edit(EditMateriaViewModel viewModel) { try { var entity = _mapper.Map <Materia>(viewModel.Materia); await _materiaEndpoint.Put(entity, _userSession.BearerToken); } catch (UnauthorizedRequestException) { return(RedirectToAction("AccessDeniedPartial", "Error")); } catch (BadRequestException ex) { IEnumerable <Departamento> entities = await _departamentoEndpoint.GetAll(_userSession.BearerToken); var departamentos = _mapper.Map <IEnumerable <MvcDepartamentoModel> >(entities); viewModel.SetDepartamentosAsSelectList(departamentos); ModelState.AddModelErrors(ex.Errors); return(PartialView("_Edit", viewModel)); } catch (Exception ex) { return(RedirectToAction("SpecificErrorPartial", "Error", new { error = ex.Message })); } return(Content("OK")); }
public async Task <ActionResult> Edit(int?id) { if (id == null) { return(Content("Debe incluir el id")); } try { var materiaTask = _materiaEndpoint.Get(id, _userSession.BearerToken); var departamentosTask = _departamentoEndpoint.GetAll(_userSession.BearerToken); await Task.WhenAll(materiaTask, departamentosTask); var materia = _mapper.Map <MvcMateriaModel>(materiaTask.Result); var departamentos = _mapper.Map <IEnumerable <MvcDepartamentoModel> >(departamentosTask.Result); var viewModel = new EditMateriaViewModel(materia: materia, departamentos: departamentos); return(PartialView("_Edit", viewModel)); } catch (UnauthorizedRequestException) { return(RedirectToAction("AccessDeniedPartial", "Error")); } catch (NotFoundRequestException ex) { return(Content($"{ex.StatusCode}: Elemento no encontrado")); } catch (Exception ex) { return(RedirectToAction("SpecificErrorPartial", "Error", new { error = ex.Message })); } }