public EntryManager( ReportDataProviderBase reportDataProvider, IEntrySearchCache cache, IWeBlogSettings settings = null, ICommentManager commentManager = null) : this(reportDataProvider, cache, settings, commentManager, null) { }
public EntryManager( ReportDataProviderBase reportDataProvider, IEntrySearchCache cache, IWeBlogSettings settings = null, ICommentManager commentManager = null, BaseTemplateManager templateManager = null, IBlogSettingsResolver blogSettingsResolver = null) { ReportDataProvider = reportDataProvider; Settings = settings ?? WeBlogSettings.Instance; EntryCache = cache ?? CacheManager.GetCache <IEntrySearchCache>(EntrySearchCache.CacheName); CommentManager = commentManager ?? ServiceLocator.ServiceProvider.GetRequiredService <ICommentManager>(); TemplateManager = templateManager ?? ServiceLocator.ServiceProvider.GetRequiredService <BaseTemplateManager>(); BlogSettingsResolver = blogSettingsResolver ?? ServiceLocator.ServiceProvider.GetRequiredService <IBlogSettingsResolver>(); }
public IHttpActionResult Get(string datasource, string siteName) { ReportDataProviderBase reportingDataProvider = ApiContainer.Configuration.GetReportingDataProvider(); var cachingPolicy = new CachingPolicy { ExpirationPeriod = TimeSpan.FromHours(1) //must find cache expiration node }; Item dataSourceItem = Database.GetDatabase("core").GetItem(new ID(datasource)); var reportSQLQuery = dataSourceItem.Fields["{0AA8B742-BBDF-4405-AB8D-6FAC7E79433B}"].Value; NameValueCollection parameters = HttpUtility.ParseQueryString(this.Request.RequestUri.Query); var from = DateTime.ParseExact(parameters["dateFrom"], "dd-MM-yyyy", new DateTimeFormatInfo()); var to = DateTime.ParseExact(parameters["dateTo"], "dd-MM-yyyy", new DateTimeFormatInfo()); string dateFrom = from.ToString("yyyy-MM-dd"); string dateTo = to.ToString("yyyy-MM-dd"); if (from.Equals(to) && parameters["dateTo"].Length <= 10) { dateFrom = from.ToString("yyyy-MM-dd 00:00:00"); dateTo = to.ToString("yyyy-MM-dd 23:59:59"); } reportSQLQuery = reportSQLQuery.Replace("@StartDate", "'" + dateFrom + "'"); reportSQLQuery = reportSQLQuery.Replace("@EndDate", "'" + dateTo + "'"); string hashedSiteName = "0"; if (siteName != "all") { var encoder = new Hash32Encoder(); hashedSiteName = encoder.Encode(siteName); reportSQLQuery = reportSQLQuery.Replace("@SiteNameIdOperator", "="); } else { reportSQLQuery = reportSQLQuery.Replace("@SiteNameIdOperator", "!="); } reportSQLQuery = reportSQLQuery.Replace("@SiteNameId", hashedSiteName); var query = new ReportDataQuery(reportSQLQuery); DataTableReader reader = reportingDataProvider.GetData("reporting", query, cachingPolicy).GetDataTable().CreateDataReader(); var data = new ReportData(); int counter = 0; while (reader.Read()) { var row = new Dictionary <string, string>(); for (int i = 0; i < reader.FieldCount; i++) { row.Add(reader.GetName(i), reader[i].ToString()); } data.AddRow(row); counter++; } var responce = new ReportResponse { data = data, TotalRecordCount = counter }; return(new JsonResult <ReportResponse>(responce, new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() }, Encoding.UTF8, this)); }
public EntryManager(ReportDataProviderBase reportDataProvider = null) { this.reportDataProvider = reportDataProvider; }
/// <summary> /// Creates a new instance of the class. /// </summary> /// <param name="reportProvider">The <see cref="ReportDataProviderBase"/> to read reporting data from.</param> public ItemVisitsQuery(ReportDataProviderBase reportProvider = null) #if !SC75 : base(Constants.ReportingQueries.ItemVisits, reportProvider) { }
/// <summary> /// Creates a new instance of the class. /// </summary> /// <param name="reportProvider">The <see cref="ReportDataProviderBase"/> to read reporting data from.</param> public EntriesByViewQuery(ReportDataProviderBase reportProvider = null) #if !SC75 : base(Constants.ReportingQueries.EntriesByView, reportProvider) { }
public EntryManager(ReportDataProviderBase reportDataProvider, IWeBlogSettings settings) { ReportDataProvider = reportDataProvider; Settings = settings ?? new WeBlogSettings(); }