Exemple #1
0
 public SendGridEmailer(IDbSettingsReader settings, ILogger <SendGridEmailer> logger)
 {
     ApiKey      = settings.GetGetSendGridApiKey();
     client      = new SendGridClient(ApiKey);
     message     = new SendGridMessage();
     this.logger = logger;
 }
Exemple #2
0
 public ShopifyEventsEmailer(IEmailer emailer, IDbSettingsReader settings, IPlansReader planHelper, ILogger <ShopifyEventsEmailer> logger)
 {
     _Emailer    = emailer;
     _Settings   = settings;
     _Logger     = logger;
     _PlanHelper = planHelper;
 }
Exemple #3
0
 public ABaseShopifyController(
     IAppSettingsAccessor appSettings,
     IDbService <AspNetUser> userService,
     IPlansReader planReader,
     SignInManager <AspNetUser> signInManager,
     UserManager <AspNetUser> userManager,
     IGenerateUserPassword passwordGenerator,
     IUserCaching userCache,
     IShopifyEventsEmailer emailer,
     IWebMessenger webMsg,
     IShopifyApi shopifyApi,
     IConfiguration config,
     IDbSettingsReader settings,
     ILogger logger
     ) : base(config, settings, logger)
 {
     PlanReader    = planReader;
     SignInManager = signInManager;
     UserManager   = userManager;
     PassGenerator = passwordGenerator;
     WebMsg        = webMsg;
     ShopifyAPI    = shopifyApi;
     UserDbService = userService;
     Emailer       = emailer;
     UserCache     = userCache;
     AppSettings   = appSettings;
 }
 public RequiresPlan(IUserCaching userCache, IPlansReader planReader, IDbSettingsReader settings, ILogger <RequiresPlan> logger, int planId, string optionName = null, string expectedValue = null)
 {
     _Logger      = logger;
     _UserCache   = userCache;
     _PlanReader  = planReader;
     _Settings    = settings;
     _Requirement = new PlanRequirementAppModel(planId, optionName, expectedValue);
 }
Exemple #5
0
 /// <summary>
 /// Determines whether given ip address is an admin IP
 /// </summary>
 /// <param name="ipAddress">The ip address you want to check.</param>
 /// <param name="settings">The settings reader.</param>
 /// <returns>
 ///   <c>true</c> if given IP is an admin IP; otherwise, <c>false</c>.
 /// </returns>
 public static bool IsInPrivilegedIpList(string ipAddress, IDbSettingsReader settings)
 {
     if (!string.IsNullOrWhiteSpace(ipAddress))
     {
         var addresses = settings.GetAdminIps();
         return(addresses.Where(a => a.Trim().Equals(ipAddress, StringComparison.InvariantCultureIgnoreCase)).Any());
     }
     return(false);
 }
Exemple #6
0
 public RequireSubscription(IShopifyApi shopifyApi, IDbSettingsReader settings, IShopifyEventsEmailer shopifyEmailer,
                            IUserCaching userCaching, IDbService <AspNetUser> userDbService, ILogger <RequireSubscription> logger)
 {
     _ShopifyApi    = shopifyApi;
     _Settings      = settings;
     _Emailer       = shopifyEmailer;
     _UserCache     = userCaching;
     _Logger        = logger;
     _UserDbService = userDbService;
 }
        public Test_Shopify_Url_helper()
        {
            Mock <ILogger <IDbSettingsReader> > logger = new Mock <ILogger <IDbSettingsReader> >();
            var m = new MemoryCache(new MemoryCacheOptions()
            {
            });
            var service = new TestService <SystemSetting>(new TestRepository <SystemSetting>(new TestUnitOfWork(this.InitDbContext())));

            settings = new DbSettingsReader(service, m, logger.Object);
        }
Exemple #8
0
        private IMyProfileController InitController()
        {
            settings = GetSettings();
            var logger            = new Mock <ILogger <MyProfileController> >().Object;
            MyProfileController c = new MyProfileController(
                webMsg.Object,
                shopifyApi.Object,
                planReader.Object,
                userCaching.Object,
                config.Object,
                settings,
                logger
                );

            return(c);
        }
