public async Task InstagramDataUpdate(string code) { string UserId = (await _userManager.GetUserAsync(User)).Id; InstagramData InstagramDatas = _context.InstagramData.Include(x => x.InstagramAgeGroup).Include(x => x.InstagramCity).ThenInclude(x => x.City).Include(x => x.InstagramCountry).ThenInclude(x => x.Country).SingleOrDefault(x => x.ApplicationUserId == UserId); InstagramDatas.LastUpdated = DateTime.Now; var AllDatas = GetInstagramFacebookData(code); //MetaData InstagramDatas.MediaCount = AllDatas[0].followers_count; InstagramDatas.FollowerCount = AllDatas[0].media_count; //LifeTimeData InstagramDatas.InstagramAgeGroup.InstagramDataId = InstagramDatas.Id; InstagramDatas.InstagramAgeGroup.InstagramData = InstagramDatas; InstagramDatas.InstagramAgeGroup.Female13To17 = AllDatas[1].data[0].values[0].value["F.13-17"] ?? 0; InstagramDatas.InstagramAgeGroup.Female18To24 = AllDatas[1].data[0].values[0].value["F.18-24"] ?? 0; InstagramDatas.InstagramAgeGroup.Female25To34 = AllDatas[1].data[0].values[0].value["F.25-34"] ?? 0; InstagramDatas.InstagramAgeGroup.Female35To44 = AllDatas[1].data[0].values[0].value["F.35-44"] ?? 0; InstagramDatas.InstagramAgeGroup.Female45To55 = AllDatas[1].data[0].values[0].value["F.45-54"] ?? 0; InstagramDatas.InstagramAgeGroup.Female55To64 = AllDatas[1].data[0].values[0].value["F.55-64"] ?? 0; InstagramDatas.InstagramAgeGroup.Female65Plus = AllDatas[1].data[0].values[0].value["F.65+"] ?? 0; InstagramDatas.InstagramAgeGroup.Male13To17 = AllDatas[1].data[0].values[0].value["M.13-17"] ?? 0; InstagramDatas.InstagramAgeGroup.Male18To24 = AllDatas[1].data[0].values[0].value["M.18-24"] ?? 0; InstagramDatas.InstagramAgeGroup.Male25To34 = AllDatas[1].data[0].values[0].value["M.25-34"] ?? 0; InstagramDatas.InstagramAgeGroup.Male35To44 = AllDatas[1].data[0].values[0].value["M.35-44"] ?? 0; InstagramDatas.InstagramAgeGroup.Male45To55 = AllDatas[1].data[0].values[0].value["M.45-54"] ?? 0; InstagramDatas.InstagramAgeGroup.Male55To64 = AllDatas[1].data[0].values[0].value["M.55-64"] ?? 0; InstagramDatas.InstagramAgeGroup.Male65Plus = AllDatas[1].data[0].values[0].value["M.65+"] ?? 0; //day,week,month var countries = _context.Country.ToList(); foreach (var i in AllDatas[1].data[1].values[0].value) { if (!countries.Any(x => x.Name == i.Name)) { _context.Country.Add(new Country { Name = i.Name }); _context.SaveChanges(); countries = _context.Country.ToList(); } var TheCountry = countries.FirstOrDefault(x => x.Name == (string)i.Name); if (InstagramDatas.InstagramCountry.FirstOrDefault(x => x.CountryId == TheCountry.Id) == null) { var InstaCountry = new InstagramCountry() { InstagramData = InstagramDatas, InstagramDataId = InstagramDatas.Id, CountryId = TheCountry.Id, Country = TheCountry, Count = i.Value }; InstagramDatas.InstagramCountry.Add(InstaCountry); } else { InstagramDatas.InstagramCountry.FirstOrDefault(x => x.CountryId == TheCountry.Id).Count = i.Value; } } var cities = _context.City.ToList(); foreach (var i in AllDatas[1].data[2].values[0].value) { if (!cities.Any(x => x.Name == i.Name)) { _context.City.Add(new City { Name = i.Name }); _context.SaveChanges(); cities = _context.City.ToList(); } var TheCity = cities.FirstOrDefault(x => x.Name == (string)i.Name); if (InstagramDatas.InstagramCity.FirstOrDefault(x => x.CityId == TheCity.Id) == null) { var InstaCity = new InstagramCity() { InstagramData = InstagramDatas, InstagramDataId = InstagramDatas.Id, CityId = TheCity.Id, City = TheCity, Count = i.Value }; InstagramDatas.InstagramCity.Add(InstaCity); } else { InstagramDatas.InstagramCity.FirstOrDefault(x => x.CityId == TheCity.Id).Count = i.Value; } } InstagramDatas.DayImpression = AllDatas[2].data[0].values[0].value ?? 0; InstagramDatas.WeekImpression = AllDatas[2].data[1].values[0].value ?? 0; InstagramDatas.MonthImpression = AllDatas[2].data[2].values[0].value ?? 0; InstagramDatas.DayReach = AllDatas[2].data[3].values[0].value ?? 0; InstagramDatas.WeekReach = AllDatas[2].data[4].values[0].value ?? 0; InstagramDatas.MonthReach = AllDatas[2].data[5].values[0].value ?? 0; _context.InstagramData.Update(InstagramDatas); _context.SaveChanges(); var InstagramPlatformId = _context.Platform.FirstOrDefault(x => x.Name == "Instagram").Id; if (_context.InfluencerPlatform.Any(x => x.InfluencerProfileId == UserId && x.PlatformId == InstagramPlatformId)) { } else { _context.InfluencerPlatform.Add(new InfluencerPlatform() { PlatformId = InstagramPlatformId, InfluencerProfileId = UserId }); _context.SaveChanges(); } }
public async Task InstagramDataAdd(string code) { var AllDatas = GetInstagramFacebookData(code); string UserId = (await _userManager.GetUserAsync(User)).Id; InstagramData InstagramDatas = new InstagramData { ApplicationUserId = UserId }; InstagramDatas.LastUpdated = DateTime.Now; List <InstagramCountry> InstagramCountryList = new List <InstagramCountry>(); List <InstagramCity> InstagramCityList = new List <InstagramCity>(); InstagramDatas.MediaCount = AllDatas[0].media_count; InstagramDatas.FollowerCount = AllDatas[0].followers_count; var InstagramAgeGroups = new InstagramAgeGroup() { Female13To17 = AllDatas[1].data[0].values[0].value["F.13-17"] ?? 0, Female18To24 = AllDatas[1].data[0].values[0].value["F.18-24"] ?? 0, Female25To34 = AllDatas[1].data[0].values[0].value["F.25-34"] ?? 0, Female35To44 = AllDatas[1].data[0].values[0].value["F.35-44"] ?? 0, Female45To55 = AllDatas[1].data[0].values[0].value["F.45-54"] ?? 0, Female55To64 = AllDatas[1].data[0].values[0].value["F.55-64"] ?? 0, Female65Plus = AllDatas[1].data[0].values[0].value["F.65+"] ?? 0, Male13To17 = AllDatas[1].data[0].values[0].value["M.13-17"] ?? 0, Male18To24 = AllDatas[1].data[0].values[0].value["M.18-24"] ?? 0, Male25To34 = AllDatas[1].data[0].values[0].value["M.25-34"] ?? 0, Male35To44 = AllDatas[1].data[0].values[0].value["M.35-44"] ?? 0, Male45To55 = AllDatas[1].data[0].values[0].value["M.45-54"] ?? 0, Male55To64 = AllDatas[1].data[0].values[0].value["M.55-64"] ?? 0, Male65Plus = AllDatas[1].data[0].values[0].value["M.65+"] ?? 0 }; InstagramDatas.InstagramAgeGroup = InstagramAgeGroups; var countries = _context.Country.ToList(); foreach (var i in AllDatas[1].data[1].values[0].value) { if (!countries.Any(x => x.Name == i.Name)) { _context.Country.Add(new Country { Name = i.Name }); _context.SaveChanges(); countries = _context.Country.ToList(); } var TheCountry = countries.FirstOrDefault(x => x.Name == (string)i.Name); var InstaCountry = new InstagramCountry() { InstagramData = InstagramDatas, InstagramDataId = InstagramDatas.Id, CountryId = TheCountry.Id, Country = TheCountry, Count = i.Value }; InstagramCountryList.Add(InstaCountry); } InstagramDatas.InstagramCountry = InstagramCountryList; var cities = _context.City.ToList(); foreach (var i in AllDatas[1].data[2].values[0].value) { if (!cities.Any(x => x.Name == i.Name)) { _context.City.Add(new City { Name = i.Name }); _context.SaveChanges(); cities = _context.City.ToList(); } var TheCity = cities.FirstOrDefault(x => x.Name == (string)i.Name); var InstaCity = new InstagramCity() { InstagramData = InstagramDatas, InstagramDataId = InstagramDatas.Id, CityId = TheCity.Id, City = TheCity, Count = i.Value }; InstagramCityList.Add(InstaCity); } InstagramDatas.InstagramCity = InstagramCityList; InstagramDatas.DayImpression = AllDatas[2].data[0].values[0].value ?? 0; InstagramDatas.WeekImpression = AllDatas[2].data[1].values[0].value ?? 0; InstagramDatas.MonthImpression = AllDatas[2].data[2].values[0].value ?? 0; InstagramDatas.DayReach = AllDatas[2].data[3].values[0].value ?? 0; InstagramDatas.WeekReach = AllDatas[2].data[4].values[0].value ?? 0; InstagramDatas.MonthReach = AllDatas[2].data[5].values[0].value ?? 0; _context.InstagramData.Add(InstagramDatas); _context.SaveChanges(); }