private void AssertMetadataItemDtoAreEqual(IMetadataItemDto expectedMetadataItemDto, IMetadataItemDto testedMetadataItemDto)
        {
            Assert.AreEqual(expectedMetadataItemDto.GetType(), testedMetadataItemDto.GetType());

            if (expectedMetadataItemDto is RequiredMetadataItemDto)
            {
                Assert.AreEqual((expectedMetadataItemDto as RequiredMetadataItemDto).IsRequired, (testedMetadataItemDto as RequiredMetadataItemDto).IsRequired);
            }
            else if (expectedMetadataItemDto is ReadonlyMetadataItemDto)
            {
                Assert.AreEqual((expectedMetadataItemDto as ReadonlyMetadataItemDto).IsReadonly, (testedMetadataItemDto as ReadonlyMetadataItemDto).IsReadonly);
            }
            else if (expectedMetadataItemDto is HiddenMetadataItemDto)
            {
                Assert.AreEqual((expectedMetadataItemDto as HiddenMetadataItemDto).IsHidden, (testedMetadataItemDto as HiddenMetadataItemDto).IsHidden);
            }
            else if (expectedMetadataItemDto is DisplayNameMetadataItemDto)
            {
                Assert.AreEqual((expectedMetadataItemDto as DisplayNameMetadataItemDto).Name, (testedMetadataItemDto as DisplayNameMetadataItemDto).Name);
            }
            else
            {
                throw new NotSupportedException("Not supported yet.");
            }
        }
Пример #2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="MetadataChangedEventArgs"/> class.
 /// </summary>
 /// <param name="metadataAction">The metadata action.</param>
 /// <param name="metadataItemDto">The metadata item dto.</param>
 public MetadataChangedEventArgs(
     MetadataAction metadataAction,
     IMetadataItemDto metadataItemDto)
 {
     MetadataAction  = metadataAction;
     MetadataItemDto = metadataItemDto;
 }
Пример #3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="MetadataChangedEventArgs"/> class.
 /// </summary>
 /// <param name="metadataAction">The metadata action.</param>
 /// <param name="metadataItemDto">The metadata item dto.</param>
 public MetadataChangedEventArgs(
     MetadataAction metadataAction,
     IMetadataItemDto metadataItemDto )
 {
     MetadataAction = metadataAction;
     MetadataItemDto = metadataItemDto;
 }
Пример #4
0
 void IMetadataItemApplicator.Unapply(
     FrameworkElement frameworkElement,
     IMetadataItemDto metadataItem,
     IDictionary <Type, object> localStorage)
 {
     Unapply(( TFrameworkElement )frameworkElement, ( TMetadataItem )metadataItem, localStorage);
 }
Пример #5
0
        /// <summary>
        /// Adds the metadata item.
        /// </summary>
        /// <param name="metadataItemDto">The metadata item dto.</param>
        public void AddMetadataItem(IMetadataItemDto metadataItemDto)
        {
            if (metadataItemDto == null)
            {
                throw new ArgumentNullException("metadataItemDto");
            }

            _metadataItemDtos.Add(metadataItemDto);
        }
        /// <summary>
        /// Gets the metadata item applicator.
        /// </summary>
        /// <param name="frameworkElement">The framework element.</param>
        /// <param name="metadataItem">The metadata item.</param>
        /// <returns>A <see cref="Rem.Ria.Infrastructure.View.Configuration.IMetadataItemApplicator"/></returns>
        public IMetadataItemApplicator GetMetadataItemApplicator( FrameworkElement frameworkElement, IMetadataItemDto metadataItem )
        {
            IMetadataItemApplicator metadataItemApplicator = null;
            var elementTypes = GetBaseTypes ( frameworkElement.GetType () );
            foreach ( var elementType in elementTypes )
            {
                var candidateElementType = elementType;
                var metadataItemApplicators =
                    from applicator in _metadataItemApplicators
                    where applicator.FrameworkElementType == candidateElementType && applicator.MetadataItemType == metadataItem.GetType ()
                    select applicator;

                metadataItemApplicator = metadataItemApplicators.SingleOrDefault ();
                if ( metadataItemApplicator != null )
                {
                    break;
                }
            }

            return metadataItemApplicator;
        }
        private void AssertMetadataItemDtoAreEqual(IMetadataItemDto expectedMetadataItemDto, IMetadataItemDto testedMetadataItemDto)
        {
            Assert.AreEqual(expectedMetadataItemDto.GetType(), testedMetadataItemDto.GetType());

            if (expectedMetadataItemDto is RequiredMetadataItemDto)
            {
                Assert.AreEqual ( (expectedMetadataItemDto as RequiredMetadataItemDto).IsRequired, (testedMetadataItemDto as RequiredMetadataItemDto).IsRequired );
            }
            else if (expectedMetadataItemDto is ReadonlyMetadataItemDto)
            {
                Assert.AreEqual((expectedMetadataItemDto as ReadonlyMetadataItemDto).IsReadonly, (testedMetadataItemDto as ReadonlyMetadataItemDto).IsReadonly);
            }
            else if (expectedMetadataItemDto is HiddenMetadataItemDto)
            {
                Assert.AreEqual((expectedMetadataItemDto as HiddenMetadataItemDto).IsHidden, (testedMetadataItemDto as HiddenMetadataItemDto).IsHidden);
            }
            else if (expectedMetadataItemDto is DisplayNameMetadataItemDto)
            {
                Assert.AreEqual((expectedMetadataItemDto as DisplayNameMetadataItemDto).Name, (testedMetadataItemDto as DisplayNameMetadataItemDto).Name);
            }
            else
            {
                throw new NotSupportedException ( "Not supported yet." );
            }
        }
Пример #8
0
        /// <summary>
        /// Gets the metadata item applicator.
        /// </summary>
        /// <param name="frameworkElement">The framework element.</param>
        /// <param name="metadataItem">The metadata item.</param>
        /// <returns>A <see cref="Rem.Ria.Infrastructure.View.Configuration.IMetadataItemApplicator"/></returns>
        public IMetadataItemApplicator GetMetadataItemApplicator(FrameworkElement frameworkElement, IMetadataItemDto metadataItem)
        {
            IMetadataItemApplicator metadataItemApplicator = null;
            var elementTypes = GetBaseTypes(frameworkElement.GetType());

            foreach (var elementType in elementTypes)
            {
                var candidateElementType    = elementType;
                var metadataItemApplicators =
                    from applicator in _metadataItemApplicators
                    where applicator.FrameworkElementType == candidateElementType && applicator.MetadataItemType == metadataItem.GetType()
                    select applicator;

                metadataItemApplicator = metadataItemApplicators.SingleOrDefault();
                if (metadataItemApplicator != null)
                {
                    break;
                }
            }

            return(metadataItemApplicator);
        }