public EntityViewsTopListViewComponent(
     IAggregatedEntityMetricsRepository aggregatedEntityMetricsRepository,
     IEntityStore <Entity> entityStore)
 {
     _aggregatedEntityMetricsRepository = aggregatedEntityMetricsRepository;
     _entityStore = entityStore;
 }
Esempio n. 2
0
        public QuestionViewAdapter(
            IHtmlLocalizer <QuestionListItemViewAdapter> localizer,
            IAggregatedEntityMetricsRepository agggregatedEntityMetricsRepository,
            IContextFacade contextFacade)
        {
            _agggregatedEntityMetricsRepository = agggregatedEntityMetricsRepository;
            _contextFacade = contextFacade;

            T        = localizer;
            ViewName = "Question";
        }
Esempio n. 3
0
        public ArticleViewAdapter(
            IHtmlLocalizer <ArticleListItemViewAdapter> localizer,
            IAggregatedEntityMetricsRepository agggregatedEntityMetricsRepository,
            IContextFacade contextFacade)
        {
            _agggregatedEntityMetricsRepository = agggregatedEntityMetricsRepository;
            _contextFacade = contextFacade;

            T        = localizer;
            ViewName = "Article";
        }
Esempio n. 4
0
        public DocListItemViewAdapter(
            IHtmlLocalizer <DocListItemViewAdapter> localizer,
            IAggregatedEntityMetricsRepository agggregatedEntityMetricsRepository,
            IActionContextAccessor actionContextAccessor,
            IContextFacade contextFacade)
        {
            _agggregatedEntityMetricsRepository = agggregatedEntityMetricsRepository;
            _actionContextAccessor = actionContextAccessor;
            _contextFacade         = contextFacade;

            T        = localizer;
            ViewName = "DocListItem";
        }
Esempio n. 5
0
        public static async Task <IDictionary <int, DateTimeOffset?> > SelectMaxViewDateForEntitiesAsync(
            this IAggregatedEntityMetricsRepository repository,
            int userId,
            int[] entityIds)
        {
            const string sql = @"                
                SELECT 
                    em.EntityId AS EntityId, 
                    MAX(em.CreatedDate) AS CreatedDate
                FROM 
                     {prefix}_EntityMetrics em
                WHERE
                    em.CreatedUserId = {userId} AND em.EntityId IN ({entityIds})
                GROUP BY (em.EntityId)
            ";

            // Sql replacements
            var replacements = new Dictionary <string, string>()
            {
                ["{userId}"]    = userId.ToString(),
                ["{entityIds}"] = entityIds.ToDelimitedString()
            };

            // Execute and return results
            return(await repository.DbHelper.ExecuteReaderAsync(sql, replacements, async dr =>
            {
                var output = new Dictionary <int, DateTimeOffset?>();
                while (await dr.ReadAsync())
                {
                    var key = 0;
                    DateTimeOffset?value = null;

                    if (dr.ColumnIsNotNull("EntityId"))
                    {
                        key = Convert.ToInt32((dr["EntityId"]));
                    }

                    if (dr.ColumnIsNotNull("CreatedDate"))
                    {
                        value = (DateTimeOffset)(dr["CreatedDate"]);
                    }

                    if (!output.ContainsKey(key))
                    {
                        output[key] = value;
                    }
                }

                return output;
            }));
        }
 public EntityViewsByDateChartViewComponent(IAggregatedEntityMetricsRepository aggregatedEntityMetricsRepository)
 {
     _aggregatedEntityMetricsRepository = aggregatedEntityMetricsRepository;
 }