コード例 #1
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddCors(o => o.AddPolicy("MyPolicy", builder =>
            {
                builder.AllowAnyOrigin()
                .AllowAnyMethod()
                .AllowAnyHeader();
            }));
            services.AddMvc().AddJsonOptions(options => options.SerializerSettings.ContractResolver = new DefaultContractResolver());

            services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
            .AddJwtBearer(options =>
            {
                // base-address of your identityserver
                options.Authority = Configuration.GetValue <string>(Const.IdpServerUrl);

                // name of the API resource
                options.Audience = Configuration.GetValue <string>(Const.ApiName);

                options.RequireHttpsMetadata = Configuration.GetValue <bool>(Const.RequireHttpsMetadata);
            });

            //Set App Settings
            AppSettings appSettings = new AppSettings();

            Configuration.GetSection(Const.AppSettingsKey).Bind(appSettings);
            NPocoEntityManager entityManager     = new NPocoEntityManager();
            ConsoleLogger      eventViewerLogger = new ConsoleLogger();
            NPocoDatabase      nPocoDatabase     = new NPocoDatabase(appSettings.ConnectionString);

            services.AddTransient <INewsManager>(c => new NewsManager(nPocoDatabase, entityManager, eventViewerLogger));
            services.AddTransient <ICategoryManager>(c => new CategoryManager(nPocoDatabase, entityManager, eventViewerLogger));
        }
コード例 #2
0
 // Flip the bit field in the Scheduled Task Queue
 public static void UpdateBitField(Guid taskId, int bit)
 {
     using (IDatabase db = new NPocoDatabase("CommunicationCenter")) {
         var sql = Sql.Builder;
         sql.Append(ScheduledTaskTSQL.UpdateActiveBit(), new { @bitfield = bit, @taskId = taskId });
         db.Execute(sql);
     }
 }
コード例 #3
0
 // Flip the bit field in the Scheduled Task Queue
 public static void UpdateTaskStatus(Guid taskId, Status status)
 {
     using (IDatabase db = new NPocoDatabase("CommunicationCenter"))
     {
         var sql = Sql.Builder;
         sql.Append(ScheduledTaskTSQL.UpdateTaskStatus(), new { @status = status, @taskId = taskId });
         db.Execute(sql);
     }
 }
コード例 #4
0
        // Creates an entry in ScheduledTaskQueueHist for the task
        //public static void MoveToHistory(dynamic task, Guid histId, string message, DateTime startTime, DateTime endTime) {
        //    using (IDatabase db = new NPocoDatabase("CommunicationCenter")) {
        //        var sql = Sql.Builder;
        //        sql.Append(ScheduledTaskTSQL.SetToHistory(), new {
        //            @id = histId, @taskId = task.TaskId, @companyCode = task.CompanyCode, @notificationCompanyId = task.NotificationCompanyId,
        //            @scheduledTime = task.ScheduledTime, @taskType = task.TaskType, @status = message, @startTime = startTime,
        //            @endTime = endTime
        //        });
        //        db.Execute(sql);
        //    }
        //}

        // Update a task based on it's cron
        public static void UpdateScheduledTime(dynamic task, DateTime startTime, DateTime endTime)
        {
            using (IDatabase db = new NPocoDatabase("CommunicationCenter")) {
                var sql = Sql.Builder;
                sql.Append(ScheduledTaskTSQL.UpdateScheduledTask(),
                           new {
                    @scheduledTime = ScheduleUtils.CalculateNextRun(task.ScheduledTime, task.ScheduleCron),
                    @lastStartTime = startTime, @lastEndTime = endTime, @taskId = task.TaskId, @companyCode = task.CompanyCode
                });
                db.Execute(sql);
            }
        }
コード例 #5
0
ファイル: Scheduler.cs プロジェクト: dmerck7/Basic-Search-App
        public Scheduler()
        {
            using (IDatabase db = new NPocoDatabase("CommunicationCenter"))
            {
                var sql = Sql.Builder;
                sql.Append(ScheduledTaskTSQL.ResetAllProcessingTasks());
                db.Execute(sql);
            }

            Thread thread = new Thread(CreateAgents);

            thread.Start();
        }
コード例 #6
0
ファイル: Scheduler.cs プロジェクト: dmerck7/Basic-Search-App
        // Pull the scheduled tasks from the Queue
        private static void RunScheduledTasks(BufferBlock <ScheduledTaskQueueDto> buffer)
        {
            while (true)
            {
                List <ScheduledTaskQueueDto> tasks = new List <ScheduledTaskQueueDto>();

                using (IDatabase db = new NPocoDatabase("CommunicationCenter")) {
                    var sql = Sql.Builder;
                    sql.Append(ScheduledTaskTSQL.GetReadyTasks());
                    tasks = db.Fetch <ScheduledTaskQueueDto>(sql);
                }

                foreach (ScheduledTaskQueueDto task in tasks)
                {
                    buffer.Post(task);
                    ScheduleUtils.UpdateBitField(task.TaskId, 0);
                }

                Thread.Sleep(new TimeSpan(0, 1, 0));    // 1 minute interval
            }
        }
コード例 #7
0
ファイル: Logger.cs プロジェクト: dmerck7/Basic-Search-App
        public static int LogMsg(string kind, string msg, dynamic value, string callerClass, string callerLineNumber, Guid?session = null)
        {
            int Result = -1;

            if (ConfigurationManager.AppSettings["logger"].ToLower() == "true")
            {
                using (IDatabase db = new NPocoDatabase("CommunicationCenter"))
                {
                    session = (session == null) ? Guid.NewGuid() : session;

                    var sql = Sql.Builder;
                    switch (kind.ToLower())
                    {
                    case "info":
                    {
                        msg = msg.Replace("{value}", (string)value);

                        Log Log = new Log()
                        {
                            Guidfield        = Guid.NewGuid(),
                            DateCreated      = DateTimeOffset.Now,
                            Kind             = "Info",
                            Msg              = msg,
                            Value            = (string)value,
                            CallerClass      = callerClass,
                            CallerLineNumber = callerLineNumber,
                            Session          = (Guid)session
                        };
                        db.Insert <Log>(Log);
                        Result = Log.Id;
                    }
                        Console.WriteLine(msg);
                        break;

                    case "error":
                    {
                        //var Json = new JavaScriptSerializer().Serialize(value);
                        Log Log = new Log()
                        {
                            Guidfield        = Guid.NewGuid(),
                            DateCreated      = DateTimeOffset.Now,
                            Kind             = "Error",
                            Msg              = msg,
                            Value            = "",//Json,
                            CallerClass      = callerClass,
                            CallerLineNumber = callerLineNumber,
                            Session          = (Guid)session
                        };
                        db.Insert <Log>(Log);
                        Result = Log.Id;
                    }
                        Console.WriteLine(msg);
                        break;

                    case "value":
                    {
                        var Json = new JavaScriptSerializer().Serialize(value);
                        Log Log  = new Log()
                        {
                            Guidfield        = Guid.NewGuid(),
                            DateCreated      = DateTimeOffset.Now,
                            Kind             = "Value",
                            Msg              = msg,
                            Value            = Json,
                            CallerClass      = callerClass,
                            CallerLineNumber = callerLineNumber,
                            Session          = (Guid)session
                        };
                        db.Insert <Log>(Log);
                        Result = Log.Id;
                        Console.WriteLine(Json);
                    }
                    break;

                    default:
                        break;
                    }
                }
            }
            return(Result);
        }