public bool ValidateSettings(string idCampaign) { bool result = false; CampaignEntity campaign = new CampaignEntity(); CampaignManager campaignManager = new CampaignManager(); try { if (!String.IsNullOrEmpty(idCampaign)) { campaign = campaignManager.GetById(new Guid(idCampaign)); var product = campaignManager.FindProductById(campaign.PRODUCT_IdProduct); switch (product.PARTNER_IdPartner.ToString()) { case Constants.PROVIDER_SUBSCRIBERS: SubscribersManager subscribersManager = new SubscribersManager(); result = subscribersManager.SettingsAreValid(idCampaign); break; case Constants.PROVIDER_PUSH_CREW: PushCrewManager pushCrewManager = new PushCrewManager(); result = pushCrewManager.SettingsAreValid(idCampaign); break; case Constants.PROVIDER_MAIL_CHIMP: MailChimpManager mailChimpManager = new MailChimpManager(); result = mailChimpManager.SettingsAreValid(idCampaign); break; case Constants.PROVIDER_CAMPAIGN_MONITOR: CampaignMonitorManager campaignMonitorManager = new CampaignMonitorManager(); result = campaignMonitorManager.SettingsAreValid(idCampaign); break; case Constants.PROVIDER_AWEBER: AWeberManager aWeberManager = new AWeberManager(); result = aWeberManager.SettingsAreValid(idCampaign); break; case Constants.PROVIDER_SEND_GRID: SendGridManager sendGridManager = new SendGridManager(); result = sendGridManager.SettingsAreValid(idCampaign); break; case Constants.PROVIDER_ACTIVE_CAMPAIGN: ActiveCampaignManager activeCampaignManager = new ActiveCampaignManager(); result = activeCampaignManager.SettingsAreValid(idCampaign); break; case Constants.PROVIDER_GETRESPONSE: GetResponseManager getResponseManager = new GetResponseManager(); result = getResponseManager.SettingsAreValid(idCampaign); break; case Constants.PROVIDER_ICONTACT: IContactManager icontactManager = new IContactManager(); result = icontactManager.SettingsAreValid(idCampaign); break; case Constants.PROVIDER_SENDINBLUE: SendinBlueManager sendingBlueManager = new SendinBlueManager(); result = sendingBlueManager.SettingsAreValid(idCampaign); break; case Constants.PROVIDER_PUSH_ENGAGE: PushEngageManger pushEngageManger = new PushEngageManger(); result = pushEngageManger.SettingsAreValid(idCampaign); break; case Constants.PROVIDER_ONE_SIGNAL: OneSignalManager oneSignalManager = new OneSignalManager(); result = oneSignalManager.SettingsAreValid(idCampaign); break; case Constants.PROVIDER_MAILJET: MailJetManager mailJetManager = new MailJetManager(); result = mailJetManager.SettingsAreValid(idCampaign); break; default: break; } } } catch (Exception ex) { string campaignRaw = JsonConvert.SerializeObject(campaign); var messageException = telemetria.MakeMessageException(ex, System.Reflection.MethodBase.GetCurrentMethod().Name); messageException += String.Format(" campaign:{0}", campaignRaw); telemetria.Critical(messageException); } return(result); }