示例#1
0
        private async Task InsertPersonalityInsights(PersonalityInsightsRequest personalityInsightsReq,
                                                     string piUsername,
                                                     string piPassword,
                                                     string facebookUserId)
        {
            DataAccess.FacebookProfile userProfile       = null;
            WatsonCSClient             objWatsonCsClient = new WatsonCSClient(piUsername, piPassword);
            var personalityInsights = await objWatsonCsClient.GetProfile(personalityInsightsReq);

            using (DataAccess.MoodDetectorContext ctx = new DataAccess.MoodDetectorContext())
            {
                if (userProfile == null)
                {
                    userProfile = ctx.FacebookProfiles.Where(p => p.ProfileId == facebookUserId).FirstOrDefault();
                }
                DataAccess.FacebookPersonalityInsight daPI = new DataAccess.FacebookPersonalityInsight();
                daPI.ProcessedLanguage = personalityInsights.Response.processed_language;
                daPI.WordCount         = personalityInsights.Response.word_count;
                daPI.JsonRequest       = personalityInsights.JsonRequest;
                daPI.FacebookProfileId = userProfile.FacebookProfileId;
                ctx.FacebookPersonalityInsights.Add(daPI);
                ctx.SaveChanges();
                ProcessPersonality(personalityInsights.Response, ctx, daPI);
                ProcessNeeds(personalityInsights.Response, ctx, daPI);
                ProcessBehavior(personalityInsights.Response, ctx, daPI);
                ProcessValues(personalityInsights.Response, ctx, daPI);
                ProcessConsumptionPreferences(personalityInsights.Response, ctx, daPI);
                ctx.SaveChanges();
            }
            await Task.Yield();
        }
示例#2
0
 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();
                 }
             }
         }
     }
 }
示例#3
0
 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);
         }
     }
 }
示例#4
0
 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);
         }
     }
 }
示例#5
0
 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);
         }
     }
 }