private void SetComputedValues(ProcessExecutionSummary <TKey> summary)
 {
     if (summary.EndDate != null)
     {
         summary.ExecutionInterval = (summary.EndDate - summary.BeginDate).Value.TotalMinutes;
     }
 }
        private ProcessExecutionSummary <TKey> CreateModel(Execution <TKey> lastExecution)
        {
            var summary = new ProcessExecutionSummary <TKey>();

            MapValues(summary, lastExecution);
            SetComputedValues(summary);

            return(summary);
        }
        private void MapValues(ProcessExecutionSummary <TKey> summary, Execution <TKey> lastExecution)
        {
            summary.Id          = lastExecution.Id;
            summary.Name        = lastExecution.ProcessDefinition.Name;
            summary.Description = lastExecution.ProcessDefinition.Description;
            summary.BeginDate   = lastExecution.BeginDate;
            summary.EndDate     = lastExecution.EndDate;
            summary.Status      = lastExecution.Status.ToString();

            foreach (var evt in lastExecution.ExecutionEvents)
            {
                summary.Events.Add(new EventSummary {
                    Date = evt.Date, Info = evt.Summary, Status = evt.Status.ToString()
                });
            }
        }