public static CremaDataTypeMember AddRandomMember(this CremaDataType dataType) { var member = dataType.NewMember(); member.InitializeRandom(); dataType.Members.Add(member); return(member); }
public static CremaDataTypeMember AddEmptyMember(this CremaDataType dataType) { dataType.BeginLoadData(); var member = dataType.NewMember(); member.EmptyFields(); member.SetAttribute(DiffUtility.DiffEnabledKey, false); member.SetAttribute(DiffUtility.DiffStateKey, DiffState.Imaginary); dataType.Members.Add(member); dataType.EndLoadData(); return(member); }
public void Test1() { var type = new CremaDataType(); var member = type.NewMember(); member.Name = "A"; member.Value = 0; type.Members.Add(member); type.AcceptChanges(); member.BeginEdit(); member.Name = "B"; //type.AsDataView()[0].Row.SetReadOnlyField("Modifier", "werw"); member.EndEdit(); }
private void SyncType(CremaDataType sourceType, CremaDataType destType) { if (destType == null) { return; } destType.IsDiffMode = true; foreach (var item in sourceType.Members) { if (item.InternalObject[DiffUtility.DiffIDKey] is Guid memberID && object.Equals(memberID, item.MemberID) == false) { var destColumn = destType.Members[memberID]; destColumn.CopyFrom(item); } } foreach (var item in destType.Members.ToArray()) { if (sourceType.Members.Contains(item.MemberID) == false) { item.Delete(); } } foreach (var item in sourceType.Members) { if (destType.Members.Contains(item.MemberID) == false) { var destColumn = destType.NewMember(); destColumn.CopyFrom(item); destType.Members.Add(destColumn); } else if (item.InternalObject[DiffUtility.DiffIDKey] is Guid memberID && object.Equals(memberID, item.MemberID) == true) { destType.Members[item.MemberID].CopyFrom(item); } } for (var i = sourceType.Members.Count - 1; i <= 0; i--) { destType.Members[sourceType.Members[i].MemberID].Index = i; } destType.IsDiffMode = false; }
private static void Import(CremaDataType dataType, SerializationType serializedType) { //var itemName = new ItemName(serializedType.Name); dataType.TypeName = serializedType.Name; dataType.Tags = serializedType.Tags; dataType.CategoryPath = serializedType.CategoryPath; dataType.Comment = serializedType.Comment; dataType.IsFlag = serializedType.IsFlag; foreach (var item in serializedType.Members) { var typeMember = dataType.NewMember(); Import(typeMember, item); dataType.Members.Add(typeMember); } dataType.AcceptChanges(); }
private void ReadTypeMember(XmlSchemaEnumerationFacet facet, CremaDataType dataType) { if (facet.Annotation == null) { return; } var member = dataType.NewMember(); member.Name = facet.Value; member.Comment = facet.ReadDescription(); member.Value = facet.ReadAppInfoComfortableAsInt64(CremaSchema.TypeInfo, CremaSchema.Value, CremaSchemaObsolete.ValueObsolete); member.CreationInfo = facet.ReadAppInfoAsSigunatureDate(CremaSchema.TypeInfo, CremaSchema.Creator, CremaSchema.CreatedDateTime); member.ModificationInfo = facet.ReadAppInfoAsSigunatureDate(CremaSchema.TypeInfo, CremaSchema.Modifier, CremaSchema.ModifiedDateTime); member.IsEnabled = facet.ReadAppInfoAsBoolean(CremaSchema.TypeInfo, CremaSchema.Enable, true); member.MemberID = facet.ReadAppInfoAsGuidVersion2(CremaSchema.TypeInfo, CremaSchema.ID, dataType.Name + "_" + member.Name); member.Tags = facet.ReadAppInfoAsTagInfo(CremaSchema.TypeInfo, CremaSchema.Tags); dataType.Members.Add(member); }
private static void FillMember(CremaDataType diffType, CremaDataType dataType, List <DiffPiece> lines) { var index = 0; diffType.Clear(); foreach (var item in lines) { var diffMember = diffType.NewMember(); if (item.Text != null) { var typeMember = dataType.Members[index]; diffMember.CopyFrom(typeMember); diffMember.SetAttribute(DiffUtility.DiffIDKey, typeMember.MemberID); diffType.ExtendedProperties[diffMember] = typeMember; index++; } diffMember.SetAttribute(DiffUtility.DiffEnabledKey, item.Text != null); diffMember.Index = diffType.Members.Count; diffType.Members.Add(diffMember); } }
public static CremaDataTypeMember CreateMember(this CremaDataType dataType) { var memberName = RandomUtility.NextIdentifier(); if (dataType.Members.Contains(memberName) == true) { return(null); } var member = dataType.NewMember(); member.Name = memberName; if (dataType.IsFlag == true) { member.Value = RandomUtility.NextBit(); } else { member.Value = RandomUtility.Next(dataType.Members.Count); } if (RandomUtility.Within(10) == true) { member.Comment = RandomUtility.NextString(); } try { dataType.Members.Add(member); return(member); } catch { return(null); } }