/// <summary> /// Handles the OnColumnCreated event of the rgData control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="Telerik.Web.UI.GridColumnCreatedEventArgs"/> instance containing the event data.</param> protected void rgData_OnColumnCreated(object sender, GridColumnCreatedEventArgs e) { if (e.Column.UniqueName == "ExpandColumn") { return; } e.Column.Visible = true; if (AnalyticReportId.HasValue) { AnalyticReport = dataManager.AnalyticReport.SelectById(CurrentUser.Instance.SiteID, (Guid)AnalyticReportId); } if (AnalyticReport == null) { return; } if (AnalyticReport.tbl_AnalyticReportSystem.Any(o => o.tbl_AnalyticAxis.SystemName == e.Column.UniqueName)) { var axis = AnalyticAxis.FirstOrDefault(o => o.SystemName == e.Column.UniqueName); if (axis != null) { e.Column.HeaderText = axis.Title; //e.Column.f.DataFormatString = "{0:MM/dd/yy}"; } } else { e.Column.Visible = false; } }
/// <summary> /// Adds the specified analytic report. /// </summary> /// <param name="analyticReport">The analytic report.</param> /// <returns></returns> public tbl_AnalyticReport Add(tbl_AnalyticReport analyticReport) { analyticReport.ID = Guid.NewGuid(); _dataContext.tbl_AnalyticReport.AddObject(analyticReport); _dataContext.SaveChanges(); return(analyticReport); }
/// <summary> /// Handles the OnItemDataBound event of the rgData control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="Telerik.Web.UI.GridItemEventArgs"/> instance containing the event data.</param> protected void rgData_OnItemDataBound(object sender, GridItemEventArgs e) { if (e.Item is GridHeaderItem) { var header = (GridHeaderItem)e.Item; foreach (GridColumn column in rgData.MasterTableView.AutoGeneratedColumns) { if (column.UniqueName == "ExpandColumn") { return; } column.Visible = true; if (AnalyticReportId.HasValue) { AnalyticReport = dataManager.AnalyticReport.SelectById(CurrentUser.Instance.SiteID, (Guid)AnalyticReportId); } if (AnalyticReport == null) { return; } if (AnalyticReport.tbl_AnalyticReportSystem.Any(o => o.tbl_AnalyticAxis.SystemName == column.UniqueName)) { var axis = AnalyticAxis.FirstOrDefault(o => o.SystemName == column.UniqueName); if (axis != null) { column.HeaderText = axis.Title; header[column.UniqueName].Text = axis.Title; } } else { column.Visible = false; } } } else if (e.Item is GridDataItem && e.Item.OwnerTableView.GetColumnSafe("Period") != null) { if (e.Item.DataItem is DataRowView && ((DataRowView)e.Item.DataItem).Row["Period"] is DateTime) { ((GridDataItem)e.Item)["Period"].Text = ((DateTime)((DataRowView)e.Item.DataItem).Row["Period"]).ToString("dd.MM.yyyy"); } } }
/// <summary> /// Gets the data. /// </summary> /// <param name="analyticReport">The analytic report.</param> /// <param name="startDate">The start date.</param> /// <param name="endDate">The end date.</param> private void GetData(tbl_AnalyticReport analyticReport, DateTime?startDate, DateTime?endDate) { var query = analyticReport.tbl_Analytic.Query.Replace("#SiteID#", CurrentUser.Instance.SiteID.ToString()); query = query.Replace("#StartDate#", ((DateTime)startDate).ToString("yyyy-MM-dd")) .Replace("#EndDate#", ((DateTime)endDate).ToString("yyyy-MM-dd")) .Replace("#GroupByDays#", (endDate - startDate).Value.Days == 1 ? "0" : "1"); if (ReportFilters.Any()) { var columns = new List <string>(); var values = new List <string>(); var operators = new List <int>(); var queryString = string.Empty; foreach (var reportFilter in ReportFilters) { if (string.IsNullOrEmpty(reportFilter.Query) && reportFilter.Operator != FilterOperator.None) { columns.Add(reportFilter.ColumnName); values.Add(reportFilter.Value); operators.Add((int)reportFilter.Operator); } queryString += reportFilter.Query; } query = query.Replace("#FilterColumnName#", string.Join(",", columns)) .Replace("#FilterColumnValue#", string.Join(",", values)) .Replace("#FilterOperator#", string.Join(",", operators)) .Replace("#FilterQuery#", queryString); } else { query = query.Replace("#FilterColumnName#", string.Empty) .Replace("#FilterColumnValue#", string.Empty) .Replace("#FilterOperator#", string.Empty) .Replace("#FilterQuery#", string.Empty); } query = query.Replace("#FilterQuery#", string.Empty); Data = DataManager.AnalyticReport.SelectReportData(query); }
/// <summary> /// Adds the report. /// </summary> /// <param name="analyticReport">The analytic report.</param> /// <returns></returns> protected RadDock AddReport(tbl_AnalyticReport analyticReport) { var radDock = new RadDock { Skin = "Windows7", Width = new Unit(430, UnitType.Pixel), EnableAnimation = true, Title = analyticReport.Title, ID = analyticReport.ID.ToString() }; var chart = (Chart)LoadControl("~/UserControls/Analytics/Chart.ascx"); chart.UserSettingsClassName = "WebCounter.AdminPanel.HomePageChart"; chart.IsLoadFromSettings = true; chart.AnalyticReportId = analyticReport.ID; radDock.ContentContainer.Controls.Add(chart); radDock.OnClientDockPositionChanged = "RadDockPositionChanged"; radDock.OnClientCommand = "RadDockClientCommand"; radDockZone.Controls.Add(radDock); return(radDock); }
/// <summary> /// Updates the specified analytic report. /// </summary> /// <param name="analyticReport">The analytic report.</param> public void Update(tbl_AnalyticReport analyticReport) { _dataContext.SaveChanges(); }