//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); }
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); }
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")); }