Example #1
0
        public void RebuildMap(float offset, SectionTemplate startSection = null)
        {
            ResetAll();
            BuildMap(offset, startSection ?? startSectionTemplate);

            OpenCloseMap(false);
        }
        public void Delete_DeletesPageTemplatesThatBelongToTheSectionTemplate()
        {
            //arrange
            var sectionTemplate = new SectionTemplate
            {
                Id            = 1,
                PageTemplates = new Collection <PageTemplate>
                {
                    new PageTemplate
                    {
                        Id = 99
                    }
                }
            };
            var sectionTemplateDbSet = new InMemoryDbSet <SectionTemplate> {
                sectionTemplate
            };
            var pageTemplateDbSet = new InMemoryDbSet <PageTemplate> {
                sectionTemplate.PageTemplates.First()
            };

            _dbContextMock.Setup(x => x.GetDbSet <SectionTemplate>()).Returns(sectionTemplateDbSet);
            _dbContextMock.Setup(x => x.GetDbSet <PageTemplate>()).Returns(pageTemplateDbSet);

            //act
            _sectionTemplateService.Delete(sectionTemplate.Id);

            //assert
            _pageTemplateServiceMock.Verify(x => x.Delete(sectionTemplate.PageTemplates.First(), false));
        }
Example #3
0
        private PageTemplate CreatePageTemplateForSectionTemplate(SectionTemplate sectionTemplate, string actionName, string modelName, string name = "", string iconImageName = "", bool commit = true)
        {
            var pageTemplateDbSet = _unitOfWork.Context.GetDbSet <PageTemplate>();

            var pageTemplate = pageTemplateDbSet.Create();

            pageTemplate.ParentSectionTemplate = sectionTemplate;
            pageTemplate.ActionName            = actionName;
            pageTemplate.Name = name.IsNullOrEmpty()
                            ? actionName
                            : name;
            pageTemplate.IconImageName = iconImageName.IsNullOrEmpty()
                            ? CmsConstants.PageTemplateDefaultThumbnail
                            : iconImageName;
            pageTemplate.ModelName = modelName;

            pageTemplateDbSet.Add(pageTemplate);

            if (commit)
            {
                _unitOfWork.Commit();
            }

            return(pageTemplate);
        }
Example #4
0
        public FlexNodeReport Add(SectionTemplate row)
        {
            var flexNode = row.blnGrid
                                    ? new FlexNodeReport(this, new FlexTableItem(row))
                                    : new FlexNodeReport(this, new FlexLabelItem(row));

            ChildList.Add(flexNode);
            return(flexNode);
        }
Example #5
0
        public SectionTemplateItem(SectionTemplate template)
        {
            this.sectionTemplate = template;

            templateEditor = new SectionTemplateEditor()
            {
                SectionTemplate = sectionTemplate
            };
            Header = templateEditor;
            sectionTemplate.Articles.CollectionChanged += Articles_CollectionChanged;
        }
Example #6
0
        /// <summary>
        /// Определяет, является ли для данной секции родительская секция табличной (если она не существует, то не является)
        /// </summary>
        /// <param name="sectionTemplate"></param>
        /// <returns></returns>
        public static bool IsParentSectionTable(this SectionTemplate sectionTemplate)
        {
            var result = false;

            if (sectionTemplate.ParentSection != null)
            {
                result = sectionTemplate.ParentSection.blnGrid;
            }

            return(result);
        }
Example #7
0
        internal FlexTableItem(SectionTemplate row)
            : base(row)
        {
            Height       = row.Height;
            Width        = row.intWidth ?? 100;
            Top          = row.intTop ?? 0;
            Left         = row.intLeft ?? 0;
            Order        = row.intOrder ?? 0;
            LinkedObject = row;

            Text = Utils.IsEmpty(row.NationalName) ? row.DefaultName : row.NationalName;
        }
Example #8
0
 private void HackToInstantiatePageTemplatesCollection(SectionTemplate sectionTemplate)
 {
     //when creating entities EF doesn't instantiate proxy collections, so we need to force it to be instantiated using this hack :(
     if (sectionTemplate.PageTemplates == null)
     {
         var pageTemplateDbSet = _dbContext.GetDbSet <PageTemplate>();
         var newPageTemplate   = pageTemplateDbSet.Create();
         newPageTemplate.ParentSectionTemplate = sectionTemplate;
         pageTemplateDbSet.Add(newPageTemplate);
         pageTemplateDbSet.Remove(newPageTemplate);
     }
 }
