/// ------------------------------------------------------------------------------------ /// <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; }
/// ------------------------------------------------------------------------------------ /// <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); }
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; }
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); }
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); }
/// <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); } }
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); }
/// <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); } }
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}"); } }
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); }