/// <summary> /// Запускает задачи по сбору статистики для пользователя /// </summary> /// <param name="userId"></param> public static bool RunUserStatisticsTask(string userLogin) { var result = false; BCT.Execute(d => { var user = d.MainDb.UserAccesses.FirstOrDefault(q => q.Login == userLogin); if (user == null) { return; } var userId = user.Id; // Создаем задачи на сбор статистики с аккаунтов var accesses = d.BulletinDb.Accesses.Where(q => q.UserId == userId && q.State != (int)FessooFramework.Objects.Data.DefaultState.Created).ToArray(); foreach (var access in accesses) { TaskHelper.CreateAccessStatistics(access); } // Создаем задачи на сбор статистики с инстанций var bulletinIds = d.BulletinDb.Bulletins.Where(q => q.UserId == userId).Select(q => q.Id).ToArray(); var instances = d.BulletinDb.BulletinInstances.Where(q => bulletinIds.Contains(q.BulletinId) && q.Url != null).ToArray(); foreach (var instance in instances) { TaskHelper.CreateInstanceStatistics(userId, instance); } result = true; }); return(result); }
public static void GetAccessStatistics(Access access) { BCT.Execute(d => { TaskHelper.CreateAccessStatistics(access); }); }
/// <summary> /// Запускает задачи по сбору статистики для пользователя /// </summary> /// <param name="userId"></param> public static void RunUserStatisticsTask(Guid userId) { BCT.Execute(d => { // Создаем задачи на сбор статистики с аккаунтов var accesses = d.BulletinDb.Accesses.Where(q => q.UserId == userId && q.StateEnum != FessooFramework.Objects.Data.DefaultState.Disable).ToArray(); foreach (var access in accesses) { TaskHelper.CreateAccessStatistics(access); } // Создаем задачи на сбор статистики с инстанций var bulletinIds = d.BulletinDb.Bulletins.Where(q => q.UserId == userId).Select(q => q.Id).ToArray(); var instances = d.BulletinDb.BulletinInstances.Where(q => bulletinIds.Contains(q.BulletinId) && q.Url != null).ToArray(); foreach (var instance in instances) { TaskHelper.CreateInstanceStatistics(userId, instance); } }); }