Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
 public static void GetAccessStatistics(Access access)
 {
     BCT.Execute(d =>
     {
         TaskHelper.CreateAccessStatistics(access);
     });
 }
Ejemplo n.º 3
0
        /// <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);
                }
            });
        }