public static string FieldNameFor(string workItemType, ETAFieldType fieldType, Settings settings) { var etaFields = settings?.WorkItemsSettings?.ETAFields; if (etaFields == null || !etaFields.Any()) { throw new MissingETASettingsException(); } return(etaFields.First(f => f.WorkitemType == workItemType && f.FieldType == fieldType).FieldName); }
public static float GetEtaValue(this VSTSWorkItem wi, ETAFieldType etaType, Settings settings) { var fieldName = FieldNameFor(wi.WorkItemType, etaType, settings); if (!wi.Fields.ContainsKey(fieldName)) { return(etaType == ETAFieldType.RemainingWork ? TryGetFromUpdates(wi, fieldName) : 0); } var value = wi.Fields[fieldName]; if (string.IsNullOrEmpty(value)) { return(0); } return(float.Parse(value)); }
private static string FieldNameFor(string workItemType, ETAFieldType fieldType) => ETAFields.First(f => f.WorkitemType == workItemType && f.FieldType == fieldType).FieldName;