public async Task <GetProfileResults> GetProfile(PersonalityInsightsRequest request) { string currentDate = DateTime.Now.ToString("yyyy-MM-dd"); string getProfileUrl = "https://gateway.watsonplatform.net/personality-insights/api/v3/profile?version=" + currentDate + "&consumption_preferences=true"; string token = await this.GetTokenForPersonalityInsights(); string jsonRequest = JsonConvert.SerializeObject(request); HttpClient objHttpClient = new HttpClient(); StringContent objStrContent = new StringContent(jsonRequest); objStrContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); objStrContent.Headers.Add("X-Watson-Authorization-Token", token); var response = await objHttpClient.PostAsync(getProfileUrl, objStrContent); string jsonResult = await response.Content.ReadAsStringAsync(); PersonalityInsightsResponse objResult = JsonConvert.DeserializeObject <PersonalityInsightsResponse>(jsonResult); return(new GetProfileResults() { Response = objResult, JsonRequest = jsonRequest }); }
private static void ProcessPersonality(PersonalityInsightsResponse personalityInsights, DataAccess.MoodDetectorContext ctx, DataAccess.FacebookPersonalityInsight daPI) { if (personalityInsights.personality != null) { foreach (var singlePersonalityRecord in personalityInsights.personality) { DataAccess.FacebookPersonalityInsightsPersonality daPersonality = new DataAccess.FacebookPersonalityInsightsPersonality(); daPersonality.FacebookPersonalityInsightsId = daPI.FacebookPersonalityInsightsId; daPersonality.Category = singlePersonalityRecord.category; daPersonality.Name = singlePersonalityRecord.name; daPersonality.Percentile = singlePersonalityRecord.percentile; daPersonality.TraitId = singlePersonalityRecord.trait_id; ctx.FacebookPersonalityInsightsPersonalities.Add(daPersonality); ctx.SaveChanges(); long parentId = daPersonality.FacebookPersonalityInsightsPersonalityId; if (singlePersonalityRecord.children != null && singlePersonalityRecord.children.Count() > 0) { foreach (var singlePersonalityChild in singlePersonalityRecord.children) { daPersonality = new DataAccess.FacebookPersonalityInsightsPersonality(); daPersonality.FacebookPersonalityInsightsId = daPI.FacebookPersonalityInsightsId; daPersonality.ParentFacebookPersonalityInsightsPersonalityId = parentId; daPersonality.Category = singlePersonalityChild.category; daPersonality.Name = singlePersonalityChild.name; daPersonality.Percentile = singlePersonalityChild.percentile; daPersonality.TraitId = singlePersonalityChild.trait_id; ctx.FacebookPersonalityInsightsPersonalities.Add(daPersonality); ctx.SaveChanges(); } } } } }
private void ProcessConsumptionPreferences(PersonalityInsightsResponse personalityInsights, MoodDetectorContext ctx, FacebookPersonalityInsight daPI) { if (personalityInsights.consumption_preferences != null) { foreach (var singleConsumptionPreference in personalityInsights.consumption_preferences) { DataAccess.FacebookPersonalityInsightsConsumptionPreference daCP = new FacebookPersonalityInsightsConsumptionPreference(); daCP.PreferenceCategoryName = singleConsumptionPreference.name; daCP.FacebookPersonalityInsightsId = daPI.FacebookPersonalityInsightsId; daCP.PreferenceCategoryId = singleConsumptionPreference.consumption_preference_category_id; ctx.FacebookPersonalityInsightsConsumptionPreferences.Add(daCP); ctx.SaveChanges(); if (singleConsumptionPreference.consumption_preferences != null) { foreach (var singleChildPreference in singleConsumptionPreference.consumption_preferences) { DataAccess.FacebookPersonalityInsightsConsumptionPreference daChildCP = new FacebookPersonalityInsightsConsumptionPreference(); daChildCP.ParentFacebookPersonalityInsightsConsumptionPreferencesId = daCP.FacebookPersonalityInsightsConsumptionPreferencesId; daChildCP.FacebookPersonalityInsightsId = daPI.FacebookPersonalityInsightsId; daChildCP.PreferenceCategoryId = singleChildPreference.consumption_preference_id; daChildCP.PreferenceName = singleChildPreference.name; daChildCP.PreferenceScore = singleChildPreference.score; ctx.FacebookPersonalityInsightsConsumptionPreferences.Add(daChildCP); } } ctx.SaveChanges(); } } }
private static void ProcessNeeds(PersonalityInsightsResponse personalityInsights, DataAccess.MoodDetectorContext ctx, DataAccess.FacebookPersonalityInsight daPI) { if (personalityInsights.needs != null) { foreach (var singleNeed in personalityInsights.needs) { DataAccess.FacebookPersonalityInsightsNeed daNeed = new DataAccess.FacebookPersonalityInsightsNeed(); daNeed.FacebookPersonalityInsightsId = daPI.FacebookPersonalityInsightsId; daNeed.Category = singleNeed.category; daNeed.Name = singleNeed.name; daNeed.Percentile = singleNeed.percentile; daNeed.TraitId = singleNeed.trait_id; ctx.FacebookPersonalityInsightsNeeds.Add(daNeed); } } }
private static void ProcessBehavior(PersonalityInsightsResponse personalityInsights, DataAccess.MoodDetectorContext ctx, DataAccess.FacebookPersonalityInsight daPI) { if (personalityInsights.needs != null) { foreach (var singleBehavior in personalityInsights.behavior) { DataAccess.FacebookPersonalityInsightsBehavior daBehavior = new DataAccess.FacebookPersonalityInsightsBehavior(); daBehavior.FacebookPersonalityInsightsId = daPI.FacebookPersonalityInsightsId; daBehavior.Category = singleBehavior.category; daBehavior.Name = singleBehavior.name; daBehavior.Percentile = singleBehavior.percentage; daBehavior.TraitId = singleBehavior.trait_id; ctx.FacebookPersonalityInsightsBehaviors.Add(daBehavior); } } }
private static void ProcessValues(PersonalityInsightsResponse personalityInsights, DataAccess.MoodDetectorContext ctx, DataAccess.FacebookPersonalityInsight daPI) { if (personalityInsights.values != null) { foreach (var singleValue in personalityInsights.values) { DataAccess.FacebookPersonalityInsightsValue daValues = new DataAccess.FacebookPersonalityInsightsValue(); daValues.FacebookPersonalityInsightsId = daPI.FacebookPersonalityInsightsId; daValues.Category = singleValue.category; daValues.Name = singleValue.name; daValues.Percentile = singleValue.percentile; daValues.TraitId = singleValue.trait_id; ctx.FacebookPersonalityInsightsValues.Add(daValues); } } }