public decimal GetCurrentHealth(User user) { using (var stats = new StatsContext(user.Random, GetRoomVariables(user))) { return(stats.Stats.Health); } }
public RaspberrySyncJob( ILogger <RaspberrySyncJob> logger, StatsContext context) { _logger = logger; _context = context; }
public StatsController( IStatsService statsService, StatsContext context) { _statsService = statsService; _context = context; }
private void ConfirmGiveKnowledge(User user) { using (var stats = new StatsContext(user.Random, GetRoomVariables(user))) { StatsProperty prop; switch (stats.Stats.KnowledgeGroup) { case MegaMonster.Knowledge.Strength: prop = StatsProperty.Stamina; break; case MegaMonster.Knowledge.Intelligence: prop = StatsProperty.Mana; break; default: throw new ArgumentOutOfRangeException(); } if (user.Info.ChangeStats(prop, -stats.Stats.KnowledgeRequired)) { user.RoomManager.Leave(); } } }
private void Battle(User user, RecivedMessage messageRecived) { if (!UseItem(user, messageRecived)) { SendMessage(user, "Чтобы что-то использовать, надо сначала этим чем-то завладеть"); return; } using (var stats = new StatsContext(user.Random, GetRoomVariables(user))) { if (stats.Stats.Health <= 0) { // Won! MonsterBase.MonsterKilled(user, this); SendMessage(user, "Монстр не смог такого перенести и умер"); user.RoomManager.Leave(); return; } SwitchAction(user, SelectTarget); SendMessage(user, "А монстр то ещё жив! Постарайтесь это исправить, пока ещё можете."); SendMessage(user, $"Вы оставили монстру {stats.Stats.Health.Format()} здоровья, а он вам его попытался понизить на {stats.Stats.Damage.Format()}"); SendMessage(user, "Как будем исправлять ситуацию?", GetButtons(user)); user.Info.MakeDamage(stats.Stats.Damage); } }
public static void Main(string[] args) { var builder = new ConfigurationBuilder() .SetBasePath(AppContext.BaseDirectory) .AddJsonFile( path: "appsettings.json", optional: false, reloadOnChange: true ); using (var stats = new StatsContext()) { try { new Program(builder.Build()) .RunAsync(stats) .GetAwaiter() .GetResult(); } catch (HttpException ex) when(ex.StatusCode == HttpStatusCode.Unauthorized) { Console.Error.WriteLine("Discord authorization failed. Your API token may not be correct."); } } }
public void MakeDamage(User user, decimal damage) { using (var stats = new StatsContext(user.Random, GetRoomVariables(user))) { var def = GetRoomVariables(user).Get <Serializable.Decimal>("current_defence"); stats.Stats.Health -= UserInfo.CalculateDefence(damage, def); } }
public void Query_Database() { using (var context = new StatsContext()) { var result = context.PlatformStats.Count(); Assert.That(result, Is.Not.EqualTo(0)); } }
private void ConfirmGiveGold(User user) { using (var stats = new StatsContext(user.Random, GetRoomVariables(user))) { if (user.Info.TryDecreaseGold(stats.Stats.Gold)) { user.RoomManager.Leave(); } } }
private void ConfirmGiveArtifact(User user) { using (var stats = new StatsContext(user.Random, GetRoomVariables(user))) { if (user.ItemManager.Remove(new ItemInfo(stats.Stats.ArtifactId, 1))) { user.RoomManager.Leave(); } } }
public override void OnEnter(User user) { base.OnEnter(user); GetRoomVariables(user).Remove("monster_stats"); SwitchAction(user, null); using (var stats = new StatsContext(user.Random, GetRoomVariables(user))) { SendMessage(user, $"Ты встречаешь {stats.Stats.Name}!", GetButtons(user)); } }
public void BF4_Stats_ToDatabase() { var sut = new BF4StatsApi(); var result = sut.GetOnlinePlayers().Result; using (var context = new StatsContext()) { context.PlatformStats.AddRange(result); context.SaveChanges(); } }
public async Task Process(IncomingStepContext context, Func <Task> next) { var statsContext = new StatsContext(); // save stats context for all the ProfilerSteps to find context.Save(statsContext); await next(); _profilerStats.Register(statsContext); }
internal void Register(StatsContext statsContext) { var measurements = statsContext.GetMeasurements(); foreach (var measurement in measurements) { _stats.AddOrUpdate(measurement.StepType, key => measurement.Elapsed, (key, elapsed) => elapsed + measurement.Elapsed); } }
public static void GetStatsFromBF4(TextWriter log) { var sut = new BF4StatsApi(); var result = sut.GetOnlinePlayers().Result; using (var context = new StatsContext()) { context.PlatformStats.AddRange(result); context.SaveChanges(); } }
private void Knowledge(User user) { using (var stats = new StatsContext(user.Random, GetRoomVariables(user))) { var canLearn = false; string message; switch (stats.Stats.KnowledgeGroup) { case MegaMonster.Knowledge.Strength: if (user.Info.CurrentStats.GetStat(StatsProperty.Strength) >= stats.Stats.KnowledgeMinimal && user.Info.CurrentStats.GetStat(StatsProperty.Stamina) >= stats.Stats.KnowledgeRequired) { canLearn = true; SwitchAction(user, GiveKnowledge); } message = $"Монстр желает научиться спорту. Для этого необходимо минимум {stats.Stats.KnowledgeMinimal.Format()} силы и {stats.Stats.KnowledgeRequired.Format()} запаса сил"; break; case MegaMonster.Knowledge.Intelligence: if (user.Info.CurrentStats.GetStat(StatsProperty.Intelligence) >= stats.Stats.KnowledgeMinimal && user.Info.CurrentStats.GetStat(StatsProperty.Mana) >= stats.Stats.KnowledgeRequired) { canLearn = true; SwitchAction(user, GiveKnowledge); } message = $"Монстр желает научиться магии. Для этого необходимо минимум {stats.Stats.KnowledgeMinimal.Format()} интеллекта и {stats.Stats.KnowledgeRequired.Format()} маны"; break; default: throw new ArgumentOutOfRangeException(); } if (canLearn) { SwitchAction(user, GiveKnowledge); } else { SwitchAction(user, NotEnoughKnowledge); } SendMessage(user, message, GetButtons(user)); } }
private void BattleTarget(User user, Place place) { using (var stats = new StatsContext(user.Random, GetRoomVariables(user))) { GetRoomVariables(user).Set("current_defence", new Serializable.Decimal( (stats.Stats.DefencedPlaces & place) != 0 ? stats.Stats.Defence : 0 )); } SwitchAction(user, Battle); SendMessage(user, "Чем же вы ударите?", GetItems(user) .Select(i => new[] { i }) .ToArray()); }
public static void ArchiveAllSpells(int playerId, bool archiveOrNot) { string archiveBool; if (archiveOrNot) { archiveBool = "1"; } else { archiveBool = "0"; } using (var context = new StatsContext()) { context.Database.ExecuteSqlCommand($"UPDATE [dbo].[Skills] SET IsArchived = {archiveBool} WHERE OwnerId = {playerId} AND SkillSourceId != {PvPStatics.Spell_WeakenId}"); } }
private void Gold(User user) { using (var stats = new StatsContext(user.Random, GetRoomVariables(user))) { if (user.Info.Gold >= stats.Stats.Gold) { SwitchAction(user, GiveGold); } else { SwitchAction(user, NotEnoughGold); } SendMessage(user, $"Монстр желает заполучить {stats.Stats.Gold.Format()} золота. Готовы попрощаться с деньгами?", GetButtons(user)); } }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env, StatsContext context) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } var optionsBuilder = new DbContextOptionsBuilder <StatsContext>(); optionsBuilder.UseSqlite("Data Source=stats.db"); //context.Database.Migrate(); context.Database.EnsureCreated(); // seeding the DB with empty keys (having value of 0) var keys = new List <string>() { "lines", "smells", "files", "repos" }; foreach (var key in keys) { var entry = context.Stats.FirstOrDefault(k => k.key == key); if (entry == null) { context.Stats.Add(new Stat { key = key, value = 0 }); context.SaveChanges(); } } app.UseHttpsRedirection(); app.UseRouting(); app.UseCors(); app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapControllers(); }); }
private async Task RunAsync(StatsContext stats) { _stats = stats; _client = new DiscordSocketClient(); _commands = new CommandService(); await _commands.AddModules(Assembly.GetEntryAssembly()); _map = new DependencyMap(); _map.Add(_client); _map.Add(_stats); _client.MessageReceived += HandleCommand; _client.MessageReceived += HandleMessage; Console.WriteLine("Logging in..."); await _client.LoginAsync(TokenType.Bot, config["Token"]); await _client.ConnectAsync(); Console.WriteLine("Bot is ready."); await Task.Delay(-1); }
private void Artifact(User user) { using (var stats = new StatsContext(user.Random, GetRoomVariables(user))) { if (stats.Stats.ArtifactId == null) { SendMessage(user, "Монстру не нужны твои артефакты, людишка!"); BeginTalk(user); return; } var item = GetAllItems().Get(stats.Stats.ArtifactId); if (user.ItemManager.Get(stats.Stats.ArtifactId) != null) { SwitchAction(user, GiveArtifact); } else { SwitchAction(user, ArtifactNotFound); } SendMessage(user, $"Монстр желает заполучить {item?.Name}. Готовы его отдать?", GetButtons(user)); } }
public StatsController(StatsContext context) { _context = context; }
public ClackamasController(StatsContext context) { _context = context; }
public ServerService(StatsContext context) { db = context; }
public AvgMaxesController(StatsContext context) { _context = context; }
public StatsServiceDb( StatsContext context) { _context = context; }
public ReportsService(StatsContext context) { db = context; }
public RaspberryController( StatsContext context) { _context = context; }
// Not actual test. Routine to fill database for perfomance testing //[Fact] public void FillDatabase() { var serverCount = 10000; var matchesCount = 100 * 2; var daysCount = 14 * 2; var usersCount = 1000000; var startDay = new DateTime(2018, 5, 1); var random = new Random(); var fileName = @".\test.sqlite"; var options = new DbContextOptionsBuilder(); options.UseSqlite($"Filename={fileName}"); File.Delete(fileName); using (var db = new StatsContext(options.Options)) { db.Database.EnsureCreated(); using (db.Database.BeginTransaction()) { db.Endpoints.AddRange(Enumerable.Range(0, serverCount - 1).Select(i => new Endpoint { Id = $"Details:{i}", GameModes = "", Name = $"Endpoint Name {i}" })); db.SaveChanges(); db.Database.CommitTransaction(); } } for (var endpoint = 0; endpoint < serverCount; endpoint++) { var days = random.Next(daysCount); for (var day = 1; day <= days; day++) { var matches = random.Next(matchesCount); using (var db = new StatsContext(options.Options)) { using (db.Database.BeginTransaction()) { db.Matches.AddRange(Enumerable.Range(0, matches).Select(x => new Match { EndpointId = $"Details:{endpoint}", FragLimit = random.Next(30) + 1, GameMode = $"DM{random.Next(10)}", Map = $"Map{random.Next(100)}", TimeElapsed = 30.2F, TimeLimit = random.Next(100) + 1, Timestamp = startDay.AddDays(day).AddMinutes(random.Next(60 * 23)), Scoreboard = Enumerable.Range(0, random.Next(100)).Select(p => new Scoreboard { Name = $"User{random.Next(usersCount)}", Deaths = random.Next(100), Frags = random.Next(100), Kills = random.Next(100), Rating = (float)p } ).ToArray() } )); db.SaveChanges(); db.Database.CommitTransaction(); } } } } }