public async Task <ResponseService <List <GetUserDto> > > RemoveAllUsers()
        {
            var response = new ResponseService <List <GetUserDto> >();

            try
            {
                _context.RemoveRange(_context.Users);
                await _context.SaveChangesAsync();

                response.Data    = _context.Users.Select((u) => _mapper.Map <GetUserDto>(u)).ToList();
                response.Success = true;
                response.Message = "Table was deleted!";
            }
            catch (System.Exception ex)
            {
                response.Success = false;
                response.Message = ex.Message;
            }

            return(response);
        }
        public async Task <ResponseService <GetUserDto> > AddUser(PostUserDto user)
        {
            var response = new ResponseService <GetUserDto>();

            try
            {
                new ObjectValidation().userIsValid(user);

                User userTrueFormat = _mapper.Map <User>(user);
                User userExist      = _context.Users.FirstOrDefault(u => u.Username == user.Username || u.Email == user.Email);

                if (userExist != null)
                {
                    throw new System.Exception("User Already exist");
                }

                CreatePasswordHash(user.Password, out byte[] passwordHash, out byte[] passwordSalt);
                userTrueFormat.PasswordHash = passwordHash;
                userTrueFormat.Salt         = passwordSalt;

                await _context.Users.AddAsync(userTrueFormat);

                await _context.SaveChangesAsync();

                response.Data    = _mapper.Map <GetUserDto>(user);
                response.Success = true;
                response.Message = "User creation successfull!";
            }
            catch (System.Exception ex)
            {
                response.Success = false;
                response.Message = ex.Message;
            }

            return(response);
        }