Ejemplo n.º 1
0
        /// <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;
            }
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
        /// <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");
                }
            }
        }
Ejemplo n.º 4
0
        /// <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);
        }
Ejemplo n.º 5
0
        /// <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);
        }
Ejemplo n.º 6
0
 /// <summary>
 /// Updates the specified analytic report.
 /// </summary>
 /// <param name="analyticReport">The analytic report.</param>
 public void Update(tbl_AnalyticReport analyticReport)
 {
     _dataContext.SaveChanges();
 }