public async Task<HttpResponseMessage> LoginUser(string username, string password)
        {
            if (string.IsNullOrEmpty(username))
            {
                throw new ArgumentNullException("The username is null or empty string!");
            }

            if (string.IsNullOrEmpty(password))
            {
                throw new ArgumentNullException("The password is null or empty string!");
            }

            var authCode = CalculateSHA1(password);

            var client = new HttpClient();
            var user = new UserModel()
            {
                Username = username,
                AuthCode = authCode
            };

            HttpContent postContent = new StringContent(JsonConvert.SerializeObject(user));
            postContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");

            var response = await client.PostAsync(BaseRootUri + "users/token", postContent);
            var responseString = await response.Content.ReadAsStringAsync();
            LoginResponseModel responseModel = JsonConvert.DeserializeObject<LoginResponseModel>(responseString);
            accessToken = responseModel.AccessToken;
            return response;
        }
        public async Task<HttpResponseMessage> RegisterUser(string username, string password, string email)
        {
            if (string.IsNullOrEmpty(username))
            {
                throw new ArgumentNullException("The username is null or empty string!");
            }

            if (string.IsNullOrEmpty(password))
            {
                throw new ArgumentNullException("The password is null or empty string!");
            }

            var authCode = CalculateSHA1(password);

            var client = new HttpClient();
            var user = new UserModel()
            {
                Username = username,
                AuthCode = authCode,
                Email = email
            };

            HttpContent postContent = new StringContent(JsonConvert.SerializeObject(user));
            postContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");

            var response = await client.PostAsync(BaseRootUri + "users/register", postContent);
            return response;
        }