private async Task postProcessMessageAsync()

in DIXFSamples/RecurringIntegrationApp/Runtime/DefaultDataFlowNetwork.cs [332:381]


        private async Task<bool> postProcessMessageAsync(DataJobStatusDetail jobStatusDetail, 
            ClientDataMessage dataMessage)
        {
            bool retVal = false;

            if (jobStatusDetail == null || jobStatusDetail.DataJobStatus == null)
                return retVal;

            switch (jobStatusDetail.DataJobStatus.DataJobState)
            {
                // Document was processed successfully with no pre, post or functional
                // errors
                case DataJobState.Processed:
                    {   
                        var targetDataMessage = new ClientDataMessage()
                        {
                            Name = dataMessage.Name,
                            FullPath = Path.Combine(Settings.SuccessDir, dataMessage.Name),
                            MessageStatus = MessageStatus.Succeeded
                        };

                        await this.moveDataToTargetAsync(dataMessage, targetDataMessage);

                        await this.updateStatsAsync(jobStatusDetail, StatType.Success, targetDataMessage);

                        retVal = true;
                    }
                    break;

                // Document had some processing error
                case DataJobState.PostProcessError:
                case DataJobState.PreProcessError:
                case DataJobState.ProcessedWithErrors:
                    {                        
                        var targetDataMessage = new ClientDataMessage()
                        {
                            Name = dataMessage.Name,
                            FullPath = Path.Combine(Settings.ErrorDir, dataMessage.Name),
                            MessageStatus = MessageStatus.Failed
                        };

                        await this.moveDataToTargetAsync(dataMessage, targetDataMessage);

                        await this.updateStatsAsync(jobStatusDetail, StatType.Failure, targetDataMessage);                        
                    }
                    break;
            }

            return retVal;
        }