Пример #1
0
        public async Task <bool> SetMonthlyTrafficAsync(LoginConfigureBindingModel model)
        {
            var context = _httpContextAccesor.HttpContext;
            var token   = await context.Authentication.GetTokenAsync("access_token");

            _apiClient = new HttpClient();
            _apiClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", token);

            var loginsUrl = $"{_remoteServiceBaseUrl}/Configure";

            StringContent content = new StringContent(JsonConvert.SerializeObject(model), System.Text.Encoding.UTF8, "application/json");

            var response = await _apiClient.PostAsync(loginsUrl, content);

            if (response.StatusCode == System.Net.HttpStatusCode.InternalServerError || response.StatusCode == System.Net.HttpStatusCode.NotFound)
            {
                return(false);
            }

            return(true);
        }
Пример #2
0
        public async Task <IActionResult> ConfigureLogin([FromBody] LoginConfigureBindingModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var userId = User.FindFirst("sub").Value;

            var login = await _adContext.Logins.FindAsync(model.UserName);

            if (login == null)
            {
                return(NotFound());
            }
            login.MonthlyTraffic = model.MonthlyTraffic;

            await _adContext.SaveChangesAsync();

            return(NoContent());
        }
Пример #3
0
        public async Task <IActionResult> Configure(LoginConfigureBindingModel model)
        {
            if (!ModelState.IsValid)
            {
                return(RedirectToAction(nameof(Index)));
            }

            var userId = User.Identities.GetUserId();

            if (model.MonthlyTraffic == 0)
            {
                model.MonthlyTraffic = null;
            }

            var result = await _loginService.SetMonthlyTrafficAsync(model);

            if (result == false)
            {
                //
            }
            NotifyServerUpdateAccountStatus();
            return(RedirectToAction(nameof(Index)));
        }