Exemplo n.º 1
0
        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();
            }
        }
Exemplo n.º 2
0
        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();
        }