コード例 #1
0
 public Job(OmniRecordManager omniRecordManager, EventDispatcher eventDispatcher, CreativePackagesStore creativePackagesStore, Logger logger)
 {
     _logger = logger;
     _creativePackagesStore = creativePackagesStore;
     _eventDispatcher = eventDispatcher;
     _omniRecordManager = omniRecordManager;
 }
コード例 #2
0
 public Job(Api api,DroneSettings droneSettings, OmniRecordManager omniRecordManager,CreativePackagesStore creativePackagesStore)
 {
     _creativePackagesStore = creativePackagesStore;
     _omniRecordManager = omniRecordManager;
     _droneSettings = droneSettings;
     _api = api;
 }
コード例 #3
0
 public Job(Api api, LogsStore logsStore, DroneSettings droneSettings, OmniRecordManager omniRecordManager)
 {
     _omniRecordManager = omniRecordManager;
     _logsStore = logsStore;
     _droneSettings = droneSettings;
     _api = api;
 }
コード例 #4
0
 public Job(Framework framework,
     Api api,
     CreativePackagesStore creativePackagesStore,
     OmniRecordManager omniRecordManager,
     MapToCreativePackageCommand mapToCreativePackageCommand,
     DroneSettings droneSettings,
     Logger logger
     )
 {
     _droneSettings = droneSettings;
     _logger = logger;
     _mapToCreativePackageCommand = mapToCreativePackageCommand;
     _omniRecordManager = omniRecordManager;
     _framework = framework;
     _creativePackagesStore = creativePackagesStore;
     _api = api;
 }
コード例 #5
0
ファイル: AdminModule.cs プロジェクト: mamluka/SpeedyMailer
        public AdminModule(IScheduler scheduler, LogsStore logsStore, CreativePackagesStore creativePackagesStore,Logger logger,OmniRecordManager omniRecordManager)
            : base("/admin")
        {
            Get["/hello"] = x => Response.AsText("OK");

            Get["/fire-task/{job}"] = x =>
                {
                    scheduler.TriggerTaskByClassName((string)x.job);
                    return Response.AsText("OK");
                };

            Get["/postfix-logs"] = x =>
                {
                    var logs = logsStore.GetAllLogs();
                    var lines = logs.Select(entry => string.Format("{0} {1}", entry.time.ToLongTimeString(), entry.msg)).ToList();
                    return Response.AsText(string.Join(Environment.NewLine, lines));
                };

            Get["/jobs"] = x =>
                {
                    var tasks = scheduler.GetCurrentJobs();
                    var data = tasks.Select(jobKey => new { Data = scheduler.GetJobDetail(jobKey).JobDataMap, Job = jobKey.Name }).ToList();

                    return Response.AsJson(data);
                };

            Post["/flush-unprocessed-packages"] = _ =>
                {
                    var packages = creativePackagesStore.GetAll();
                    packages.ToList().ForEach(x =>
                        {
                            x.Processed = true;
                            logger.Info("write false for: {0}",x.To);
                            creativePackagesStore.Save(x);
                        });

                    return Response.AsText("OK");
                };

            Get["/purge-blocking-rules"] = _ =>
                {
                    omniRecordManager.RemoveSingle<GroupsAndIndividualDomainsSendingPolicies>();
                    return "OK";
                };
        }
コード例 #6
0
ファイル: ListsModule.cs プロジェクト: mamluka/SpeedyMailer
        public ListsModule(OmniRecordManager omniRecordManager)
            : base("/unsubscribe")
        {
            Get["/{data}"] = call =>
                                      {
                                          string objectString = call.data;
                                          var data = UrlBuilder.DecodeBase64(objectString);

                                          var creativeId = data.BuildRavenId("creatives", 0);
                                          var contactId = data.BuildRavenId("contacts", 1);

                                          omniRecordManager.UpdateOrInsert(new UnsubscribeRequest
                                                                                {
                                                                                    ContactId = contactId,
                                                                                    CreativeId = creativeId,
                                                                                    Date = DateTime.UtcNow
                                                                                });

                                          return Response.AsText("You are now unsubscribed, have a nice day");
                                      };
        }
コード例 #7
0
ファイル: DealsModule.cs プロジェクト: mamluka/SpeedyMailer
        public DealsModule(OmniRecordManager omniRecordManager,DroneSettings droneSettings)
            : base("/deals")
        {
            Get["/{data}"] = call =>
                                 {
                                     string objectString = call.data;
                                     var data = UrlBuilder.DecodeBase64(objectString);

                                     var creativeId = data.BuildRavenId("creatives", 0);
                                     var contactId = data.BuildRavenId("contacts", 1);

                                     var creativeToDealMap = omniRecordManager.Load<CreativeToDealMap>(creativeId);

                                     omniRecordManager.UpdateOrInsert(new ClickAction
                                                                           {
                                                                               ContactId = contactId,
                                                                               CreativeId = creativeId,
                                                                               Date = DateTime.UtcNow,
                                                                               Domain = droneSettings.Domain
                                                                           });

                                     return new RedirectResponse(creativeToDealMap.DealUrl, RedirectResponse.RedirectType.Permanent);
                                 };
        }
 public Job(Api api, OmniRecordManager omniRecordManager)
 {
     _api = api;
     _omniRecordManager = omniRecordManager;
 }
コード例 #9
0
 public Job(DroneSettings droneSettings, OmniRecordManager omniRecordManager)
 {
     _omniRecordManager = omniRecordManager;
     _droneSettings = droneSettings;
 }
コード例 #10
0
 public Job(OmniRecordManager omniRecordManager, EventDispatcher eventDispatcher)
 {
     _eventDispatcher = eventDispatcher;
     _omniRecordManager = omniRecordManager;
 }
コード例 #11
0
 public Job(OmniRecordManager omniRecordManager)
 {
     _omniRecordManager = omniRecordManager;
 }