Beispiel #1
0
        public async Task <RepositoryResponce> ChangePassword(ChangePasswordDTO changePasswordDto)
        {
            if (changePasswordDto == null)
            {
                return(RepositoryResponce.ArgumentNullResponce);
            }
            System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
            string url = Flurl.Url.Combine(_ApiUrl, ConventionalUrls.ChangePasswordRelativeUrl);

            try {
                _Client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(
                    scheme: "bearer",
                    parameter: await _LocalStorage.GetItemAsStringAsync(ConventionalKeys.TokenStorageKey)
                    );
                HttpRequestMessage httpRequestMessage = new HttpRequestMessage(HttpMethod.Post, url)
                {
                    Content = new StringContent(JsonConvert.SerializeObject(changePasswordDto), Encoding.UTF8, MediaTypeNames.Application.Json)
                };
                var responce = await _Client.SendAsync(httpRequestMessage);

                PasswordActionAnswer answer = JsonConvert.DeserializeObject <PasswordActionAnswer>(await responce.Content.ReadAsStringAsync());

                var repositoryReponce = RepositoryResponce.StatusCodeResponce(responce.StatusCode);
                repositoryReponce.Message = answer.ServerMessage;
                return(repositoryReponce);
            }
            catch (Exception e) {
                return(new RepositoryResponce()
                {
                    Succeed = false, Errror = e.Message
                });
            }
        }
Beispiel #2
0
        public async Task <RepositoryResponce> Login(UserLoginDTO userData)
        {
            if (userData == null)
            {
                return(RepositoryResponce.ArgumentNullResponce);
            }
            System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
            string             url = Flurl.Url.Combine(_ApiUrl, ConventionalUrls.LoginRelativeUrl);
            HttpRequestMessage httpRequestMessage = new HttpRequestMessage(HttpMethod.Post, url)
            {
                Content = new StringContent(JsonConvert.SerializeObject(userData), Encoding.UTF8, MediaTypeNames.Application.Json)
            };
            var responce = await _Client.SendAsync(httpRequestMessage);

            if (!responce.IsSuccessStatusCode)
            {
                return(RepositoryResponce.StatusCodeResponce(responce.StatusCode));
            }
            else
            {
                var loginData = JsonConvert.DeserializeObject <Data.DTOs.SessionDataObject>(await responce.Content.ReadAsStringAsync());
                await _LocalStorage.SetItemAsync(ConventionalKeys.TokenStorageKey, loginData.Token);

                await((ApiAuthentificationStateProvider)_AuthenticationStateProvider).LoggedIn();
                _Client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(
                    "bearer", loginData.Token);
                var reponse = RepositoryResponce.StatusCodeResponce(responce.StatusCode);
                reponse.Message = loginData.Answer;
                return(reponse);
            }
        }
Beispiel #3
0
        public async Task <RepositoryResponce> Delete(string url, TKey key)
        {
            if (key == null)
            {
                return(RepositoryResponce.ArgumentNullResponce);
            }
            var request = await _RequestMessageProvider.CreateMessageAsync(HttpMethod.Delete, Flurl.Url.Combine(url, key.ToString()));

            var responce = await _Client.SendAsync(request);

            return(RepositoryResponce.StatusCodeResponce(responce.StatusCode));
        }
Beispiel #4
0
        public async Task <RepositoryResponce> Create(string url, TEntity entity)
        {
            if (entity == null)
            {
                return(RepositoryResponce.ArgumentNullResponce);
            }
            var request = await _RequestMessageProvider.CreateMessageAsync(HttpMethod.Post, url);

            request.Content = new StringContent(JsonConvert.SerializeObject(entity), Encoding.UTF8, MediaTypeNames.Application.Json);
            var responce = await _Client.SendAsync(request);

            return(RepositoryResponce.StatusCodeResponce(responce.StatusCode));
        }
Beispiel #5
0
        public async Task <RepositoryResponce> Register(RegistrationVM userData)
        {
            if (userData == null)
            {
                return(RepositoryResponce.ArgumentNullResponce);
            }
            System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
            string             url = Flurl.Url.Combine(_ApiUrl, ConventionalUrls.RegisterRelativeUrl);
            HttpRequestMessage httpRequestMessage = new HttpRequestMessage(HttpMethod.Post, url)
            {
                Content = new StringContent(JsonConvert.SerializeObject(userData), Encoding.UTF8, MediaTypeNames.Application.Json)
            };
            var responce = await _Client.SendAsync(httpRequestMessage);

            return(RepositoryResponce.StatusCodeResponce(responce.StatusCode));
        }