private static void AddAttributeButCheckForDiffernce(Item sourceItem, Attribute sourceAttrib, Item destItem, Attribute destAttrib) { var test = sourceItem.GetAttributeValueAsText(sourceAttrib); if (destItem.GetAttributeIsAssigned(destAttrib)) { // check values are same var testDest = destItem.GetAttributeValueAsText(destAttrib); if (test != testDest) { destItem.SetAttributeValue(destAttrib, _multipleValues); return; } } // else can set destItem.SetAttributeValue(destAttrib, test); }
private static void CopyAllAttributeValues(Item itemSource, Item itemDestination) { foreach (var attrib in itemSource.Story.Attributes) { if (itemSource.GetAttributeIsAssigned(attrib)) // only copy the value if its assigned { var attD = EnsureAttributeExists(attrib, itemDestination.Story); itemDestination.SetAttributeValue(attD, itemSource.GetAttributeValueAsText(attrib)); } } }
private static void SetAttributeWithLogging(Logger log, Item item, Attribute att, string value) { try { Debug.WriteLine($"{att.Name} {value}"); item.SetAttributeValue(att, value); Debug.WriteLine($"{att.Name} {item.GetAttributeValueAsText(att)}"); } catch (Exception e) { log.Log($"Error: {e.Message}, value='{value}', item='{item.Name}', attribute='{att.Name}'"); } }