public override async Task <(bool isSuccessful, string errorMessage)> ProcessMessageAsync(ParticipatedInCampaignEvent message) { //insert a new Row in CampaignsContribution if we dont have CampaignsContribution with this campaignId and customerId var customerId = Guid.Parse(message.CustomerId); var doesExist = await _campaignService .DoesCampaignsContributionExistAsync(customerId, Guid.Parse(message.CampaignId)); if (!doesExist) { await _campaignService.InsertAsync(new CampaignsContributionModel { CampaignId = message.CampaignId, CustomerId = message.CustomerId }); await _customerProfileService.ProcessParticipatedInCampaignEvent(customerId); } return(true, string.Empty); }