示例#1
0
        //public VkService(VkDbService vkDbService, VkMemasService vkMemasService, VkSalesAnalysisService vkSalesAnalysisService, VkRequestService vkRequestService, CohortAnalyser cohortAnalyser)
        //{
        //    _vkDbService = vkDbService;
        //    _vkMemasService = vkMemasService;
        //    _vkSalesAnalysisService = vkSalesAnalysisService;
        //    RequestService = vkRequestService;
        //    _cohortAnalyser = cohortAnalyser;
        //}

        public void AnalyzeActivities(CohortAnalysysInputModel model, string accessToken, string userId)
        {
            AccessToken = accessToken;
            var analyzeModels = GetPostsForAnalyze(model.GroupId, model.StartDate, model.EndDate, null, false);

            var result = _cohortAnalyser.Analyze(analyzeModels, model.Step, model.StartDate,
                                                 model.EndDate, model.GroupId);

            _vkDbService.SaveCohortAnalyze(result, userId, model.Name, model.GroupId);
        }
示例#2
0
        public void AnalyzeActivities(CohortAnalysysInputModel model)
        {
            // Создание модели с параметрами для запроса всех постов за определённую дату
            var parametersModel = PrepareParameters(model.GroupId, model.StartDate, model.EndDate);

            // Получение постов
            var posts = GetPosts(parametersModel);


            var users = GetAlreadyActiveUsers(posts, model.StartDate, model.GroupId);
        }
示例#3
0
        public ActionResult Analyze(CohortAnalysysInputModel model)
        {
            if (ModelState.IsValid)
            {
                var accessToken = GetCurrentUserAccessToken();
                var userId      = User.Identity.GetUserId();
                BackgroundJob.Enqueue(() => _vkService.AnalyzeActivities(model, accessToken, userId));

                ViewBag.Message = "Когортный анализ активностей";

                return(View("~/Views/Vk/InProgress.cshtml"));
            }

            return(RedirectToAction("Index"));
        }