public static void Do()
        {
            Report rpt = new Report {
                Name = "report1", Description = "This is simply a report"
            };

            SelectedColumn stcln1 = new SelectedColumn {
                Columns = "asdf", Alias = "just a column"
            };
            SelectedColumn stcln2 = new SelectedColumn {
                Columns = "asdf", Alias = "just a column"
            };

            rpt.SelectedColumns = new List <SelectedColumn>();
            rpt.AddSelectedColumns(stcln1);
            rpt.AddSelectedColumns(stcln2);
            Helper.Create(rpt);

            //f.Create<Report>(rpt);


            ///Delete many elements in one-to-may relationship

            //var obj1 = f.GetSelectedColumnsById(1);
            //Collection<SelectedColumn> selectedcolumns = new Collection<SelectedColumn>();

            //foreach(object[] item in obj1)
            //{
            //    selectedcolumns.Add(new SelectedColumn {SID=(int) item[0],Columns = (string) item[1], Alias = (string) item[2], SortType = (string) item[3], SortOrder = (string) item[4], RID = (int) item[5]   });
            //}

            //f.Delete<SelectedColumn>(selectedcolumns);
        }
 public override ReportColumnMapping GetColumnMapping(SelectedColumn column)
 {
     if (column == null)
     {
         return(null);
     }
     return(_columnProvider.GetColumnMapping(_constants.DataSourceId, column.ColumnId));
 }
Beispiel #3
0
        private void tbPk1_DragDrop(object sender, DragEventArgs e)
        {
            SelectedColumn   = GetColumnInfoOrNullFromDrag(e);
            tbPk1.Text       = SelectedColumn.ToString();
            btnClear.Enabled = true;

            if (SelectedColumnChanged != null)
            {
                SelectedColumnChanged();
            }
        }
Beispiel #4
0
        protected override string GetFieldAlias(SelectedColumn column)
        {
            var fieldName = QueryHelpers.GetFieldName(column);

            if (Regex.IsMatch(fieldName, "^[0-9.]*$")) // for example fieldName = 1  for getting a count
            {
                fieldName = base.GetFieldAlias(column);
            }

            return(fieldName);
        }
Beispiel #5
0
        protected int GetCount()
        {
            QueryBuilder queryBuilder1 = (QueryBuilderControl1).QueryBuilder;

            if (queryBuilder1.MetadataProvider == null)
            {
                return(0);
            }

            CriteriaBuilder1.QueryTransformer.ResultCount  = null;
            CriteriaBuilder1.QueryTransformer.ResultOffset = null;
            var col = new SelectedColumn(null, "count(*)");

            CriteriaBuilder1.QueryTransformer.Aggregations.Add(col, "CNT");

            try
            {
                queryBuilder1.MetadataProvider.Connection.Open();
            }
            catch (Exception) {}

            var cmd = (OleDbCommand)queryBuilder1.MetadataProvider.Connection.CreateCommand();

            cmd.CommandTimeout = 30;
            cmd.CommandText    = CriteriaBuilder1.QueryTransformer.Sql;

            CriteriaBuilder1.QueryTransformer.Aggregations.Remove(col);
            try
            {
                foreach (var paramDto in SessionStore.Current.ClientQueryParams)
                {
                    cmd.Parameters.Add(paramDto.Name, paramDto.Value);
                }
                return((int)cmd.ExecuteScalar());
            }
            catch (Exception ex)
            {
                string message = "SQL query error";
                Logger.Error(message, ex);
                SessionStore.Current.Message.Error(message + " Check log.txt for details.");
            }
            return(0);
        }
Beispiel #6
0
        public SourcesViewViewModel()
        {
            AddNewSourceCommand = new RelayCommand(() =>
            {
                var vm = new SourceEditViewViewModel()
                {
                    Source = new Source()
                };
                Sources.Add(vm);
                SelectedSourceEditViewViewModel = vm;
            });
            AddNewColumnCommand           = new RelayCommand(() => AddColumn());
            DeleteSelectedSourcesCommand  = new RelayCommand(() => Delete(Sources.Where(s => s.IsSelected)));
            DeletedSelectedColumnsCommand = new RelayCommand(() => Delete(Columns.Where(c => c.IsSelected)));

            DeleteSelectedValidationRulesCommand = new RelayCommand(() => SelectedColumn.DeleteSelectedValidationRules());
            AddMinMaxRuleCommand      = new RelayCommand(() => SelectedColumn.AddRule(new MinMaxRule()));
            AddComparisonRuleCommand  = new RelayCommand(() => SelectedColumn.AddRule(new ComparisonRule()));
            AddLikeRuleCommand        = new RelayCommand(() => SelectedColumn.AddRule(new LikeRule()));
            AddCustomQueryRuleCommand = new RelayCommand(() => SelectedColumn.AddRule(new CustomQueryRule()));
        }
        private int GetRowCount(QueryBuilder queryBuilder, QueryTransformer queryTransformer)
        {
            try
            {
                queryBuilder.MetadataProvider.Connection.Open();

                queryTransformer.ResultOffset = null;
                queryTransformer.ResultCount  = null;
                var selectedColumn = new SelectedColumn(null, "count(*)");
                queryTransformer.Aggregations.Add(selectedColumn, "cnt");
                var cmd = (OleDbCommand)queryBuilder.MetadataProvider.Connection.CreateCommand();
                cmd.CommandTimeout = 30;
                cmd.CommandText    = queryTransformer.Sql;
                queryTransformer.Aggregations.Remove(selectedColumn);
                return((int)cmd.ExecuteScalar());
            }
            catch (Exception ex)
            {
                string message = "GetRowCount error!";
                Logger.Error(message, ex);
                throw;
            }
        }
 // Override
 protected override string GetFieldAlias(SelectedColumn column)
 {
     return(QueryHelpers.GetFieldName(column));
 }
 public virtual void AddSelectedColumns(SelectedColumn selectedColumn)
 {
     selectedColumn.Report = this;
     SelectedColumns.Add(selectedColumn);
 }
