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(); }
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(); } } }