Example #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();
        }
Example #2
0
 private static void SaveToDatabase(List <Models.Entities.Facebook.MyPosts> lstMyPosts)
 {
     using (MoodDetector.DataAccess.MoodDetectorContext ctx = new DataAccess.MoodDetectorContext())
     {
         foreach (var singleUserPostPage in lstMyPosts)
         {
             foreach (var singleUserPost in singleUserPostPage.data)
             {
                 MoodDetector.DataAccess.FacebookProfile objProfile =
                     ctx.FacebookProfiles.Where(p => p.ProfileId == singleUserPost.from.id).FirstOrDefault();
                 if (objProfile == null)
                 {
                     objProfile = new DataAccess.FacebookProfile()
                     {
                         DateRecordCreated = DateTime.UtcNow,
                         ProfileId         = singleUserPost.from.id,
                         Username          = singleUserPost.from.name
                     };
                     ctx.FacebookProfiles.Add(objProfile);
                     ctx.SaveChanges();
                 }
                 MoodDetector.DataAccess.FacebookUserPost objUserPost =
                     ctx.FacebookUserPosts.Where(p => p.PostId == singleUserPost.id).FirstOrDefault();
                 if (objUserPost == null)
                 {
                     objUserPost                   = new DataAccess.FacebookUserPost();
                     objUserPost.DatePosted        = singleUserPost.created_time.ToUniversalTime();
                     objUserPost.Caption           = singleUserPost.caption;
                     objUserPost.Description       = singleUserPost.description;
                     objUserPost.From              = singleUserPost.from.name;
                     objUserPost.Message           = singleUserPost.message;
                     objUserPost.Name              = singleUserPost.name;
                     objUserPost.PostId            = singleUserPost.id;
                     objUserPost.FacebookProfileId = objProfile.FacebookProfileId;
                     objUserPost.Status_Type       = singleUserPost.status_type;
                     objUserPost.Story             = singleUserPost.story;
                     objUserPost.Type              = singleUserPost.type;
                     ctx.FacebookUserPosts.Add(objUserPost);
                 }
             }
             ctx.SaveChanges();
         }
     }
 }