public async Task <string> setJsonData(string json, string namePage, string key, string nameData)
        {
            if (string.IsNullOrEmpty(json))
            {
                return("Não recebemos o valor dos insigths.");
            }
            if (string.IsNullOrEmpty(namePage) && string.IsNullOrEmpty(key))
            {
                return("usuario e chave não encontrados.");
            }

            try
            {
                InfluencersMetrics.MongoRep repMongo = new InfluencersMetrics.MongoRep("MetricasInsights", _settings, key);
                if (nameData == "Usuario")
                {
                    var js = JsonConvert.DeserializeObject <webMetrics.Models.Graph.Usuario>(json);
                    await repMongo.GravarOne <webMetrics.Models.Graph.Usuario>(js);
                }
                if (nameData == "Media")
                {
                    var js = JsonConvert.DeserializeObject <webMetrics.Models.Graph.Media>(json);
                    await repMongo.GravarOne <webMetrics.Models.Graph.Media>(js);
                }
                if (nameData == "tags")
                {
                    var js = JsonConvert.DeserializeObject <webMetrics.Models.Graph.Tags>(json);
                    await repMongo.GravarOne <webMetrics.Models.Graph.Tags>(js);
                }
                if (nameData == "Stories")
                {
                    var js = JsonConvert.DeserializeObject <webMetrics.Models.Graph.Stories>(json);
                    await repMongo.GravarOne <webMetrics.Models.Graph.Stories>(js);
                }
                if (nameData == "dataStories")
                {
                    var js = JsonConvert.DeserializeObject <webMetrics.Models.DTO.InsigthStory>(json);
                    await repMongo.GravarOne <webMetrics.Models.DTO.InsigthStory>(js);
                }
                if (nameData == "UserInsights")
                {
                    var js = JsonConvert.DeserializeObject <InfluencersMetricsService.Model.UserInsights>(json);
                    await repMongo.GravarOne <InfluencersMetricsService.Model.UserInsights>(js);
                }
                if (nameData == "Growth")
                {
                    var js = JsonConvert.DeserializeObject <InfluencersMetricsService.Model.UserInsights>(json);
                    await repMongo.GravarOne <InfluencersMetricsService.Model.UserInsights>(js);
                }
                if (nameData == "InsightsCity")
                {
                    var js = JsonConvert.DeserializeObject <webMetrics.Models.Graph.InsightsGenderAge>(json);
                    await repMongo.GravarOne <webMetrics.Models.Graph.InsightsGenderAge>(js);
                }
                if (nameData == "InsightsGenderAge")
                {
                    var js     = JsonConvert.DeserializeObject <webMetrics.Models.DTO.Insigth>(json);
                    var lstIns = new List <webMetrics.Models.DTO.InsigthDTO>();
                    js.data.ForEach(f =>
                    {
                        lstIns.Add(new webMetrics.Models.DTO.InsigthDTO()
                        {
                            data = new List <webMetrics.Models.DTO.DatumDTO>()
                            {
                                new webMetrics.Models.DTO.DatumDTO()
                                {
                                    description = f.description,
                                    id          = f.id,
                                    name        = f.name,
                                    period      = f.period,
                                    title       = f.title,
                                    values      = f.values.Select(s => new webMetrics.Models.DTO.ValueDTO()
                                    {
                                        end_time = s.end_time,
                                        value    = s.value.Select(sv => new webMetrics.Models.DTO.ValueName()
                                        {
                                            name  = sv.Key,
                                            valor = sv.Value.ToString()
                                        }).ToList()
                                    }).ToList()
                                }
                            }
                        });
                    });
                    await repMongo.GravarOne <webMetrics.Models.DTO.InsigthDTO>(lstIns.FirstOrDefault());
                }
                return("");
            }
            catch (Exception)
            {
                return("Error#" + nameData);
            }
        }
        private async Task MakeUserBestHourAsync()
        {
            var lst = new List <InfluencersMetricsService.Model.StoryBestHour>();

            setSetting();
            InfluencersMetrics.MongoRep repMongo = new InfluencersMetrics.MongoRep("ROBO", _settings);
            var lstStories = await repMongo.ListarStoriesBest();

            Library.WriteErrorLog("MakeDiarios - ListarStoriesBest");
            lstStories.ForEach(i =>
            {
                i.Obj.ForEach(f =>
                {
                    f.UsuarioId = i.UsuarioId;
                });
                i.Obj.ForEach(f =>
                {
                    lst.Add(new StoryBestHour()
                    {
                        DateCreation = f.DateCreation,
                        DiaDaSemana  = f.DiaDaSemana,
                        Hour         = f.Hour,
                        idStory      = f.idStory,
                        UsuarioId    = f.UsuarioId,
                        ValorReach   = f.ValorReach
                    });
                });
            });

            Library.WriteErrorLog("MakeDiarios - lstFull - Antes");

            var lstFull = lst
                          .GroupBy(a => new { a.UsuarioId, a.DiaDaSemana, a.idStory, a.Hour })
                          .Select(a => new InfluencersMetricsService.Model.StoryUserBestHour()
            {
                UsuarioId   = a.First().UsuarioId,
                DiaDaSemana = a.First().DiaDaSemana,
                Hour        = a.First().Hour,
                ValorReach  = a.Max(m => m.ValorReach) - a.Min(m => m.ValorReach)
            }
                                  ).ToList();

            Library.WriteErrorLog("MakeDiarios - lstFull - Depois");

            List <Task> lstTasks = new List <Task>();

            lstFull.Select(s => s.UsuarioId).Distinct().ForEach(us =>
            {
                repMongo = new InfluencersMetrics.MongoRep("ROBO", _settings, us);
                lstTasks.Add(repMongo.GravarOne <List <StoryUserBestHour> >(lstFull.Where(w => w.UsuarioId == us).ToList()));
            });
            Library.WriteErrorLog("MakeDiarios - foreach repMongo: Task==>" + lstTasks.Count().ToString());
            Task.WaitAll(lstTasks.ToArray());
            Library.WriteErrorLog("MakeDiarios - foreach repMongo Pronto");

            //var lstUsuario = lst.Select(s => s.UsuarioId).Distinct();
            //foreach (var us in lstUsuario)
            //{
            //    var lstDiaSemana = lst.Where(w => w.UsuarioId == us).Select(s => s.DiaDaSemana).Distinct();
            //    foreach (var ds in lstDiaSemana)
            //    {
            //        var lstStory = lst.Where(w => w.UsuarioId == us && w.DiaDaSemana == ds).Select(s => s.idStory).Distinct();
            //        foreach (var stor in lstStory)
            //        {
            //            var lstHour = lst.Where(w => w.UsuarioId == us && w.DiaDaSemana == ds && w.idStory == stor).Select(s => s.Hour).Distinct();
            //            foreach (var hr in lstHour)
            //            {
            //                var lstItens = lst.Where(w => w.UsuarioId == us && w.DiaDaSemana == ds && w.idStory == stor && w.Hour == hr);
            //                var max = lstItens.Where(w => w.UsuarioId == us && w.DiaDaSemana == ds && w.idStory == stor && w.Hour == hr).Max(m => m.ValorReach);
            //                var min = lstItens.Where(w => w.UsuarioId == us && w.DiaDaSemana == ds && w.idStory == stor && w.Hour == hr).Min(m => m.ValorReach);

            //                var diff = max - min;
            //                lstUserBestHour.Add(new StoryUserBestHour()
            //                {
            //                    UsuarioId = us,
            //                    DiaDaSemana = ds,
            //                    Hour = hr,
            //                    ValorReach = diff
            //                });
            //            }
            //        }
            //    }

            //    repMongo = new InfluencersMetrics.MongoRep("ROBO", _settings, us);
            //    await repMongo.GravarOne<List<StoryUserBestHour>>(lstUserBestHour);
            //    lstUserBestHour = new List<StoryUserBestHour>();
            //}
        }