Exemple #1
0
        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;
            }
        }
Exemple #6
0
        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);
                    }
                }
            }
        }