private void ProcessResult(ProcessResult processResult, TournamentTask task, TournamentTaskAssignment assignee)
        {
            if (processResult.State == ProcessState.Completed && processResult.Status == BuildStatus.Complete)
            {
                assignee.Attempts       += 1;
                assignee.LastAttemptedAt = DateTime.Now;
                bool isEqual = storageManager.CompareFiles(task.InputFilePath, processResult.OutputFilePath);
                assignee.IsPassed = isEqual;
                taskRepository.Update(task);
            }
            else if (processResult.State == ProcessState.Error)
            {
                var errorType = processResultHelper.GetErrorType(processResult.Error);

                if (errorType == ProceesResultErrorType.Unknown || errorType == ProceesResultErrorType.Internal)
                {
                    return;
                }

                assignee.Attempts       += 1;
                assignee.LastAttemptedAt = DateTime.Now;
                assignee.IsPassed        = false;
                taskRepository.Update(task);
            }
        }