Ejemplo n.º 1
0
        public DataFlowCacheModel GetDataFlowCacheFromDb(int resultDataId)
        {
            DataFlowCacheModel data = new DataFlowCacheModel();

            try
            {
                var dataSetId = 0;
                var projectId = 0;
                var rd        = _dataManageRepository.GetRdAndSub(resultDataId);

                if (rd.Any())
                {
                    dataSetId        = rd.FirstOrDefault().DataSetId;
                    data.Id          = rd.FirstOrDefault().Id;
                    data.Name        = rd.FirstOrDefault().Name;
                    data.DataCount   = rd.FirstOrDefault().DataCount;
                    data.TableName   = rd.FirstOrDefault().TableName;
                    data.WdName      = rd.FirstOrDefault().WdName;
                    data.DataColumns = new List <DFDataColumn>();

                    rd.FirstOrDefault().DataColumns.ForEach(col =>
                    {
                        DFDataColumn colItem = new DFDataColumn
                        {
                            Id             = col.Id,
                            Name           = col.Name,
                            Rem            = col.Rem,
                            IsContinuous   = col.IsContinuous,
                            StatisticsInfo = col.StatisticsInfo,
                            KindCount      = col.KindCount,
                            NullPercent    = col.NullPercent,
                            GroupingTags   = new List <DFGroupingTag>()
                        };
                        col.GroupingTags.ForEach(tag =>
                        {
                            DFGroupingTag tagItem = new DFGroupingTag
                            {
                                Id    = tag.Id,
                                Name  = tag.Name,
                                Index = tag.Index
                            };
                            colItem.GroupingTags.Add(tagItem);
                        });
                        data.DataColumns.Add(colItem);
                    });

                    var dataSet = _dataSetRepository.GetDataSetById(dataSetId);
                    projectId        = dataSet.ProjectId;
                    data.DataSetInfo = new DFDataSet
                    {
                        Id   = dataSet.DataSetId,
                        Name = dataSet.DataSetName
                    };
                    var project = _projectRepository.GetProjectById(projectId);
                    data.ProjectInfo = new DFProject
                    {
                        Id   = project.Id,
                        Name = project.ProjectName
                    };
                    data.DataTable = _dataManageRepository.GetOriginalDataFromMySql(data.TableName);
                }
            }
            catch (Exception ex)
            {
                _logger.LogError("获取缓存初始化数据失败:" + ex.ToString());
            }
            return(data);
        }