예제 #1
0
        /// <summary>
        /// Application specific configuration
        /// This method should initialize any IoC resources utilized by your web service classes.
        /// </summary>
        /// <param name="container"></param>
        public override void Configure(Container container)
        {
            //Config examples
            //this.Plugins.Add(new PostmanFeature());
            //this.Plugins.Add(new CorsFeature());

            SetConfig(new HostConfig
            {
                DebugMode = AppSettings.Get("DebugMode", false),
                AddRedirectParamsToQueryString = true
            });

            LogManager.LogFactory = new EventLogFactory("DiscourseAutoApprover", "Application");

            Plugins.Add(new RazorFormat());
            Plugins.Add(new ValidationFeature());
            container.Register(AppSettings);

            var client = new DiscourseClient(
                AppSettings.Get("DiscourseRemoteUrl", ""),
                AppSettings.Get("DiscourseAdminApiKey", ""),
                AppSettings.Get("DiscourseAdminUserName", ""));

            client.Login(AppSettings.Get("DiscourseAdminUserName", ""), AppSettings.Get("DiscourseAdminPassword", ""));
            container.Register <IDiscourseClient>(client);

            var serviceStackAccountClient = new ServiceStackAccountClient(AppSettings.GetString("CheckSubscriptionUrl"));

            container.Register <IServiceStackAccountClient>(serviceStackAccountClient);
        }
 private void SuspendUser(DiscourseUser user)
 {
     try
     {
         DiscourseClient.AdminSuspendUser(user.Id, 365, AppSettings.GetString("DiscourseSuspensionReason"));
     }
     catch (Exception)
     {
         //Try to login again and retry
         DiscourseClient.Login(AppSettings.Get("DiscourseAdminUserName", ""), AppSettings.Get("DiscourseAdminPassword", ""));
         DiscourseClient.AdminSuspendUser(user.Id, 365, AppSettings.GetString("DiscourseSuspensionReason"));
     }
 }
 private void UnsuspendUser(DiscourseUser user)
 {
     try
     {
         DiscourseClient.AdminUnsuspendUser(user.Id);
     }
     catch (Exception)
     {
         //Try to login again and retry
         DiscourseClient.Login(AppSettings.Get("DiscourseAdminUserName", ""), AppSettings.Get("DiscourseAdminPassword", ""));
         DiscourseClient.AdminUnsuspendUser(user.Id);
     }
 }