Inheritance: IPageType
        private FakePageType GetPageTypeToReturn(IPageType pageTypeRecord)
        {
            var pageTypeToReturn = new FakePageType(pageDefinitionRepository);

            Mapper.Map(pageTypeRecord, pageTypeToReturn);
            return(pageTypeToReturn);
        }
 private FakePageType GetPageTypeToReturn(IPageType pageTypeRecord)
 {
     var definitions = new PageDefinitionCollection();
     definitions.AddRange(pageDefinitionFactory.List(pageTypeRecord.ID));
     var pageTypeToReturn = new FakePageType(definitions);
     Mapper.Map(pageTypeRecord, pageTypeToReturn);
     return pageTypeToReturn;
 }
        public IPageType Load(int id)
        {
            var pageTypeRecord = pageTypes.FirstOrDefault(pageType => pageType.ID == id);
            if (pageTypeRecord == null)
                return pageTypeRecord;

            var pageTypeToReturn = new FakePageType();
            Mapper.Map(pageTypeRecord, pageTypeToReturn);
            return pageTypeToReturn;
        }
        public IPageType Load(string name)
        {
            var pageTypeRecord = pageTypes.FirstOrDefault(pageType => pageType.Name == name);
            if(pageTypeRecord == null)
                return pageTypeRecord;

            var pageTypeToReturn = new FakePageType();
            Mapper.Map(pageTypeRecord, pageTypeToReturn);
            return pageTypeToReturn;
        }
        public IPageType Load(int id)
        {
            var pageTypeRecord = pageTypes.FirstOrDefault(pageType => pageType.ID == id);

            if (pageTypeRecord == null)
            {
                return(pageTypeRecord);
            }

            var pageTypeToReturn = new FakePageType();

            Mapper.Map(pageTypeRecord, pageTypeToReturn);
            return(pageTypeToReturn);
        }
        public IPageType Load(string name)
        {
            var pageTypeRecord = pageTypes.FirstOrDefault(pageType => pageType.Name == name);

            if (pageTypeRecord == null)
            {
                return(pageTypeRecord);
            }

            var pageTypeToReturn = new FakePageType();

            Mapper.Map(pageTypeRecord, pageTypeToReturn);
            return(pageTypeToReturn);
        }
        public void Save(IPageType pageTypeToSave)
        {
            if (pageTypeToSave.IsNew)
            {
                pageTypeToSave.ID = nextId;
                nextId++;
                var pageTypeRecord = new FakePageType(pageDefinitionRepository);
                
                Mapper.Map(pageTypeToSave, pageTypeRecord);

                pageTypes.Add(pageTypeRecord);
            }
            else
            {
                var pageTypeRecord = pageTypes.FirstOrDefault(pageType => pageType.ID == pageTypeToSave.ID);
                Mapper.Map(pageTypeToSave, pageTypeRecord);
            }

            numberOfSavesPerPageTypeIdCounter.IncrementNumberOfSaves(pageTypeToSave.ID);
        }
        public void Save(IPageType pageTypeToSave)
        {
            if (pageTypeToSave.IsNew)
            {
                pageTypeToSave.ID = nextId;
                nextId++;
                var pageTypeRecord = new FakePageType(pageDefinitionRepository);

                Mapper.Map(pageTypeToSave, pageTypeRecord);

                pageTypes.Add(pageTypeRecord);
            }
            else
            {
                var pageTypeRecord = pageTypes.FirstOrDefault(pageType => pageType.ID == pageTypeToSave.ID);
                Mapper.Map(pageTypeToSave, pageTypeRecord);
            }

            numberOfSavesPerPageTypeIdCounter.IncrementNumberOfSaves(pageTypeToSave.ID);
        }
 private FakePageType GetPageTypeToReturn(IPageType pageTypeRecord)
 {
     var pageTypeToReturn = new FakePageType(pageDefinitionRepository);
     Mapper.Map(pageTypeRecord, pageTypeToReturn);
     return pageTypeToReturn;
 }