Beispiel #1
0
 public SendinBlueController(IEmailAccountService emailAccountService,
                             IGenericAttributeService genericAttributeService,
                             ILocalizationService localizationService,
                             ILogger logger,
                             IMessageTemplateService messageTemplateService,
                             IMessageTokenProvider messageTokenProvider,
                             ISettingService settingService,
                             IStoreContext storeContext,
                             IStoreMappingService storeMappingService,
                             IStoreService storeService,
                             MessageTemplatesSettings messageTemplatesSettings,
                             SendinBlueManager sendInBlueEmailManager,
                             IStaticCacheManager cacheManager)
 {
     _emailAccountService     = emailAccountService;
     _genericAttributeService = genericAttributeService;
     _localizationService     = localizationService;
     _logger = logger;
     _messageTemplateService   = messageTemplateService;
     _messageTokenProvider     = messageTokenProvider;
     _settingService           = settingService;
     _storeContext             = storeContext;
     _storeMappingService      = storeMappingService;
     _storeService             = storeService;
     _messageTemplatesSettings = messageTemplatesSettings;
     _sendInBlueEmailManager   = sendInBlueEmailManager;
     _cacheManager             = cacheManager;
 }
Beispiel #2
0
        public bool IsValidApiKeySendingBlue(string key)
        {
            bool result = false;
            SendinBlueManager sendinBlueManager = new SendinBlueManager(key);

            result = sendinBlueManager.ValidateApiKey();
            return(result);
        }
 public EventConsumer(IGenericAttributeService genericAttributeService,
                      SendinBlueManager sendinBlueEmailManager,
                      SendinBlueMarketingAutomationManager sendinBlueMarketingAutomationManager)
 {
     _genericAttributeService = genericAttributeService;
     _sendinBlueEmailManager  = sendinBlueEmailManager;
     _sendinBlueMarketingAutomationManager = sendinBlueMarketingAutomationManager;
 }
        public SelectList GetFoldersFromSendinBlue(string ApiToken)
        {
            SelectList        result            = null;
            SendinBlueManager sendinBlueManager = new SendinBlueManager(ApiToken);
            List <Folder>     folders           = sendinBlueManager.GetAllFolders();

            result = new SelectList(folders, "id", "name");
            return(result);
        }
        public bool ValidateApiToken(string ApiToken)
        {
            bool result = false;

            manager        = new SendinBlueManager();
            manager.ApiKey = ApiToken;
            result         = manager.ValidateApiKey(ApiToken);
            return(result);
        }
Beispiel #6
0
        public JsonResult GetListFoldersSendinBlue()
        {
            string            ApiKey            = Session["ApiToken"].ToString();
            SendinBlueManager sendinBlueManager = new SendinBlueManager(ApiKey);
            List <Folder>     folders           = sendinBlueManager.GetAllFolders();
            SelectList        lista             = new SelectList(folders, "id", "name");

            return(Json(lista));
        }
        public SelectList GetListFromSendinBlue(string ApiToken, string FolderId)
        {
            SelectList        result            = null;
            int               id                = Convert.ToInt32(FolderId);
            SendinBlueManager sendinBlueManager = new SendinBlueManager(ApiToken);
            List <Folder>     folders           = sendinBlueManager.GetAllFolders();
            List <Lista>      listas            = (from folder in folders
                                                   where folder.id == id
                                                   select folder.Listas).FirstOrDefault();

            result = new SelectList(listas, "id", "name");
            return(result);
        }
Beispiel #8
0
        public JsonResult ObtenerListsFromFolder(int ids)
        {
            Session["FolderTypeSelect"] = ids;
            string            ApiKey            = Session["ApiToken"].ToString();
            SendinBlueManager sendinBlueManager = new SendinBlueManager(ApiKey);
            List <Folder>     folders           = sendinBlueManager.GetAllFolders();
            List <Lista>      listas            = (from folder in folders
                                                   where folder.id == ids
                                                   select folder.Listas).FirstOrDefault();

            SelectList selectList = new SelectList(listas, "id", "name");

            return(Json(selectList));
        }
 public SendinBlueMessageService(CommonSettings commonSettings,
                                 EmailAccountSettings emailAccountSettings,
                                 IAddressService addressService,
                                 IAffiliateService affiliateService,
                                 ICustomerService customerService,
                                 IEmailAccountService emailAccountService,
                                 IEventPublisher eventPublisher,
                                 IGenericAttributeService genericAttributeService,
                                 ILanguageService languageService,
                                 ILocalizationService localizationService,
                                 IMessageTemplateService messageTemplateService,
                                 IMessageTokenProvider messageTokenProvider,
                                 IOrderService orderService,
                                 IProductService productService,
                                 ISettingService settingService,
                                 IStoreContext storeContext,
                                 IStoreService storeService,
                                 IQueuedEmailService queuedEmailService,
                                 ITokenizer tokenizer,
                                 SendinBlueManager sendinBlueEmailManager,
                                 LocalizationSettings localizationSettings)
     : base(commonSettings,
            emailAccountSettings,
            addressService,
            affiliateService,
            customerService,
            emailAccountService,
            eventPublisher,
            languageService,
            localizationService,
            messageTemplateService,
            messageTokenProvider,
            orderService,
            productService,
            queuedEmailService,
            storeContext,
            storeService,
            tokenizer,
            localizationSettings)
 {
     _emailAccountService     = emailAccountService;
     _genericAttributeService = genericAttributeService;
     _queuedEmailService      = queuedEmailService;
     _settingService          = settingService;
     _tokenizer = tokenizer;
     _sendinBlueEmailManager = sendinBlueEmailManager;
 }
