Example #1
0
        public async Task <Response> PostUserToAppAsync(
            string urlBase,
            string servicePrefix,
            string controller,
            SetUserToAppRequest setUserToAppRequest,
            string tokenType,
            string accessToken)
        {
            try
            {
                var request = JsonConvert.SerializeObject(setUserToAppRequest);
                var content = new StringContent(request, Encoding.UTF8, "application/json");
                var client  = new HttpClient
                {
                    BaseAddress = new Uri(urlBase)
                };

                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(tokenType, accessToken);
                var url      = $"{servicePrefix}{controller}";
                var response = await client.PostAsync(url, content);

                var answer = await response.Content.ReadAsStringAsync();

                var obj = JsonConvert.DeserializeObject <Response>(answer);
                return(obj);
            }
            catch (Exception ex)
            {
                return(new Response
                {
                    IsSuccess = false,
                    Message = ex.Message,
                });
            }
        }
        public async Task <IActionResult> PostUserToCurrentApp([FromBody] SetUserToAppRequest request)
        {
            var user = await _userHelper.GetUserByEmailAsync(request.Email);

            if (user == null)
            {
                return(BadRequest(new Response
                {
                    IsSuccess = false,
                    Message = "User not found"
                }));
            }

            var app = await _applicationRepository.GetAll().FirstOrDefaultAsync(a => a.AppId == Guid.Parse(request.AppId));

            app.User = user;
            if (await _applicationRepository.UpdateAsync(app) == null)
            {
                return(BadRequest(new Response
                {
                    IsSuccess = false,
                    Message = "Bad request"
                }));
            }
            return(Ok(new Response
            {
                IsSuccess = true,
                Message = "The user now is set to the current application"
            }));
        }