Example #9
0
        internal FlexLabelItem(SectionTemplate row)
            : base(row)
        {
            Height = row.Height;
            Width  = row.Width;
            Top    = row.Top;
            Left   = row.Left;
            Order  = row.Order;

            FontSize = ReportSettings.DefaultFontSize;
            Text     = Utils.IsEmpty(row.NationalName) ? row.DefaultName : row.NationalName;
        }
Example #10
0
        private void CreatePageTemplatesForActions(SectionTemplate sectionTemplate, IEnumerable <MethodInfo> controllerActions)
        {
            foreach (var action in controllerActions)
            {
                var attribute = (CmsPageTemplateAttribute)action.GetCustomAttributes(typeof(CmsPageTemplateAttribute), false).FirstOrDefault();
                var model     = _assembly.GetModels().FirstOrDefault(x => x.Name == attribute.ModelType.Name);

                var pageTemplate = _pageTemplateService.CreateForSectionTemplate(sectionTemplate, action.Name, model.Name, attribute.Name, attribute.IconImageName, false);

                var modelProperties = GetModelProperties(model);
                CreatePropertyTemplatesForProperties(modelProperties, pageTemplate);
            }
        }
        public void Create_UrlNameIsNullOrEmpty_ThrowsException()
        {
            //arrange
            var sectionTemplate = new SectionTemplate {
                Id = 1
            };
            var urlName = string.Empty;

            //act + assert
            Assert.That(() => _sectionNodeService.CreateSectionNode(sectionTemplate.Id, "Foobar", urlName),
                        Throws.Exception.TypeOf <ArgumentException>()
                        .With.Message.EqualTo(string.Format(Ensure.ArgumentIsNullOrEmptyMessageFormat, "urlName")));
        }
Example #12
0
 public static SectionTemplateDto AsDto(this SectionTemplate entity)
 {
     return(new SectionTemplateDto()
     {
         Title = entity.Title,
         Order = entity.Order,
         // Repeatable = entity.Repeatable,
         Questions = entity
                     .GetArray()
                     .Select(x => x.AsDto())
                     .ToArray()
     });
 }
Example #13
0
        public static void AddPageTemplate(this SectionTemplate sectionTemplate, IUnitOfWork unitOfWork, PageTemplate pageTemplate)
        {
            //when creating entities EF doesn't instantiate proxy collections, so we need to force it to be instantiated using this hack :(
            if (sectionTemplate.PageTemplates == null)
            {
                var pageTemplateDbSet = unitOfWork.Context.GetDbSet <PageTemplate>();
                var newPageTemplate   = pageTemplateDbSet.Create();
                newPageTemplate.ParentSectionTemplate = sectionTemplate;
                pageTemplateDbSet.Add(newPageTemplate);
                pageTemplateDbSet.Remove(newPageTemplate);
            }

            sectionTemplate.PageTemplates.Add(pageTemplate);
        }
        public void Create_SetsInTrashToFalse()
        {
            //arrange
            var sectionTemplate = new SectionTemplate {
                Id = 1
            };

            _dbContextMock.Setup(x => x.GetDbSet <SectionNode>()).Returns(new InMemoryDbSet <SectionNode>());
            _sectionTemplateServiceMock.Setup(x => x.GetById(It.IsAny <int>())).Returns(sectionTemplate);

            //act
            var sectionNode = _sectionNodeService.CreateSectionNode(sectionTemplate.Id, "Foobar", "foobar2");

            //assert
            sectionNode.InTrash.Should().Be.False();
        }
        public void Create_SectionTemplateWithControllerNameAlreadyExists_ThrowsException()
        {
            const string controllerName  = "Foobar";
            var          sectionTemplate = new SectionTemplate {
                ControllerName = controllerName
            };

            _dbContextMock.Setup(x => x.GetDbSet <SectionTemplate>()).Returns(new InMemoryDbSet <SectionTemplate>
            {
                sectionTemplate
            });

            Assert.That(() => _sectionTemplateService.Create(controllerName),
                        Throws.Exception.TypeOf <ArgumentException>()
                        .With.Message.EqualTo(string.Format(Messages.SectionTemplateControllerNameMustBeUnique, controllerName)));
        }
        public void Create_SetsModifiedOnDate()
        {
            //arrange
            var sectionTemplate = new SectionTemplate {
                Id = 1
            };

            _dbContextMock.Setup(x => x.GetDbSet <SectionNode>()).Returns(new InMemoryDbSet <SectionNode>());
            _sectionTemplateServiceMock.Setup(x => x.GetById(It.IsAny <int>())).Returns(sectionTemplate);

            //act
            var sectionNode = _sectionNodeService.CreateSectionNode(sectionTemplate.Id, "Foobar", "foobar2");

            //assert
            sectionNode.ModifiedOn.Should().Not.Be.EqualTo(null);
        }
        public void Create_NoOtherSectionNodesExists_OrderIs0()
        {
            //arrange
            var sectionTemplate = new SectionTemplate {
                Id = 1
            };

            _dbContextMock.Setup(x => x.GetDbSet <SectionNode>()).Returns(new InMemoryDbSet <SectionNode>());
            _sectionTemplateServiceMock.Setup(x => x.GetById(It.IsAny <int>())).Returns(sectionTemplate);

            //act
            var sectionNode = _sectionNodeService.CreateSectionNode(sectionTemplate.Id, "Foobar", "Foobar");

            //assert
            sectionNode.Order.Should().Be.EqualTo(CmsConstants.FirstOrderNumber);
        }
