private async Task CleanCampaignConditionsAsync(Guid messageCampaignId)
        {
            var conCompletionsToDelete = await _conditionCompletionService
                                         .GetConditionCompletionsAsync(messageCampaignId.ToString());

            if (conCompletionsToDelete != null)
            {
                await _conditionCompletionService.DeleteAsync(conCompletionsToDelete);
            }
        }
        public async Task IncreaseCompletionCountAsync(CampaignCompletion campaignCompletion, Domain.Models.Campaign campaign, IEnumerable <ConditionCompletion> conditionCompletions)
        {
            campaignCompletion.CampaignCompletionCount++;

            if (campaignCompletion.CampaignCompletionCount >= campaign.CompletionCount)
            {
                campaignCompletion.IsCompleted = true;
            }

            // Delete CONDITION tracking because they needs to be reset before next campaign completion
            await _conditionCompletion.DeleteAsync(conditionCompletions);

            // Keep track of CAMPAIGN completion
            await _campaignCompletionRepository.UpdateAsync(campaignCompletion);
        }