protected void Application_Start() { AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); //Set Up ExpresslyPlugin Merchant interface Implementation (this is IMerchantProvider interface implementation) ExpresslyPlugin.SetMerchantProvider <ExpresslyMerchantProvider>(); }
public ActionResult HandleMigrationPopup(string campaignCustomerUuid) { var model = new MigrationPopUpViewModel(); if (ExpresslyPlugin.Install()) { model.popUpHtml = ExpresslyProvider.build().GetPopupHtml(_expresslyApiContext, campaignCustomerUuid); } return(PartialView("~/Views/Home/Partial/_MigrationPopup.cshtml", model)); }
public ActionResult ShowMigrationPopup() { var model = new MigrationPopUpViewModel(); if (ExpresslyPlugin.Install()) { model.popUpHtml = ExpresslyProvider.build().GetPopupHtml(_expresslyApiContext, "c03b4bff-d810-4ff9-918c-ce52d4645780"); } return(PartialView("~/Views/Home/Partial/_MigrationPopup.cshtml", model)); }
public ActionResult Index() { var model = new HomeViewModel(); if (ExpresslyPlugin.Install()) { model.merchantUuid = _expresslyApiContext.GetMerchantUuid(); model.apiKey = _expresslyApiContext.GetApiKey(); } return(View(model)); }
public void ExpresslyPluginInstallTest() { try { var apiContext = TestingUtil.GetApiContext(); this.RecordConnectionDetails(); var isInstall = ExpresslyPlugin.Install(); this.RecordConnectionDetails(); Assert.IsTrue(isInstall); } catch (ConnectionException) { this.RecordConnectionDetails(false); throw; } }
private void Сontext_BeginRequest(Object sender, EventArgs e) { HttpContext context = ((HttpApplication)sender).Context; if (context.Request.FilePath.Equals("/expressly/api/ping") && context.Request.HttpMethod == "GET") { var pingResponse = new PingPluginResponse { expressly = "Stuff is happening!" }; context.Response.StatusCode = 200; context.Response.ContentType = BaseConstants.ContentTypeHeaderJson; context.Response.Write(JsonFormatter.ConvertToJson(pingResponse)); context.Response.End(); } if (context.Request.FilePath.Equals("/expressly/api/registered") && context.Request.HttpMethod == "GET") { if (isAuthenticated(context.Request)) { var registeredResponse = new RegisteredPluginResponse { registered = true }; context.Response.StatusCode = 200; context.Response.ContentType = BaseConstants.ContentTypeHeaderJson; context.Response.Write(JsonFormatter.ConvertToJson(registeredResponse)); context.Response.End(); } else { context.Response.StatusCode = 401; } } if (context.Request.FilePath.Contains("/expressly/api/user") && context.Request.HttpMethod == "GET" && SDKUtil.IsIncludeEmail(context.Request.FilePath)) { if (isAuthenticated(context.Request)) { var customerData = ExpresslyPlugin.getCustomerData(context.Request.FilePath.Split('/').Last()); context.Response.StatusCode = 200; context.Response.ContentType = BaseConstants.ContentTypeHeaderJson; context.Response.Write(JsonFormatter.ConvertToJson(customerData)); context.Response.End(); } else { context.Response.StatusCode = 401; } } if (context.Request.FilePath.Contains("/expressly/api/batch/invoice") && context.Request.HttpMethod == "POST") { if (isAuthenticated(context.Request)) { var requestBody = context.Request.GetRequestBody(); var invoiceListRequest = JsonFormatter.ConvertFromJson <InvoiceListRequest>(requestBody); if (invoiceListRequest.customers != null) { var invoices = ExpresslyPlugin.getInvoices(invoiceListRequest); context.Response.StatusCode = 200; context.Response.ContentType = BaseConstants.ContentTypeHeaderJson; context.Response.Write(JsonFormatter.ConvertToJson(invoices)); context.Response.End(); } else { context.Response.StatusCode = 404; } } else { context.Response.StatusCode = 401; } } if (context.Request.FilePath.Contains("/expressly/api/batch/customer") && context.Request.HttpMethod == "POST") { if (isAuthenticated(context.Request)) { var requestBody = context.Request.GetRequestBody(); var emailAddressRequest = JsonFormatter.ConvertFromJson <EmailAddressRequest>(requestBody); if (emailAddressRequest.emails != null) { var emails = ExpresslyPlugin.checkEmails(emailAddressRequest); context.Response.StatusCode = 200; context.Response.ContentType = BaseConstants.ContentTypeHeaderJson; context.Response.Write(JsonFormatter.ConvertToJson(emails)); context.Response.End(); } else { context.Response.StatusCode = 404; } } else { context.Response.StatusCode = 401; } } if (context.Request.FilePath.Contains("/expressly/api") && context.Request.HttpMethod == "GET" && SDKUtil.IsIncludeCampaignCustomerUuid(context.Request.FilePath)) { if (ExpresslyPlugin.Install()) { ExpresslyPlugin.popupHandler(context.Request.FilePath.Split('/').Last(), context.Response); } } if (context.Request.FilePath.Contains("/expressly/api") && context.Request.HttpMethod == "GET" && context.Request.FilePath.Split('/').Last() == "migrate") { var campaignCustomerUuid = context.Request.Url.Segments[context.Request.Url.Segments.Length - 2].Replace("/", ""); if (campaignCustomerUuid.Length == 36) { if (ExpresslyPlugin.Install()) { ExpresslyPlugin.confirmMigration(campaignCustomerUuid, context.Response); } } } }