Example #18
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="nav"></param>
        /// <param name="sectionTemplate"></param>
        /// <remarks>Ajoute une notification dans NotificationSystem si erreur durant
        /// la mise à jour de la section. Ne bloque pas les exceptions.</remarks>
        /// <seealso cref="NotificationKeys.SectionUpdateError"/>
        internal void Update(XPathNavigator nav, SectionTemplate sectionTemplate)
        {
            var notification = new NotificationSystem.Notification(this,
                                                                   (int)NotificationKeys.SectionUpdateError)
            {
                Title       = Identifier,
                Description = "Update error."
            };

            try
            {
                UpdateInfo(nav, sectionTemplate);

                foreach (ArticleTemplate articleTemplate in sectionTemplate.Articles)
                {
                    XPathNodeIterator iter;
                    if (string.IsNullOrEmpty(articleTemplate.XPathFilter))
                    {
                        iter = nav.SelectChildren(XPathNodeType.Element);
                    }
                    else
                    {
                        iter = nav.Select(articleTemplate.XPathFilter);
                    }

                    while (iter.MoveNext())
                    {
                        XPathNavigator subTree = iter.Current;
                        Article        tmp     = new Article()
                        {
                            BaseUri       = this.BaseUri,
                            IsNewBehavior = this.IsNewBehavior
                        };
                        tmp.Update(subTree, articleTemplate);
                        AddOrUpdateArticle(tmp);
                    }
                }

                NotificationSystem.GetInstance().Remove(notification);
            }
            catch
            {
                NotificationSystem.GetInstance().Add(notification);
                throw;
            }
        }
        public void Create_UrlNameGetsFormatted()
        {
            //arrange
            const string urlName          = "Foobar";
            var          formattedUrlName = CmsUrlHelper.FormatUrlName(urlName);
            var          sectionTemplate  = new SectionTemplate {
                Id = 1
            };

            _dbContextMock.Setup(x => x.GetDbSet <SectionNode>()).Returns(new InMemoryDbSet <SectionNode>());
            _sectionTemplateServiceMock.Setup(x => x.GetById(It.IsAny <int>())).Returns(sectionTemplate);

            //act
            var sectionNode = _sectionNodeService.CreateSectionNode(sectionTemplate.Id, "Foobar", urlName);

            //assert
            sectionNode.UrlName.Should().Be.EqualTo(formattedUrlName);
        }
Example #20
0
        public PageTemplate CreateForSectionTemplate(SectionTemplate sectionTemplate, string actionName, string modelName, string name = null, string iconImageName = null, bool commit = true)
        {
            if (actionName.IsNullOrEmpty())
            {
                throw new ArgumentException(Messages.PageTemplateActionNameCannotBeNull);
            }

            if (modelName.IsNullOrEmpty())
            {
                throw new ArgumentException(Messages.PageTemplateModelNameCannotBeNull);
            }

            if (sectionTemplate == null)
            {
                throw new ArgumentException(Messages.SectionTemplateCannotBeNull);
            }

            return(CreatePageTemplateForSectionTemplate(sectionTemplate, actionName, modelName, name, iconImageName, commit));
        }
