public void SaveProfile(InstagramProfile profile) { profile.Id = CreateProfile(profile.Url, 1, StaticState.WorkerId); if (profile.Id == 0) { return; } CreateProfileData( profile.Id, profile.Name, profile.Username, profile.Picture, profile.Bio, profile.AgeGuessed, profile.IsPrivate, profile.FollowerCount, profile.FollowingCount, profile.SnapchatUsername, profile.SnapchatFound); var postId = CreateProfilePost(profile.Id, ""); if (profile.Posts.Any(x => x.Media.Count > 0)) { CreateProfilePostMediaBulk(postId, profile.Posts.SelectMany(c => c.Media).ToList()); } if (profile.Connections.Count > 0) { CreateProfileConnectionEntries(profile.Id, profile.Connections); } }
public override ISocialProfile CreateProfile() { var bio = GetBio(); var name = GetName(); var profile = new InstagramProfile(_profileDao, _scraperSettings, _scraperValidator) { Url = GetUrl(), Username = GetUsername(), Name = name, Picture = GetProfilePicture(), Bio = bio, IsPrivate = GetIsPrivate(), FollowerCount = GetFollowerCount(), FollowingCount = GetFollowingCount(), SnapchatFound = _scraperValidator.StringContainsSnapchatUsername(bio.ToLower()) || _scraperValidator.StringContainsSnapchatUsername(name.ToLower()) }; if (_scraperValidator.TryExtractAgeFromString(bio, out var ageGuessed)) { profile.AgeGuessed = ageGuessed; } if (_scraperValidator.StringContainsFemaleName(name.CleanQueueItem()) || _scraperValidator.StringContainsFemaleName(profile.Username.CleanQueueItem())) { profile.GenderGuessed = 'F'; } else { profile.GenderGuessed = 'M'; } if (!profile.SnapchatFound) { return(profile); } if (_scraperValidator.TryExtractSnapchatUsernameFromString(bio.ToLower(), out var snapchatUsername) || _scraperValidator.TryExtractSnapchatUsernameFromString(name.ToLower(), out snapchatUsername)) { profile.SnapchatUsername = snapchatUsername; } return(profile); }