Beispiel #10
0
 public SynchronizationTask(SendinBlueManager sendinBlueEmailManager)
 {
     _sendinBlueEmailManager = sendinBlueEmailManager;
 }
Beispiel #11
0
        public bool Send(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);
                    campaign.IdCampaign3rdParty = string.Empty;


                    switch (product.PARTNER_IdPartner.ToString())
                    {
                    case Constants.PROVIDER_SUBSCRIBERS:
                        SubscribersManager subscribersManager = new SubscribersManager();
                        campaign.IdCampaign3rdParty = subscribersManager.SendCampaign(idCampaign);
                        break;

                    case Constants.PROVIDER_PUSH_CREW:
                        PushCrewManager pushCrewManager = new PushCrewManager();
                        campaign.IdCampaign3rdParty = pushCrewManager.SendCampaign(idCampaign);
                        break;

                    case Constants.PROVIDER_MAIL_CHIMP:
                        MailChimpManager mailChimpManager = new MailChimpManager();
                        campaign.IdCampaign3rdParty = mailChimpManager.SendCampaign(idCampaign);
                        break;

                    case Constants.PROVIDER_CAMPAIGN_MONITOR:
                        CampaignMonitorManager campaignMonitorManager = new CampaignMonitorManager();
                        campaign.IdCampaign3rdParty = campaignMonitorManager.SendCampaign(idCampaign);
                        break;

                    case Constants.PROVIDER_AWEBER:
                        AWeberManager aWeberManager = new AWeberManager();
                        campaign.IdCampaign3rdParty = aWeberManager.SendCampaign(idCampaign);
                        break;

                    case Constants.PROVIDER_SEND_GRID:
                        SendGridManager sendGridManager = new SendGridManager();
                        campaign.IdCampaign3rdParty = sendGridManager.SendCampaign(idCampaign);
                        break;

                    case Constants.PROVIDER_ACTIVE_CAMPAIGN:
                        ActiveCampaignManager activeCampaignManager = new ActiveCampaignManager();
                        campaign.IdCampaign3rdParty = activeCampaignManager.SendCampaign(idCampaign);
                        break;

                    case Constants.PROVIDER_GETRESPONSE:
                        GetResponseManager getResponseManager = new GetResponseManager();
                        campaign.IdCampaign3rdParty = getResponseManager.SendCampaign(idCampaign);
                        break;

                    case Constants.PROVIDER_ICONTACT:
                        IContactManager icontactManager = new IContactManager();
                        campaign.IdCampaign3rdParty = icontactManager.SendCampaign(idCampaign);
                        break;

                    case Constants.PROVIDER_SENDINBLUE:
                        SendinBlueManager sendingBlueManager = new SendinBlueManager();
                        campaign.IdCampaign3rdParty = sendingBlueManager.SendCampaign(idCampaign);
                        break;

                    case Constants.PROVIDER_PUSH_ENGAGE:
                        PushEngageManger pushEngageManger = new PushEngageManger();
                        campaign.IdCampaign3rdParty = pushEngageManger.SendCampaign(idCampaign);
                        break;

                    case Constants.PROVIDER_ONE_SIGNAL:
                        OneSignalManager oneSignalManager = new OneSignalManager();
                        campaign.IdCampaign3rdParty = oneSignalManager.SendCampaign(idCampaign);
                        break;

                    case Constants.PROVIDER_MAILJET:
                        MailJetManager mailJetManager = new MailJetManager();
                        campaign.IdCampaign3rdParty = mailJetManager.SendCampaign(idCampaign);
                        break;

                    default:
                        break;
                    }

                    //Descomentar
                    if (!string.IsNullOrEmpty(campaign.IdCampaign3rdParty))
                    {
                        campaign.CAT_CAMPAIGN_STATUS_IdStatus = (int)CatCampaignStatusEnum.Authorized;
                        campaignManager.Edit(campaign);
                    }
                }
            }
            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);
            }
            result = campaign.IdCampaign3rdParty == string.Empty ? false : true;

            return(result);
        }
