/// <summary> /// Helper method to get get the <see cref="IGatewayProviderSettings"/> from the appropriate resolver /// </summary> /// <param name="gatewayProvider">The <see cref="GatewayProviderDisplay"/></param> /// <param name="gatewayProviderType">The gateway provider type</param> /// <returns>A <see cref="IGatewayProviderSettings"/> or null</returns> private IGatewayProviderSettings GetGatewayProviderFromResolver(GatewayProviderDisplay gatewayProvider, GatewayProviderType gatewayProviderType) { GatewayProviderBase provider = null; switch (gatewayProviderType) { case GatewayProviderType.Notification: provider = _gatewayContext.Notification.GetProviderByKey(gatewayProvider.Key, false); break; case GatewayProviderType.Payment: provider = _gatewayContext.Payment.GetProviderByKey(gatewayProvider.Key, false); break; case GatewayProviderType.Shipping: provider = _gatewayContext.Shipping.GetProviderByKey(gatewayProvider.Key, false); break; case GatewayProviderType.Taxation: provider = _gatewayContext.Taxation.GetProviderByKey(gatewayProvider.Key, false); break; } return(provider != null ? provider.GatewayProviderSettings : null); }
public HttpResponseMessage PutGatewayProvider(GatewayProviderDisplay gatewayProviderDisplay) { var response = Request.CreateResponse(HttpStatusCode.OK); try { var provider = _gatewayProviderService.GetGatewayProviderByKey(gatewayProviderDisplay.Key); _gatewayProviderService.Save(gatewayProviderDisplay.ToGatewayProvider(provider)); } catch (Exception ex) { response = Request.CreateResponse(HttpStatusCode.NotFound, String.Format("{0}", ex.Message)); } return(response); }
public HttpResponseMessage DeactivateGatewayProvider(GatewayProviderDisplay gatewayProvider) { var response = Request.CreateResponse(HttpStatusCode.OK); try { var gatewayProviderType = EnumTypeFieldConverter.GatewayProvider.GetTypeField(gatewayProvider.ProviderTfKey); var provider = GetGatewayProviderFromResolver(gatewayProvider, gatewayProviderType); if (provider == null || !provider.Activated) { return(Request.CreateResponse(HttpStatusCode.NotFound, string.Format("{0}", "Provider could not be found or is already not activated"))); } ToggleProviderActivation(provider, gatewayProviderType); } catch (Exception ex) { response = Request.CreateResponse(HttpStatusCode.InternalServerError, string.Format("{0}", ex.Message)); } return(response); }