コード例 #1
0
        public EnumTypeMemberViewModel(EnumTypeViewModel parent, EnumTypeMember member)
        {
            _member = member;

            _name = String.Empty;
            _value = null;
            if (_member != null)
            {
                _name = member.Name.Value;
                _value = member.Value.Value;
            }
            Parent = parent;
        }
コード例 #2
0
 internal override bool ParseSingleElement(ICollection <XName> unprocessedElements, XElement elem)
 {
     if (elem.Name.LocalName == EnumTypeMember.ElementName)
     {
         var member = new EnumTypeMember(this, elem);
         member.Parse(unprocessedElements);
         AddMember(member);
     }
     else
     {
         return(base.ParseSingleElement(unprocessedElements, elem));
     }
     return(true);
 }
コード例 #3
0
        protected override void InvokeInternal(CommandProcessorContext cpc)
        {
            string errorMessage;

            // Check if the EnumTypeMember is unique among its sibling.
            // Note that member names are case sensitive so it is perfectly legal to have members with the same names but differs in case (for e.g. member vs. MEMBER)
            if (ModelHelper.IsUniqueName(typeof(EnumTypeMember), EnumType, Name, true, out errorMessage) == false)
            {
                throw new CommandValidationFailedException(errorMessage);
            }

            var type = ModelHelper.UnderlyingEnumTypes.FirstOrDefault(
                t => String.CompareOrdinal(t.Name, EnumType.UnderlyingType.Value) == 0);

            Debug.Assert(type != null, "Type:" + EnumType.UnderlyingType.Value + " is not valid underlying type for an enum.");

            if (type != null)
            {
                // Check if the EnumTypeMember value is valid.
                if (String.IsNullOrWhiteSpace(Value) == false
                    && ModelHelper.IsValidValueForType(type, Value) == false)
                {
                    throw new CommandValidationFailedException(
                        String.Format(CultureInfo.CurrentCulture, Resources.BadEnumTypeMemberValue, Value));
                }

                var member = new EnumTypeMember(EnumType, null);
                member.LocalName.Value = Name;

                if (String.IsNullOrWhiteSpace(Value) == false)
                {
                    member.Value.Value = Value;
                }
                EnumType.AddMember(member);

                XmlModelHelper.NormalizeAndResolve(member);
            }
        }
コード例 #4
0
 public EnumTypeMemberClipboardFormat(EnumTypeMember enumTypeMember)
     : base(enumTypeMember)
 {
     _memberName  = enumTypeMember.Name.Value;
     _memberValue = enumTypeMember.Value.Value;
 }
コード例 #5
0
ファイル: EnumType.cs プロジェクト: Cireson/EntityFramework6
 internal void AddMember(EnumTypeMember member)
 {
     _members.Add(member);
 }
コード例 #6
0
ファイル: EnumType.cs プロジェクト: Cireson/EntityFramework6
 internal override bool ParseSingleElement(ICollection<XName> unprocessedElements, XElement elem)
 {
     if (elem.Name.LocalName == EnumTypeMember.ElementName)
     {
         var member = new EnumTypeMember(this, elem);
         member.Parse(unprocessedElements);
         AddMember(member);
     }
     else
     {
         return base.ParseSingleElement(unprocessedElements, elem);
     }
     return true;
 }
コード例 #7
0
 internal void AddMember(EnumTypeMember member)
 {
     _members.Add(member);
 }
コード例 #8
0
 public EnumTypeMemberClipboardFormat(EnumTypeMember enumTypeMember)
     : base(enumTypeMember)
 {
     _memberName = enumTypeMember.Name.Value;
     _memberValue = enumTypeMember.Value.Value;
 }