Exemplo n.º 1
0
 /// ------------------------------------------------------------------------------------
 /// <summary>
 /// Initializes the specified field name.
 /// </summary>
 /// ------------------------------------------------------------------------------------
 private void Initialize(string fieldName, string dataTypeName,
                         MultiplicityType multiplicity, IEnumerable <string> writingSystemIds)
 {
     FieldName        = fieldName;
     WritingSystemIds = new List <string>(writingSystemIds);
     _multiplicity    = multiplicity;
     DataTypeName     = dataTypeName;
 }
Exemplo n.º 2
0
        /// ------------------------------------------------------------------------------------
        /// <summary>
        /// Initializes a new instance of the <see cref="FieldDefinition"/> class.
        /// REVIEW: Don't know what to do with the parentClassName. Do we need it?
        /// </summary>
        /// ------------------------------------------------------------------------------------
        public FieldDefinition(string fieldName, string parentClassName,
                               IEnumerable <string> writingSystemIds, MultiplicityType multiplicity, string dataTypeName)
        {
            if (writingSystemIds == null)
            {
                throw new ArgumentNullException();
            }

            Initialize(fieldName, dataTypeName, multiplicity, writingSystemIds);
        }
Exemplo n.º 3
0
        public override void Deserialize(XmlElement node)
        {
            base.Deserialize(node);

            RaisePreChangedEvent = RaiseChangedEvent = false;

            StartMultiplicity = (MultiplicityType)Enum.Parse(typeof(MultiplicityType), node["StartMultiplicity"].InnerText);
            EndMultiplicity   = (MultiplicityType)Enum.Parse(typeof(MultiplicityType), node["EndMultiplicity"].InnerText);

            RaisePreChangedEvent = RaiseChangedEvent = true;
        }
Exemplo n.º 4
0
 public Field(string fieldName,
              string parentClassName,
              IEnumerable <string> writingSystemIds,
              MultiplicityType multiplicity,
              string dataTypeName)
 {
     if (writingSystemIds == null)
     {
         throw new ArgumentNullException();
     }
     ClassName = parentClassName;
     Enabled   = true;           //without this lots of tests would need updating
     Initialize(fieldName, dataTypeName, multiplicity, writingSystemIds);
 }
Exemplo n.º 5
0
		public Field(string fieldName,
					 string className,
					 IEnumerable<string> writingSystemIds,
					 MultiplicityType multiplicity,
					 string dataTypeName)
		{
			if (writingSystemIds == null)
			{
				throw new ArgumentNullException();
			}
			ClassName = className;
			Enabled = true; //without this lots of tests would need updating
			Initialize(fieldName, dataTypeName, multiplicity, writingSystemIds);
		}
Exemplo n.º 6
0
 /// <summary>
 /// Setter for Right and Left CustomMultiplicity
 /// </summary>
 /// <param name="CustomMultiplicity">target for a new value</param>
 /// <param name="NewValue">new value that will be assigned</param>
 /// <param name="GoatAssociationEnd">an instance of GoatAssociationEnd whose multiplicity will be changed</param>
 /// <param name="MultiplicityType">Right or Left multiplicity type that will be changed</param>
 /// <param name="ChangedPropertyName">Name of property that is changed</param>
 private void SetRightOrLeftCustomMultiplicity(ref string CustomMultiplicity,
                                               string NewValue,
                                               GoatAssociationEndModel GoatAssociationEnd,
                                               MultiplicityType MultiplicityType,
                                               string ChangedPropertyName)
 {
     if (CustomMultiplicity != NewValue)
     {
         CustomMultiplicity = NewValue;
         GoatAssociationEnd.Multiplicity = NewValue;
         MultiplicityType = MultiplicityType.Other;
         RaisePropertyChanged(ChangedPropertyName);
     }
 }
Exemplo n.º 7
0
        private void Initialize(string fieldName,
                                string dataTypeName,
                                MultiplicityType multiplicity,
                                IEnumerable <string> writingSystemIds)
        {
            FieldName        = fieldName;
            WritingSystemIds = new List <string>(writingSystemIds);
            _multiplicity    = multiplicity;
            DataTypeName     = dataTypeName;

            Debug.Assert(FieldNames.EntryLexicalForm.ToString() ==
                         LexEntry.WellKnownProperties.LexicalUnit);
            Debug.Assert(FieldNames.ExampleSentence.ToString() ==
                         LexExampleSentence.WellKnownProperties.ExampleSentence);
            Debug.Assert(FieldNames.ExampleTranslation.ToString() ==
                         LexExampleSentence.WellKnownProperties.Translation);
        }
Exemplo n.º 8
0
        /// <summary>
        /// Setter for LeftMultiplicityType and RightMultiplicityType
        /// </summary>
        /// <param name="LeftRightMultiplicityType">internal attribute for storing value of the Propertyu</param>
        /// <param name="NewValue">New value for the property/attribute</param>
        /// <param name="AssociationEnd">instance of AssociationEnd whose Multiplicity will be changed</param>
        /// <param name="NameOfProperty">name of the property that is going to be changed</param>
        private void SetLeftOrRightMultiplicityType(ref MultiplicityType LeftRightMultiplicityType, MultiplicityType NewValue, GoatAssociationEndModel AssociationEnd, string NameOfProperty)
        {
            if (LeftRightMultiplicityType != NewValue)
            {
                LeftRightMultiplicityType = NewValue;

                switch (NewValue)
                {
                case MultiplicityType.None:
                    AssociationEnd.Multiplicity = "";
                    break;

                case MultiplicityType.ZeroToOne:
                    AssociationEnd.Multiplicity = "0..1";
                    break;

                case MultiplicityType.ZeroToMany:
                    AssociationEnd.Multiplicity = "0..*";
                    break;

                case MultiplicityType.One:
                    AssociationEnd.Multiplicity = "1";
                    break;

                case MultiplicityType.OneToMany:
                    AssociationEnd.Multiplicity = "1..*";
                    break;

                case MultiplicityType.Many:
                    AssociationEnd.Multiplicity = "*";
                    break;

                case MultiplicityType.Other:
                    AssociationEnd.Multiplicity = _rightCustomMultiplicity;
                    break;

                default:
                    throw new NotImplementedException($"setter of {NameOfProperty}");
                }
                RaisePropertyChanged(NameOfProperty);
            }
        }
Exemplo n.º 9
0
        private static string StartMultiplicityAsString(MultiplicityType mult)
        {
            switch (mult)
            {
            case MultiplicityType.ZeroOrOne:
                return("o+");

            case MultiplicityType.OneAndOnly:
                return("++");

            case MultiplicityType.ZeroOrMany:
                return(">o");

            case MultiplicityType.OneOrMany:
                return(">+");

            default:
                throw new ArgumentOutOfRangeException($"Unknown MultiplicityType: {mult}");
            }
        }
Exemplo n.º 10
0
		private void Initialize(string fieldName,
								string dataTypeName,
								MultiplicityType multiplicity,
								IEnumerable<string> writingSystemIds)
		{
			FieldName = fieldName;
			WritingSystemIds = new List<string>(writingSystemIds);
			_multiplicity = multiplicity;
			DataTypeName = dataTypeName;

			Debug.Assert(FieldNames.EntryLexicalForm.ToString() ==
						 LexEntry.WellKnownProperties.LexicalUnit);
			Debug.Assert(FieldNames.ExampleSentence.ToString() ==
						 LexExampleSentence.WellKnownProperties.ExampleSentence);
			Debug.Assert(FieldNames.ExampleTranslation.ToString() ==
						 LexExampleSentence.WellKnownProperties.Translation);
		}