Beispiel #12
0
        // This function will get triggered/executed when a new message is written
        // on an Azure Queue called queue.
        public void ProcessQueueMessage([QueueTrigger("%azure-queue-campaign%")] string message, TextWriter log)
        {
            //Obtenemos el objeto de la notificacion
            CampaignEntity      campaign            = new CampaignEntity();
            NotificationManager notificationManager = new NotificationManager();
            Notification        notification        = notificationManager.GetNotification(message);

            string idCampaign = notification.IdCampaignExternal;
            string IdUser     = notification.IdUser.ToString();

            try
            {
                if (!String.IsNullOrEmpty(idCampaign))
                {
                    campaign = campaignManager.GetById(new Guid(idCampaign));
                    var product = campaignManager.FindProductById(campaign.PRODUCT_IdProduct);

                    if (campaignManager.AutorizeCampaign(campaign.IdCampaign, IdUser))
                    {
                        switch (product.PARTNER_IdPartner.ToString())
                        {
                        case Constants.PROVIDER_SUBSCRIBERS:
                            SubscribersManager subscribersManager = new SubscribersManager();
                            campaign.IdCampaign3rdParty = subscribersManager.SendCampaign(idCampaign);
                            break;

                        case Constants.PROVIDER_PUSH_CREW:
                            PushCrewManager pushCrewManager = new PushCrewManager();
                            campaign.IdCampaign3rdParty = pushCrewManager.SendCampaign(idCampaign);
                            break;

                        case Constants.PROVIDER_MAIL_CHIMP:
                            MailChimpManager mailChimpManager = new MailChimpManager();
                            campaign.IdCampaign3rdParty = mailChimpManager.SendCampaign(idCampaign);
                            break;

                        case Constants.PROVIDER_CAMPAIGN_MONITOR:
                            CampaignMonitorManager campaignMonitorManager = new CampaignMonitorManager();
                            campaign.IdCampaign3rdParty = campaignMonitorManager.SendCampaign(idCampaign);
                            break;

                        case Constants.PROVIDER_AWEBER:
                            AWeberManager aWeberManager = new AWeberManager();
                            campaign.IdCampaign3rdParty = aWeberManager.SendCampaign(idCampaign);
                            break;

                        case Constants.PROVIDER_SEND_GRID:
                            SendGridManager sendGridManager = new SendGridManager();
                            campaign.IdCampaign3rdParty = sendGridManager.SendCampaign(idCampaign);
                            break;

                        case Constants.PROVIDER_ACTIVE_CAMPAIGN:
                            ActiveCampaignManager activeCampaignManager = new ActiveCampaignManager();
                            campaign.IdCampaign3rdParty = activeCampaignManager.SendCampaign(idCampaign);
                            break;

                        case Constants.PROVIDER_GETRESPONSE:
                            GetResponseManager getResponseManager = new GetResponseManager();
                            campaign.IdCampaign3rdParty = getResponseManager.SendCampaign(idCampaign);
                            break;

                        case Constants.PROVIDER_ICONTACT:
                            IContactManager icontactManager = new IContactManager();
                            campaign.IdCampaign3rdParty = icontactManager.SendCampaign(notification.IdCampaignExternal);
                            break;

                        case Constants.PROVIDER_SENDINBLUE:
                            SendinBlueManager sendingBlueManager = new SendinBlueManager();
                            campaign.IdCampaign3rdParty = sendingBlueManager.SendCampaign(notification.IdCampaignExternal);
                            break;

                        case Constants.PROVIDER_PUSH_ENGAGE:
                            PushEngageManger pushEngageManger = new PushEngageManger();
                            campaign.IdCampaign3rdParty = pushEngageManger.SendCampaign(idCampaign);
                            break;

                        case Constants.PROVIDER_ONE_SIGNAL:
                            OneSignalManager oneSignalManager = new OneSignalManager();
                            campaign.IdCampaign3rdParty = oneSignalManager.SendCampaign(idCampaign);
                            break;

                        case Constants.PROVIDER_MAILJET:
                            MailJetManager mailJetManager = new MailJetManager();
                            campaign.IdCampaign3rdParty = mailJetManager.SendCampaign(idCampaign);
                            break;

                        default:
                            break;
                        }

                        if (!string.IsNullOrEmpty(campaign.IdCampaign3rdParty))
                        {
                            campaign.CAT_CAMPAIGN_STATUS_IdStatus = (int)CatCampaignStatusEnum.Authorized;
                            campaignManager.Edit(campaign);

                            message = string.Format("Congratulations your campaign {0} has been approved", campaign.Name);
                            notificationManager.EnqueueMailNotification(campaign.Name, message, IdUser);
                        }
                    }
                }
            }
            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);
            }
        }
Beispiel #13
0
 public EventConsumer(SendinBlueManager sendInBlueEmailManager,
                      SendinBlueMarketingAutomationManager sendInBlueMarketingAutomationManager)
 {
     _sendInBlueEmailManager = sendInBlueEmailManager;
     _sendInBlueMarketingAutomationManager = sendInBlueMarketingAutomationManager;
 }
 public SynchronizationTask(IPluginFinder pluginFinder,
                            SendinBlueManager sendInBlueEmailManager)
 {
     _pluginFinder           = pluginFinder;
     _sendInBlueEmailManager = sendInBlueEmailManager;
 }