public HttpResponseMessage Inbound(FormDataCollection formData) { lock (lockOnThis) { var jEvents = JArray.Parse(formData["mandrill_events"]); foreach (dynamic jEvent in jEvents) { if (jEvent.@event == "inbound") { try { var lead = new Lead { FromName = jEvent.msg.from_name, FromEmail = jEvent.msg.from_email, Subject = jEvent.msg.subject, Body = jEvent.msg.html }; ExceptionlessClient.Default.CreateLog(nameof(Inbound), "Lead", "Info").AddObject(lead).Submit(); SlackLeadsBidderService.CreateLead(lead); } catch (Exception ex) { ex.ToExceptionless().MarkAsCritical().Submit(); } } } return(new HttpResponseMessage(HttpStatusCode.OK)); } }
public void Configuration(IAppBuilder app) { GlobalConfiguration.Configuration.UseSqlServerStorage("DefaultConnection"); app.UseHangfireDashboard(); app.UseHangfireServer(); RecurringJob.AddOrUpdate(() => SlackLeadsBidderService.CreditDailyAllowances(), Cron.Daily(0)); RecurringJob.AddOrUpdate(() => SlackLeadsBidderService.CreateAuction(), Cron.Minutely()); RecurringJob.AddOrUpdate(() => SlackLeadsBidderService.EndAuction(), Cron.Minutely()); }
public void Balance(SlackCommandRequest request) { var settings = SlackLeadsBidderSettings.Settings; var agentClient = new SlackClient(request.Response_Url); if (request.Token != settings.SlackCommandBalanceToken) { agentClient.PostError("Invalid token."); } SlackLeadsBidderService.ShowBalance(agentClient); }
public void Autobid(SlackCommandRequest request) { var settings = SlackLeadsBidderSettings.Settings; var agentClient = new SlackClient(request.Response_Url); if (request.Token != settings.SlackCommandAutoBidToken) { agentClient.PostError("Invalid token."); } int amount; if (!int.TryParse(request.Text, out amount) || amount < 0) { SlackLeadsBidderService.GetAgentAutoBid(request.User_Name, agentClient); } else { SlackLeadsBidderService.SetAgentAutoBid(request.User_Name, amount, agentClient); } }