Exemplo n.º 1
0
        // GET: FuncionarioController
        public async Task <ActionResult> Index()
        {
            if (!User.Identity.IsAuthenticated)
            {
                return(RedirectToAction("Index", "Home"));
            }

            await GetTokens();

            var funcionario = await _apiService.RecuperarFuncionario(this.UserId, this.AccessToken);

            if (!funcionario.Sucesso)
            {
                var result = await _apiService.CadastrarFuncionario(new FuncionarioRequest
                {
                    Ativo     = true,
                    Email     = User.Claims.First(x => x.Type == ClaimTypes.Email).Value,
                    Nome      = User.Claims.First(x => x.Type == ClaimTypes.GivenName).Value,
                    SobreNome = User.Claims.First(x => x.Type == ClaimTypes.Surname).Value,
                    UserId    = this.UserId.ToString()
                }, this.AccessToken);

                if (!result.Sucesso)
                {
                    return(RedirectToAction("Index", "Home"));
                }
            }
            return(View("Edit", funcionario.Data));
        }
Exemplo n.º 2
0
        public async Task <IActionResult> Create(FuncionarioVM funcionarioVM)
        {
            ViewBag.Empresas = await GetEmpresas();

            if (!ModelState.IsValid)
            {
                return(View(funcionarioVM));
            }

            var resposta = await _funcionarioService.CadastrarFuncionario(funcionarioVM);

            if (ResponsePossuiErros(resposta))
            {
                return(View(funcionarioVM));
            }

            return(RedirectToAction(nameof(Index)));
        }