コード例 #1
0
ファイル: UnitOfWork.cs プロジェクト: sbhat423/TaskTracker
 public UnitOfWork(ApplicationDbContext context)
 {
     _context = context;
     Boards   = new BoardRepository(_context);
     Columns  = new ColumnRepository(_context);
     Tasks    = new TaskRepository(_context);
 }
コード例 #2
0
 public void SetUp()
 {
     _columns     = new List <Column>();
     _mockContext = new Mock <IDataContext>();
     _mockContext.Setup(p => p.Columns).Returns(_columns);
     _repository = new ColumnRepository(_mockContext.Object);
 }
コード例 #3
0
        public void NotificationNull()
        {
            //Arrange | Act
            var repository = new ColumnRepository(GetPostgreSettings, null);

            //Assert
            Assert.NotNull(repository);
        }
コード例 #4
0
        private IEnumerable <ForecastColumn> GroupEditColumns(Sheet sheet)
        {
            IEnumerable <ForecastColumn> columns = ColumnRepository.GetColumns(sheet.Id);
            var groupEditColumns = columns.Where(c =>
                                                 c.TypeId == ForecastConsts.EditableColumnTypeId && c.GetColumnSettings <EditableSettings>().IsGroupEdit);

            return(groupEditColumns);
        }
コード例 #5
0
        private ColumnSetting GetForecastColumnSettings()
        {
            ForecastColumn column = ColumnRepository.GetColumns(ForecastSheet.Id)
                                    .FirstOrDefault();

            if (column == null || column.Settings.IsNullOrWhiteSpace())
            {
                return(new ColumnSetting());
            }
            return(Json.Deserialize <ColumnSetting>(column.Settings));
        }
コード例 #6
0
        public int GetArticlesCountByColumnId(int columnId)
        {
            if (columnId <= 0)
            {
                return(columnId);
            }
            var columnIds = ColumnRepository.Fetch(d => d.TreePath.Contains("," + columnId + ","))
                            .Select(d => d.Id).ToList();

            return(TomeltServices.ContentManager.Query(VersionOptions.Latest).Where <ArticlePartRecord>(d => columnIds.Contains(d.ColumnPartRecordId)).Count());
        }
コード例 #7
0
        public void UpdateForContentItem(ContentItem item)
        {
            var articlePart = item.As <ArticlePart>();
            var bodyPart    = item.As <BodyPart>();

            if (bodyPart != null)
            {
                articlePart.Summary = string.IsNullOrWhiteSpace(articlePart.Summary) ? Utity.DropHtml(bodyPart.Text, 255) : articlePart.Summary;
            }
            articlePart.ColumnPartRecord = ColumnRepository.Get(d => d.Id == articlePart.ColumnPartRecordId);
            ArticleRepository.Flush();
        }
コード例 #8
0
        public void PostgreSettingsNull()
        {
            //Arrange | Act
            var repository = new ColumnRepository(null, GetNotification);

            //Assert
            Assert.True(GetNotification.HasNotification(LogLevelExtension.ReturnLevel));

            var notifications = GetNotification.GetNotification(LogLevelExtension.ReturnLevel);

            Assert.Equal(Resources.PostGreSettingMissing, notifications.First().Message);
        }
コード例 #9
0
        private IEnumerable <ForecastColumn> GetColumnsToCalculate(Guid sheetId)
        {
            var useFormulaColumn   = UserConnection.GetIsFeatureEnabled("CalcTotalByFormula");
            var columnsToCalculate = ColumnRepository.GetColumns(sheetId).Where(column => {
                if (!useFormulaColumn)
                {
                    return(column.TypeId != ForecastConsts.FormulaColumnTypeId);
                }
                FormulaSetting setting = column.GetColumnSettings <FormulaSetting>();
                return(!setting.UseInSummary);
            });

            return(columnsToCalculate);
        }
 /// <inheritdoc cref="IForecastSummaryColumnCalculator.ApplySummaryData"/>
 public void ApplySummaryData(UserConnection userConnection, Guid forecastId, IEnumerable <TreeTableDataItem> records)
 {
     userConnection.CheckArgumentNull(nameof(userConnection));
     records.CheckArgumentNull(nameof(records));
     if (records.IsEmpty())
     {
         return;
     }
     _userConnection = userConnection;
     ForecastColumns = ColumnRepository.GetColumns(forecastId);
     foreach (TreeTableDataItem record in records)
     {
         var calculatedCells = CalcSummaryCells(forecastId, record);
         record.ColumnValues.AddRange(calculatedCells);
     }
 }
コード例 #11
0
        public void PostgreSettingsEmpty()
        {
            //Arrange
            var settings = new Mock <IOptions <PostgreSetting> >();

            settings.Setup(c => c.Value).Returns(new PostgreSetting());

            //Act
            var repository = new ColumnRepository(settings.Object, GetNotification);

            //Assert
            Assert.True(GetNotification.HasNotification(LogLevelExtension.ReturnLevel));

            var notifications = GetNotification.GetNotification(LogLevelExtension.ReturnLevel);

            Assert.Equal(Resources.PostGreSettingMissing, notifications.First().Message);
        }