Example #21
0
        public void Initialize(SectionTemplate sectionTemplate)
        {
            this.template = sectionTemplate;

#if UNITY_EDITOR
            gameObject.name = template.name;
#endif

            wallPool    = new GameObjectPool <WallColumn>(transform, template.WallColumnPrefab, template.MaxColumnCount);
            powerUpPool = new ProbabilityPool <PowerUp>(transform, template.GetPrefabProbabilityPairs(), template.MaxPowerUpCount);

            foreach (var pool in powerUpPool.GetPools())
            {
                foreach (var powerUp in pool.PooledItemsNonAloc)
                {
                    powerUp.Initialize(pool.PoolItem);
                }
            }
        }
        public void CreateForSectionTemplate_NameIsNullOrEmpty_UsesActionNameAsName()
        {
            //arrange
            var sectionTemplate = new SectionTemplate {
                Id = 1
            };
            const string actionName = "PageTemplateServiceFixtureController";
            var          name       = string.Empty;

            _dbContextMock.Setup(x => x.GetDbSet <PageTemplate>()).Returns(new InMemoryDbSet <PageTemplate>());
            _dbContextMock.Setup(x => x.GetDbSet <SectionTemplate>()).Returns(new InMemoryDbSet <SectionTemplate>
            {
                sectionTemplate
            });

            //act
            var pageTemplate = _pageTemplateService.CreateForSectionTemplate(sectionTemplate.Id, actionName, "Foobar", name);

            //assert
            pageTemplate.Name.Should().Be.EqualTo(actionName);
        }
        public void Delete_DeletesTheSectionTemplate()
        {
            //arrange
            const string controllerName  = "SectionTemplateServiceFixtureController";
            var          sectionTemplate = new SectionTemplate {
                Id = 1
            };

            _dbContextMock.Setup(x => x.GetDbSet <SectionTemplate>()).Returns(new InMemoryDbSet <SectionTemplate>
            {
                sectionTemplate
            });

            //act
            _sectionTemplateService.Delete(sectionTemplate.Id);

            //assert
            var deletedSectionTemplate = _dbContextMock.Object.GetDbSet <SectionTemplate>().FirstOrDefault(x => x.Id == sectionTemplate.Id);

            deletedSectionTemplate.Should().Be.Null();
        }
        private SectionTemplate UpdateSectionTemplate(SectionTemplate sectionTemplate, string name, string iconImageName = null, bool commit = true)
        {
            if (sectionTemplate == null)
            {
                throw new ArgumentException(Messages.SectionTemplateCannotBeNull);
            }

            sectionTemplate.Name = !name.IsNullOrEmpty()
                                    ? name
                                    : sectionTemplate.Name;
            sectionTemplate.IconImageName = !iconImageName.IsNullOrEmpty()
                                    ? iconImageName
                                    : sectionTemplate.IconImageName;

            if (commit)
            {
                _unitOfWork.Commit();
            }

            return(sectionTemplate);
        }
        public void CreateForSectionTemplate_IconImageNameIsNullOrEmpty_UsesDefaultPageTemplateImage()
        {
            //arrange
            var sectionTemplate = new SectionTemplate {
                Id = 1
            };
            const string actionName    = "PageTemplateServiceFixtureController";
            var          name          = string.Empty;
            var          iconImageName = string.Empty;

            _dbContextMock.Setup(x => x.GetDbSet <PageTemplate>()).Returns(new InMemoryDbSet <PageTemplate>());
            _dbContextMock.Setup(x => x.GetDbSet <SectionTemplate>()).Returns(new InMemoryDbSet <SectionTemplate>
            {
                sectionTemplate
            });

            //act
            var pageTemplate = _pageTemplateService.CreateForSectionTemplate(sectionTemplate.Id, actionName, "FoobarModel", name, iconImageName);

            //assert
            pageTemplate.IconImageName.Should().Be.EqualTo(CmsConstants.PageTemplateDefaultThumbnail);
        }
        public void Create_OtherSectionNodesExists_OrderIsLastSectionNode()
        {
            //arrange
            var sectionTemplate = new SectionTemplate {
                Id = 1
            };

            _dbContextMock.Setup(x => x.GetDbSet <SectionNode>()).Returns(new InMemoryDbSet <SectionNode>
            {
                new SectionNode
                {
                    Id = 1
                }
            });
            _sectionTemplateServiceMock.Setup(x => x.GetById(It.IsAny <int>())).Returns(sectionTemplate);

            //act
            var sectionNode = _sectionNodeService.CreateSectionNode(sectionTemplate.Id, "Foobar", "foobar2");

            //assert
            sectionNode.Order.Should().Be.EqualTo(1);
        }
