private void NewWorkItem()

in Mail2Bug/MessageProcessingStrategies/SimpleBugStrategy.cs [47:78]


        private void NewWorkItem(IIncomingEmailMessage message)
        {
            var workItemUpdates = new Dictionary<string, string>();

            using (var attachments = SaveAttachments(message))
            {
                InitWorkItemFields(message, workItemUpdates, attachments);

                int workItemId = _workItemManager.CreateWorkItem(workItemUpdates, attachments);
                Logger.InfoFormat("Added new work item {0} for message with subject: {1} (conversation index:{2})", 
                    workItemId, message.Subject, message.ConversationId);

                try
                {
                    // Since the work item *has* been created, failures in this stage are not treated as critical
                    var overrides = new OverridesExtractor(_config).GetOverrides(message);
                    TryApplyFieldOverrides(overrides, workItemId);
                
                    if (_config.WorkItemSettings.AttachOriginalMessage)
                    {
                        AttachMessageToWorkItem(message, workItemId, "OriginalMessage");
                    }
                }
                catch (Exception ex)
                {
                    Logger.ErrorFormat("Exception caught while applying settings to work item {0}\n{1}", workItemId, ex);
                }

                var workItem = _workItemManager.GetWorkItemFields(workItemId);
                _ackEmailHandler.SendAckEmail(message, workItem);
            }
        }