コード例 #12
0
        public void UpdateForContentItem(ContentItem item, EditColumnPartViewModel viewModel)
        {
            var part = item.As <ColumnPart>();

            part.CallIndex = viewModel.CallIndex;
            part.Groups    = viewModel.Groups;
            part.Sort      = viewModel.Sort;
            part.ImageUrl  = viewModel.ImageUrl;
            part.LinkUrl   = viewModel.LinkUrl;
            part.Summary   = viewModel.Summary;
            part.ParentId  = viewModel.ParentId;
            if (IsContainNode(part.Id, part.ParentId))
            {
                var oldEntity = TomeltServices.ContentManager.Get <ColumnPart>(part.Id, VersionOptions.Latest);
                var treePath  = "," + part.ParentId + ",";
                var layer     = 1;
                if (oldEntity.ParentId > 0)
                {
                    var oldParentEntity = TomeltServices.ContentManager.Get <ColumnPart>(oldEntity.ParentId, VersionOptions.Latest);
                    treePath = oldParentEntity.TreePath + part.ParentId + ",";
                    layer    = oldParentEntity.Layer + 1;
                }
                var temp = TomeltServices.ContentManager.Get <ColumnPart>(part.ParentId, VersionOptions.Latest);
                temp.TreePath = treePath;
                temp.Layer    = layer;
                temp.ParentId = oldEntity.ParentId;
                UpdateChilds(part.ParentId);
            }
            if (part.ParentId > 0)
            {
                var entity = TomeltServices.ContentManager.Get <ColumnPart>(part.ParentId, VersionOptions.Latest);
                part.TreePath = entity.TreePath + part.Id + ",";
                part.Layer    = entity.Layer + 1;
            }
            else
            {
                part.TreePath = "," + part.Id + ",";
                part.Layer    = 1;
            }
            var newEntity = TomeltServices.ContentManager.Get <ColumnPart>(part.Id, VersionOptions.Latest);

            newEntity.TreePath = part.TreePath;
            newEntity.Layer    = part.Layer;
            UpdateChilds(part.Id);
            ColumnRepository.Flush();
        }
コード例 #13
0
        /// <inheritdoc/>
        public IEnumerable <TableCell> CalcFormulaSummary(FormulaSummaryParams parameters)
        {
            parameters.CheckArgumentNull(nameof(parameters));
            Guid forecastId = parameters.ForecastId;

            ForecastColumns = ColumnRepository.GetColumns(forecastId);
            var cells = new List <TableCell>(parameters.Cells);

            cells = FilterTableCells(cells);
            SetupPeriods(cells);
            var resultCells = new List <TableCell>();
            var records     = cells.Select(cell => cell.RecordId).Distinct().ToImmutableArray();

            records.ForEach((recordId) => {
                var filteredCells = cells.Where(cell => cell.RecordId == recordId);
                resultCells.AddRange(InnerCalculate(filteredCells, recordId));
            });
            return(resultCells);
        }
コード例 #14
0
        private IEnumerable <ColumnInfo> GetColumnInfos(Guid forecastId, IEnumerable <Period> periods)
        {
            IEnumerable <ForecastColumn> forecastColumns = ColumnRepository.GetColumns(forecastId);

            return(FillColumns(forecastColumns, periods));
        }
コード例 #15
0
        public IEnumerable <ContentItem> GetArticlesPro(EditArticlePartViewModel search)
        {
            //内容状态
            VersionOptions versionOptions;

            switch (search.contentStatus)
            {
            case "Published":
                versionOptions = VersionOptions.Published;
                break;

            case "Draft":
                versionOptions = VersionOptions.Draft;
                break;

            case "AllVersions":
                versionOptions = VersionOptions.AllVersions;
                break;

            default:
                versionOptions = VersionOptions.Latest;
                break;
            }
            var query = TomeltServices.ContentManager.Query(versionOptions, GetCreatableTypes(false).Select(ctd => ctd.Name).ToArray());

            query = query.ForType(ContentTypeName);
            if (search.ColumnPartRecordId > 0)
            {
                var columnIds = ColumnRepository.Fetch(d => d.TreePath.Contains("," + search.ColumnPartRecordId + ","))
                                .Select(d => d.Id).ToList();
                query = query.Where <ArticlePartRecord>(d => columnIds.Contains(d.ColumnPartRecordId));
            }
            if (!string.IsNullOrWhiteSpace(search.Title))
            {
                query = query.Where <TitlePartRecord>(d => d.Title.Contains(search.Title));
            }


            //升降序
            switch (search.order)
            {
            case "asc":
                query = query.OrderBy <CommonPartRecord>(cr => cr.CreatedUtc);
                break;

            default:
                query = query.OrderByDescending <CommonPartRecord>(cr => cr.CreatedUtc);
                break;
            }
            //查看自己的数据
            if (search.contentStatus == "Owner")
            {
                query = query.Where <CommonPartRecord>(cr => cr.OwnerId == TomeltServices.WorkContext.CurrentUser.Id);
            }
            search.total = query.Count();
            //分页
            int pageSize      = search.rows ?? 10;
            var maxPagedCount = SiteService.GetSiteSettings().MaxPagedCount;

            if (maxPagedCount > 0 && pageSize > maxPagedCount)
            {
                pageSize = maxPagedCount;
            }
            int page = search.page ?? 1;

            return(query.Slice((page - 1) * pageSize, pageSize).ToList());
        }
コード例 #16
0
 public ColumnController(ColumnRepository columnRepository)
 {
     cr = columnRepository;
 }
コード例 #17
0
ファイル: ColumnBusiness.cs プロジェクト: robertzml/Nestor
 /// <summary>
 /// 栏目业务类
 /// </summary>
 public ColumnBusiness()
 {
     this.columnRepository = new ColumnRepository();
 }
コード例 #18
0
 public void TestMethod1()
 {
     var repo = new ColumnRepository();
 }