Beispiel #10
0
 protected virtual string GetFieldAlias(SelectedColumn column)
 {
     return(QueryHelpers.GetFieldAlias(column));
 }
Beispiel #11
0
        public virtual string GetFieldAlias(SelectedColumn column)
        {
            var col = GetColumnMapping(column.ColumnId);

            return(GetFieldAlias(col));
        }
 public abstract ReportColumnMapping GetColumnMapping(SelectedColumn column);
Beispiel #13
0
        public ActionResult Search(string platform, string q, int group, int sort, bool sortDesc, DateTime?startDate, DateTime?endDate, TemporalAggregation temporalAggregation, DateRangeType dateRangeType, int[] status, int[] column, int pageIndex, int pageSize, bool debug, bool excludeRecordsWithNoStats, int summarize = 0, bool export = false, int orgId = 0)
        {
            if (column == null || !column.Any())
            {
                return(View(new SearchResponse {
                    Error = new ResponseError()
                    {
                        Message = "No Columns Selected"
                    }
                }));
            }

            var filters = new List <SearchRequestFilter>();

            LoadFilters(filters);
            var textFilterColumns = LoadTextColumns();

            var selectedCols = new List <SelectedColumn>();

            if (column == null || !column.Any())
            {
                throw new Exception("No Columns Selected");
            }

            foreach (var col in column)
            {
                var sCol = new SelectedColumn(col);
                selectedCols.Add(sCol);
            }

            var searchRequest = new SearchRequest()
            {
                GetCount                  = pageIndex == 0,
                Query                     = q,
                PageIndex                 = pageIndex,
                PageSize                  = pageSize,
                GroupByColumn             = new SelectedColumn(group),
                SummarizeByColumn         = summarize > 0 ? new SelectedColumn(summarize) : null,
                SortByColumn              = new SelectedColumn(sort),
                SortDescending            = sortDesc,
                SelectedColumns           = selectedCols,
                Filters                   = filters,
                TemporalAggregation       = temporalAggregation,
                ExcludeRecordsWithNoStats = excludeRecordsWithNoStats,
                DebugMode                 = debug,
                DateRangeType             = dateRangeType,
                TextFilterColumns         = textFilterColumns
            };

            searchRequest.DateStart = startDate;
            searchRequest.DateEnd   = endDate;

            if (dateRangeType == DateRangeType.Utc)
            {
                // In our test UI, we ask the user to enter a UTC date so no User timezone to UTC conversion required here.
                if (searchRequest.DateStart.HasValue)
                {
                    searchRequest.DateStart = DateTime.SpecifyKind(searchRequest.DateStart.Value, DateTimeKind.Utc);
                }
                if (searchRequest.DateEnd.HasValue)
                {
                    searchRequest.DateEnd = DateTime.SpecifyKind(searchRequest.DateEnd.Value, DateTimeKind.Utc);
                }
            }
            else
            {
                // The date range is in Account Time, i.e. the dates are not instants in time. They're just a day and a time in some unspecified timezone.
                if (searchRequest.DateStart.HasValue)
                {
                    searchRequest.DateStart = DateTime.SpecifyKind(searchRequest.DateStart.Value, DateTimeKind.Unspecified);
                }
                if (searchRequest.DateEnd.HasValue)
                {
                    searchRequest.DateEnd = DateTime.SpecifyKind(searchRequest.DateEnd.Value, DateTimeKind.Unspecified);
                }
            }

            if (export)
            {
                return(Export(platform, searchRequest));
            }

            var sw = new Stopwatch();

            sw.Start();

            var result = _reportsService.Search(platform, orgId, Configuration.UserId, searchRequest);

            sw.Stop();
            ViewBag.SearchElapsedMilliseconds = sw.ElapsedMilliseconds;

            return(View(result));
        }