예제 #1
0
 public GameStateLoader(IRealmLiveDbContext liveDbContext, IRealmDbContext dbContext, ILogWrapper logger)
     : base(1, "GameStateLoader")
 {
     _liveDbContext = liveDbContext;
     _dbContext     = dbContext;
     _log           = logger;
 }
예제 #2
0
        private void SeedChannels(IRealmLiveDbContext context)
        {
            foreach (var key in _channelTable.Keys)
            {
                var values = _channelTable[key];

                context.Channels.AddOrUpdate(x => x.Id, new Channel
                {
                    Id          = key,
                    Name        = (string)values[0],
                    ChannelType = (ChannelTypes)values[1],
                    Bits        = (int)values[2]
                });
            }
        }
예제 #3
0
        public static void Save(this GameState gameState, IRealmLiveDbContext dbContext)
        {
            try
            {
                var newState = dbContext.GameStates.Create();
                newState.Sessionstart = DateTime.Now;
                newState.Year         = gameState.DateTime.Year;
                newState.MonthId      = gameState.Month.ID;
                newState.Day          = gameState.DateTime.Day;
                newState.Hour         = gameState.DateTime.Hour;
                newState.Minute       = gameState.DateTime.Minute;
                dbContext.GameStates.Attach(newState);

                dbContext.SaveChanges();
            }
            catch (Exception ex)
            {
                ex.Handle(ExceptionHandlingOptions.RecordAndThrow);
            }
        }