コード例 #1
0
        public async Task <IActionResult> CadastrarUsuário([FromBody] CadastrarUsuárioViewModel vm)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequestModelStateInválida());
            }

            var erros = await _contaAppService.CadastrarUsuário(vm);

            if (erros.Count == 0)
            {
                var nomeUsuário = await _contaAppService.ObterNomeDoUsuárioPorUserNameAsync(vm.Nome);

                return(OkUsuárioAutenticado(nomeUsuário));
            }
            else
            {
                foreach (var erro in erros)
                {
                    ModelState.AddModelError(string.Empty, erro);
                }

                return(BadRequestModelStateInválida());
            }
        }
コード例 #2
0
        /// <summary>
        /// Cadastra um novo usuário no sistema
        /// </summary>
        /// <param name="vm"></param>
        /// <returns>Uma lista de mensagens de erro, caso não seja possível efetuar o cadastro</returns>
        public async Task <IList <string> > CadastrarUsuário(CadastrarUsuárioViewModel vm)
        {
            var erros = new List <string>();

            var appUser = new UsuárioIdentity()
            {
                UserName = vm.Nome
            };

            var resultadoCriação = await _contaIdentityService.CreateAsync(appUser, vm.Senha);

            if (resultadoCriação.Count == 0)
            {
                var usuário = new Usuário {
                    Id = new Guid(appUser.Id), Nome = vm.Nome, CriadoEm = DateTime.Now
                };

                await _usuárioService.AdicionarAsync(usuário);

                await _contaIdentityService.SignInAsync(appUser);
            }
            else
            {
                foreach (var erro in resultadoCriação)
                {
                    erros.Add(erro);
                }
            }

            return(erros);
        }
コード例 #3
0
        public async Task <IActionResult> CadastrarUsuário(CadastrarUsuárioViewModel vm)
        {
            if (!ModelState.IsValid)
            {
                return(View(vm));
            }

            var erros = await _contaAppService.CadastrarUsuário(vm);

            if (erros.Count == 0)
            {
                return(RedirecionarParaHomeIndex());
            }
            else
            {
                foreach (var erro in erros)
                {
                    ModelState.AddModelError(string.Empty, erro);
                }

                return(View(vm));
            }
        }