Exemple #9
0
        private MyDashboardController InitController()
        {
            settings = GetSettings();
            var logger = new Mock <ILogger <MyDashboardController> >().Object;
            MyDashboardController c = new MyDashboardController(
                webMsg.Object,
                emailer.Object,
                userService.Object,
                userCaching.Object,
                planReader.Object,
                config.Object,
                settings,
                logger);

            return(c);
        }
        private MyUninstaller InitController()
        {
            settings = GetSettings();
            var           logger = new Mock <ILogger <MyUninstaller> >().Object;
            MyUninstaller c      = new MyUninstaller(
                userCaching.Object,
                emailer.Object,
                shopifyApi.Object,
                userService.Object,
                config.Object,
                settings,
                logger
                );

            return(c);
        }
 public MyUninstaller(
     IUserCaching userCache,
     IShopifyEventsEmailer emailer,
     IShopifyApi shopifyApi,
     IDbService <AspNetUser> userService,
     IConfiguration config,
     IDbSettingsReader settings,
     ILogger <MyUninstaller> logger) : base(
         userCache,
         emailer,
         shopifyApi,
         userService,
         config,
         settings,
         logger)
 {
     UserIsDeleted_is_called      = false;
     CouldNotDeleteUser_is_called = false;
 }
Exemple #12
0
        public MyProfileController(

            IWebMessenger webMsg,
            IShopifyApi shopifyApi,
            IPlansReader planReader,
            IUserCaching userCache,
            IConfiguration config,
            IDbSettingsReader settings,
            ILogger <MyProfileController> logger) : base(

                webMsg,
                shopifyApi,
                planReader,
                userCache,
                config,
                settings,
                logger)
        {
        }
Exemple #13
0
        public MyDashboardController(

            IWebMessenger webMsg,
            IShopifyEventsEmailer emailer,
            IDbService <AspNetUser> userService,
            IUserCaching userCache,
            IPlansReader planReader,
            IConfiguration config,
            IDbSettingsReader settings,
            ILogger <MyDashboardController> logger) : base(
                webMsg,
                emailer,
                userService,
                userCache,
                planReader,
                config,
                settings,
                logger)
        {
        }
        public ABaseController(IConfiguration config, IDbSettingsReader settings, ILogger logger) : base()
        {
            this.Settings    = settings;
            this.Config      = config;
            this.Views       = new ViewNames();
            this.Logger      = logger;
            this.Controllers = new ControllerNames
            {
                DashboardController = Settings.GetAppDashboardControllerName(),
                MyProfileController = Settings.GetAppMyProfileControllerName(),
                AccountController   = Settings.GetAccountControllerName(),
                UninstallController = Settings.GetAppUninstallControllerName()
            };

            this.VersionInfo = new Versions()
            {
                AppVersion                 = settings.GetAppVersion(),
                FrameWorkVersion           = AppSettingsAccessor.GetFrameWorkBuildNumber(),
                DataSeederFrameworkVersion = Settings.GetDataSeederFrameworkVersion()
            };
        }
Exemple #15
0
 public ABaseSubscriberController(IPlansReader plansReader, IUserCaching cachedUser, IConfiguration config, IDbSettingsReader settings, ILogger logger) : base(cachedUser, config, settings, logger)
 {
     this.Plans = plansReader;
 }
 public ShopifyController(IAppSettingsAccessor appSettings, IDbService <AspNetUser> userService, IPlansReader planReader, SignInManager <AspNetUser> signInManager, UserManager <AspNetUser> userManager, IGenerateUserPassword passwordGenerator, IUserCaching userCache, IShopifyEventsEmailer emailer, IWebMessenger webMsg, IShopifyApi shopifyApi, IConfiguration config, IDbSettingsReader settings, ILogger <ShopifyController> logger)
     : base(appSettings, userService, planReader, signInManager, userManager, passwordGenerator, userCache, emailer, webMsg, shopifyApi, config, settings, logger)
 {
 }
Exemple #17
0
 public UninstallController(IUserCaching userCache, IShopifyEventsEmailer emailer, IShopifyApi shopify, IDbService <AspNetUser> usrDbService, IConfiguration config, IDbSettingsReader settings, ILogger <UninstallController> logger) : base(userCache, emailer, shopify, usrDbService, config, settings, logger)
 {
 }
 public XController(IPlansReader planReader, IConfiguration config, IDbSettingsReader settings, ILogger <XController> logger) : base(config, settings, logger)
 {
     this.PlanReader = planReader;
 }
