Fix ClodedData issues on old templates
MrHinsh opened this issue · 0 comments
Here is the method that fails:
The if statemetn and 2nd log statement reference a field which does not exist in my process template.
private void CheckClosedDateIsValid(WorkItemData sourceWorkItem, WorkItemData targetWorkItem) { if (targetWorkItem.ToWorkItem().Fields["System.ClosedDate"].Value == null && (targetWorkItem.ToWorkItem().Fields["System.State"].Value.ToString() == "Closed" || targetWorkItem.ToWorkItem().Fields["System.State"].Value.ToString() == "Done")) { Log.LogWarning("The field System.ClosedDate is set to Null and will revert to the current date on save! "); Log.LogWarning("Source Closed Date [#{sourceId}][Rev{sourceRev}]: {sourceClosedDate} ", sourceWorkItem.ToWorkItem().Id, sourceWorkItem.ToWorkItem().Rev, sourceWorkItem.ToWorkItem().Fields["System.ClosedDate"].Value); } }
I have revised the method as follows and it is working now.
`
private void CheckClosedDateIsValid(WorkItemData sourceWorkItem, WorkItemData targetWorkItem)
{
if (targetWorkItem.ToWorkItem().Fields["**Microsoft.VSTS.Common.ClosedDate**"].Value == null && (targetWorkItem.ToWorkItem().Fields["System.State"].Value.ToString() == "Closed" || targetWorkItem.ToWorkItem().Fields["System.State"].Value.ToString() == "Done"))
{
Log.LogWarning("The field System.ClosedDate is set to Null and will revert to the current date on save! ");
//Log.LogWarning("Source Closed Date [#{sourceId}][Rev{sourceRev}]: {sourceClosedDate} ", sourceWorkItem.ToWorkItem().Id, sourceWorkItem.ToWorkItem().Rev, sourceWorkItem.ToWorkItem().Fields["System.ClosedDate"].Value);
}
}
`
Originally posted by @Tuba-guy in #1867 (reply in thread)