Example #27
0
        private void BuildMap(float offset, SectionTemplate startSection)
        {
            // Start the current at half the length of the start section.
            Vector2 current = new Vector2(-20f + offset, 0f);

            WallSection wallSection = wallSectionTemplatePairs[startSection].GetItem();

            wallSection.Spawn(current);

            current = wallSection.EndPoint;

            lastWallSectionSpawned = wallSection;

            while (current.x < playerTransform.position.x + playerSeeRadius)
            {
                wallSection = wallSectionTemplatePairs[defaultSectionTemplate].GetItem();
                wallSection.Spawn(current);

                current = wallSection.EndPoint;

                lastWallSectionSpawned = wallSection;
            }
        }
        public void CreateForSection_NoPageTemplateExistsInSectionTemplateForId_ThrowsException()
        {
            //arrange
            var sectionTemplate = new SectionTemplate();
            var sectionNode     = new SectionNode
            {
                Id = 1,
                SectionTemplate = new SectionTemplate
                {
                    PageTemplates = new Collection <PageTemplate>()
                }
            };
            const int pageTemplateId = 99999;

            _dbContextMock.Setup(x => x.GetDbSet <SectionNode>()).Returns(new InMemoryDbSet <SectionNode>
            {
                sectionNode
            });

            //act + assert
            Assert.That(() => _pageNodeService.CreateForSection(sectionNode.Id, pageTemplateId, "Foobar", "foobar"),
                        Throws.Exception.TypeOf <ArgumentException>()
                        .With.Message.EqualTo(string.Format(Messages.PageTemplateNotFoundForSectionTemplate, pageTemplateId, sectionTemplate.Id)));
        }
        public void Delete_DeletesTheSectionNode()
        {
            //arrange
            var sectionTemplate = new SectionTemplate {
                Id = 1
            };
            var sectionNode = new SectionNode {
                Id = 99
            };

            _dbContextMock.Setup(x => x.GetDbSet <SectionNode>()).Returns(new InMemoryDbSet <SectionNode>
            {
                sectionNode
            });
            _sectionTemplateServiceMock.Setup(x => x.GetById(It.IsAny <int>())).Returns(sectionTemplate);

            //act
            _sectionNodeService.Delete(sectionNode.Id);

            //assert
            var foundSectionNode = _sectionNodeService.GetById(sectionNode.Id);

            foundSectionNode.Should().Be.Null();
        }
        public void Create_UrlNameIsAlreadyUsedByAnotherSectionNode_ThrowsException()
        {
            //arrange
            var sectionTemplate = new SectionTemplate {
                Id = 1
            };
            const string urlName          = "Foobar";
            var          formattedUrlName = CmsUrlHelper.FormatUrlName(urlName);

            _dbContextMock.Setup(x => x.GetDbSet <SectionNode>()).Returns(new InMemoryDbSet <SectionNode>
            {
                new SectionNode
                {
                    UrlName = formattedUrlName
                }
            });
            _sectionTemplateServiceMock.Setup(x => x.GetById(It.IsAny <int>())).Returns(sectionTemplate);


            //act + assert
            Assert.That(() => _sectionNodeService.CreateSectionNode(sectionTemplate.Id, "Foobar", urlName),
                        Throws.Exception.TypeOf <ArgumentException>()
                        .With.Message.EqualTo(string.Format(Messages.SectionNodeUrlNameMustBeUnique, formattedUrlName)));
        }
 void IApiDocTemplateProcessor.Process(SectionTemplate template)
 {
     generator.PrintSection(template.Title, null);
     this.generator.NextSectionLevel();
     template.ProcessItems(this);
     this.generator.PreviousSectionLevel();
 }