Exemple #19
0
 public MandatoryWebHookController(IShopifyEventsEmailer emailer, IShopifyApi shopify, IDbService <AspNetUser> usrDbService, IConfiguration config, IDbSettingsReader settings, ILogger <MandatoryWebHookController> logger) : base(emailer, shopify, usrDbService, config, settings, logger)
 {
 }
 public ABaseAuthorizedController(IUserCaching cachedUser, IConfiguration config, IDbSettingsReader settings, ILogger logger) : base(config, settings, logger)
 {
     this.AppUserCache = cachedUser;
 }
 /// <summary>
 /// Get the apps rating page url in shopify app store.
 /// </summary>
 /// <param name="reader">The settings reader.</param>
 /// <param name="storeFriendlyAppName">Store friendly Name of the application. i.e. shopify app store friendly verison of "Exico Cross Sell" is "exico-cross-sell"
 /// <see cref="GetStoreFriendlyAppName(string appName, char[])"/>
 /// </param>
 /// <returns>
 /// The url as <c>HtmlString</c>
 /// </returns>
 public static string GetRateMyAppUrl(IDbSettingsReader reader, string storeFriendlyAppName)
 => $"{reader.GetShopifyAppStoreUrl()}/{storeFriendlyAppName}";
 /// <summary>
 /// Gets the url for presenting plans to user
 /// </summary>
 /// <param name="reader">The settings reader.</param>
 /// <returns>
 /// url as <c>string</c>
 /// </returns>
 public static string GetPlanChoosingUrl(IDbSettingsReader reader)
 => $"{reader.GetAppBaseUrl()}/{reader.GetShopifyControllerName()}/{SHOPIFY_ACTIONS.ChoosePlan}";
 /// <summary>
 /// Gets the url for handling user's selected plan
 /// </summary>
 /// <param name="reader">The settings reader.</param>
 /// <returns>
 /// url as <c>string</c>
 /// </returns>
 public static string GetSelectedPlanHandlerUrl(IDbSettingsReader reader, int planId)
 => $"{reader.GetAppBaseUrl()}/{reader.GetShopifyControllerName()}/{SHOPIFY_ACTIONS.SelectedPlan}?planId={planId}";
Exemple #24
0
 public static string GetAppDashboardControllerName(this IDbSettingsReader reader) =>
 reader.GetValue(CORE_SYSTEM_SETTING_NAMES.DASHBOARD_CONTOLLER);
Exemple #25
0
 public static string GetAppUninstallControllerName(this IDbSettingsReader reader) =>
 reader.GetValue(CORE_SYSTEM_SETTING_NAMES.UNINSTALL_CONTROLLER);
Exemple #26
0
 public static string GetAppMyProfileControllerName(this IDbSettingsReader reader) =>
 reader.GetValue(CORE_SYSTEM_SETTING_NAMES.MY_PROFILE_CONTOLLER);
 public AccountController(SignInManager<AspNetUser> signInManager, IUserCaching cachedUser, IConfiguration config, IDbSettingsReader settings, ILogger<AccountController> logger) : base(signInManager, cachedUser, config, settings, logger)
 {
 }
 /// <summary>
 /// Gets the application uninstall web hook URL.
 /// </summary>
 /// <param name="settings">The settings.</param>
 /// <param name="userId">The user identifier.</param>
 /// <returns></returns>
 public static string GetAppUninstallWebHookUrl(IDbSettingsReader settings, string userId)
 => GetAppUninstallWebHookUrl($"{settings.GetAppBaseUrl()}/{settings.GetAppUninstallControllerName()}/{UNINSTALL_ACTIONS.AppUninstalled}", userId);
Exemple #29
0
 /// <summary>
 /// Determines whether current user's (user in context, the logged in user) ip address is an admin IP
 /// </summary>
 /// <param name="context"> The http context. <seealso  cref="HttpContext"/></param>
 /// <param name="settings">The settings.</param>
 /// <returns>
 ///   <c>true</c> if current user's IP is an admin IP; otherwise, <c>false</c>.
 /// </returns>
 public static bool IsCurrentUserIpPrivileged(HttpContext context, IDbSettingsReader settings)
 => IsInPrivilegedIpList(GetCurrentUserIP(context), settings);
 /// <summary>
 /// Gets the url for handing payment charge result coming from shopify API
 /// </summary>
 /// <param name="reader">The settings reader.</param>
 /// <returns>
 /// url as <c>string</c>
 /// </returns>
 public static string GetChargeResultHandlerUrl(IDbSettingsReader reader)
 => $"{reader.GetAppBaseUrl()}/{reader.GetShopifyControllerName()}/{SHOPIFY_ACTIONS.ChargeResult}";