protected override async Task OnParametersSetAsync() { var authState = await authenticationStateTask; User = authState.User; if (User.Identity.IsAuthenticated) { var profile = (ViewApplicationUser)User; var url = $"api/Profile/GetUserProfileNoDetail/{profile.Id}"; Console.WriteLine($"get profile {url}"); var response = await httpClient.GetAsync($"api/Profile/GetUserProfileNoDetail/{profile.Id}"); if (response.IsSuccessStatusCode) { var json = await response.Content.ReadAsStringAsync(); Console.WriteLine($"GetUserProfileNoDetail:{json}"); UserProfile = JsonConvert.DeserializeObject <ViewApplicationUser>(json); NavigationUrlService.SetUrls($"https://www.google.com/maps/search/?api=1&query={UserProfile.Address},{UserProfile.City}%20{UserProfile.Country}&query_place_id={UserProfile.DisplayName}", NavigationManager.ToAbsoluteUri($"/contact/import/{UserProfile.Id}").ToString()); NavigationUrlService.ShowContacts = true; NavigationUrlService.ShowMyAds = true; if (User.FindFirstValue(ClaimTypes.NameIdentifier).Equals(UserProfile.Id)) { NavigationUrlService.ShowImport = false; NavigationUrlService.ShowEditProfile = true; } var responseSocialNetwork = await httpClient.GetAsync("api/socialnetwork"); response.EnsureSuccessStatusCode(); var jsonSocialNetwork = await responseSocialNetwork.Content.ReadAsStringAsync(); AvailableSocialNetworks = JsonConvert.DeserializeObject <List <SocialNetwork> >(jsonSocialNetwork); } } }
protected override async Task OnParametersSetAsync() { var authState = await authenticationStateTask; User = authState.User; var httpClient = HttpClientFactory.CreateClient(Configuration["Service:Api:AnonymousApiName"]); if (User.Identity.IsAuthenticated) { if (string.IsNullOrEmpty(ProfileId)) { ProfileId = User.FindFirstValue(ClaimTypes.NameIdentifier); } await httpClient.PostAsJsonAsync <EventTrackingItem>("api/EventTracker", new EventTrackingItem { Category = "Navigation", Key = $"ViewProfile#{ProfileId}", CreatedDate = DateTime.UtcNow, Id = Guid.NewGuid(), UserId = User.FindFirstValue(ClaimTypes.NameIdentifier) }); } else { await httpClient.PostAsJsonAsync <EventTrackingItem>("api/EventTracker", new EventTrackingItem { Category = "Navigation", Key = $"ViewProfile#{ProfileId}", CreatedDate = DateTime.UtcNow, Id = Guid.NewGuid() }); } var apiUrl = $"/api/viewProfile/{ProfileId}"; var uri = Navigation.ToAbsoluteUri(Navigation.Uri); if (QueryHelpers.ParseQuery(uri.Query).TryGetValue("social", out var _social)) { apiUrl += $"?social={_social}"; await httpClient.PostAsJsonAsync <EventTrackingItem>("api/EventTracker", new EventTrackingItem { UserId = UserProfile?.Id, Category = "Navigation", Key = $"ViewProfileFromSocial#{_social}", CreatedDate = DateTime.UtcNow, Id = Guid.NewGuid() }); } var getProfile = await httpClient.GetAsync(apiUrl); if (getProfile.StatusCode == System.Net.HttpStatusCode.NotFound) { Navigation.NavigateTo(Navigation.ToAbsoluteUri($"/Identity/Account/Register?PinCode={ProfileId}").ToString(), true); } getProfile.EnsureSuccessStatusCode(); var json = await getProfile.Content.ReadAsStringAsync(); UserProfile = Newtonsoft.Json.JsonConvert.DeserializeObject <ViewApplicationUser>(json); NavigationUrlService.SetUrls($"https://www.google.com/maps/search/?api=1&query={UserProfile.Address},{UserProfile.City}%20{UserProfile.Country}&query_place_id={UserProfile.DisplayName}", Navigation.ToAbsoluteUri($"/contact/import/{UserProfile.Id}").ToString()); NavigationUrlService.ShowImport = true; if (User.Identity.IsAuthenticated) { NavigationUrlService.ShowContacts = true; NavigationUrlService.ShowMyAds = true; if (User.FindFirstValue(ClaimTypes.NameIdentifier).Equals(UserProfile.Id)) { NavigationUrlService.ShowImport = false; NavigationUrlService.ShowEditProfile = true; } } await InvokeAsync(StateHasChanged); }