public string Apply()

in Mail2Bug/Email/AckEmailTemplate.cs [26:44]


        public string Apply(IWorkItemFields workItemFields, Config.InstanceConfig config)
        {
            var bodyBuilder = new StringBuilder(_text);
            var placeholders = AckEmailPlaceholder.GetPlaceholders(_text);
            var specialReplacements = GetSpecialReplacements(workItemFields, config);

            foreach (var placeholder in placeholders)
            {
                var fieldNameUpper = placeholder.Field.ToUpper();
                var fieldValue = specialReplacements.ContainsKey(fieldNameUpper)
                    ? specialReplacements[fieldNameUpper]
                    : workItemFields.GetFieldValue(placeholder.Field);
                var value = string.IsNullOrWhiteSpace(fieldValue) ? placeholder.DefaultValue : fieldValue;
                Logger.DebugFormat("Replacing placeholder {0} with value '{1}'", placeholder.Text, value);
                bodyBuilder.Replace(placeholder.Text, value);
            }
            
            return bodyBuilder.ToString();
        }