コード例 #1
0
        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"));
        }
コード例 #2
0
        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 }));
            }
        }