Esempio n. 1
0
        public async Task <Result <string> > CriarUsuarioOperador(UsuarioOperadorInclusaoModel usuarioOperadorInclusaoModel)
        {
            var usuario = _mapper.Map <UsuarioOperadorInclusaoModel, Usuario>(usuarioOperadorInclusaoModel);

            if (!usuario.Valid)
            {
                return(Result <string> .Error(usuario.Notifications));
            }

            var operadorDbModel = await _operadorReadOnlyRepository.ObterOperadorAsync(usuarioOperadorInclusaoModel.OperadorId);

            if (operadorDbModel == null)
            {
                return(Result <string> .Error(new List <Notification>
                {
                    new Notification("Usuário", "Operador não encontrado")
                }));
            }

            var usuarioDbModel = await _usuarioWriteOnlyRepository
                                 .CriarUsuarioAsync(_mapper.Map <Usuario, UsuarioDbModel>(usuario));

            if (usuarioDbModel != null)
            {
                await _operadorWriteOnlyRepository
                .AtribuirUsuario(operadorDbModel.Id, usuarioDbModel.Id);
            }

            return(Result <string> .Ok(usuario.Id.ToString()));
        }
Esempio n. 2
0
        public async Task <IActionResult> RegistraUsuarioOperador([FromBody] UsuarioOperadorInclusaoModel operadorInclusaoModel)
        {
            var result = await _usuarioApplication.CriarUsuarioOperador(operadorInclusaoModel);

            if (result.Success)
            {
                return(Created($"/usuarios/{result.Object}", result.Object));
            }

            return(BadRequest(result.Notifications));
        }