public IActionResult SignUp([FromBody] RegistroUsuarioDto user)
        {
            if (user == null)
            {
                return(BadRequest("Dados inválidos"));
            }

            var userCreated = _repositoryUserManage.RegisterUser(user);

            return(Created("", userCreated));
        }
        private void RegistrarCarroAoMotorista(RegistroUsuarioDto user, int idUsuarioRegistrado)
        {
            if (string.IsNullOrEmpty(user.Placa))
            {
                throw new Exception("Por favor informe a placa do carro para registro do mesmo");
            }
            var carro = new Carro()
            {
                Cor               = user.CorCarro,
                Marca             = user.Modelo,
                Placa             = user.Placa,
                QuantidadeLugares = Convert.ToInt32(user.QtsLugares),
                IdMotorista       = idUsuarioRegistrado
            };

            _repositoryCarro.Save(carro);
        }
        public BaseResult <Usuario> RegisterUser(RegistroUsuarioDto user)
        {
            if (GetAll(u => u.Ra.Equals(user.Ra)).Any())
            {
                return new BaseResult <Usuario> {
                           Success = false, Message = "O RA informado já está cadastrado."
                }
            }
            ;

            if (GetAll(u => u.Email.Equals(user.Email)).Any())
            {
                return new BaseResult <Usuario> {
                           Success = false, Message = "E-mail cadastrado cadastrado"
                }
            }
            ;


            var currentUser = _mapper.Map <Usuario>(user);

            byte[] hash, salt;

            GererateHash(user.Senha, out hash, out salt);
            currentUser.Passwordhash = hash;
            currentUser.Passwordsalt = salt;

            var _user = Save(currentUser);

            if (user.Motorista)
            {
                RegistrarCarroAoMotorista(user, _user.Id);
            }

            return(new BaseResult <Usuario> {
                Success = true, Data = _user, Message = "Usuario criado com sucesso"
            });
        }