public async Task <ActionResult> Create(CreateMateriaViewModel viewModel)
        {
            try
            {
                var entity = _mapper.Map <Materia>(viewModel.Materia);

                await _materiaEndpoint.Post(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("_Create", viewModel));
            }
            catch (Exception ex)
            {
                return(RedirectToAction("SpecificErrorPartial", "Error", new { error = ex.Message }));
            }

            return(Content("OK"));
        }
        public async Task <ActionResult> Create()
        {
            try
            {
                IEnumerable <Departamento> entities = await _departamentoEndpoint.GetAll(_userSession.BearerToken);

                var departamentos = _mapper.Map <IEnumerable <MvcDepartamentoModel> >(entities);

                var viewModel = new CreateMateriaViewModel(departamentos);

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