public async Task DoesExistAsyncTest() { var newRecord = new Models.UserSettings { Email = "*****@*****.**", FirstName = "Alex", Language = LanguageName.Fr, LastName = "Softeq", PhoneNumber = "123", UserId = Guid.NewGuid().ToString(), Created = DateTimeOffset.UtcNow, Updated = DateTimeOffset.UtcNow, Id = Guid.NewGuid() }; using (var context = GetContext()) { await context.UserSettings.AddAsync(newRecord); await context.SaveChangesAsync(); } using (var context = GetContext()) { var store = new SettingsDataStore(context, DefaultMapper); var result = await store.DoesExistAsync(newRecord.UserId); Assert.True(result); } }
public void Run( VgcApis.Models.IServices.ISettingsService vgcSetting, VgcApis.Models.IServices.IServersService vgcServers) { this.vgcSetting = vgcSetting; this.vgcServers = vgcServers; userSettins = LoadUserSetting(); bookKeeper = new VgcApis.Libs.Tasks.LazyGuy( SaveUserSetting, VgcApis.Models.Consts.Intervals.LazySaveStatisticsDatadelay); StartBgStatsDataUpdateTimer(); vgcServers.OnCoreClosing += OnCoreClosingHandler; }
public void Run( VgcApis.Models.IServices.ISettingService vgcSetting, VgcApis.Models.IServices.IServersService vgcServers) { this.vgcSetting = vgcSetting; this.vgcServers = vgcServers; userSettins = LoadUserSetting(); bookKeeper = new VgcApis.Libs.Sys.LazyGuy( SaveUserSetting, 1000 * 60 * 5); StartBgStatsDataUpdateTimer(); vgcServers.OnCoreClosing += OnCoreClosingHandler; }
public async Task UpdateAsyncTest() { var user = new Models.UserSettings { Email = "*****@*****.**", FirstName = "Alex", Language = LanguageName.Fr, LastName = "Softeq", PhoneNumber = "123", UserId = Guid.NewGuid().ToString(), Created = DateTimeOffset.UtcNow, Updated = DateTimeOffset.UtcNow, Id = Guid.NewGuid() }; using (var context = GetContext()) { await context.UserSettings.AddAsync(user); await context.SaveChangesAsync(); } var updates = new UserSettings { Email = "*****@*****.**", FirstName = "ben", Language = LanguageName.Ru, LastName = "ms", PhoneNumber = "456", UserId = Guid.NewGuid().ToString(), Id = user.Id, Created = user.Created }; using (var context = GetContext()) { var store = new SettingsDataStore(context, DefaultMapper); var result = await store.UpdateAsync(updates); Assert.NotNull(result); Assert.Equal(updates.Email, result.Email); Assert.Equal(updates.FirstName, result.FirstName); Assert.Equal(updates.Language, result.Language); Assert.Equal(updates.LastName, result.LastName); Assert.Equal(updates.PhoneNumber, result.PhoneNumber); Assert.Equal(updates.Id, result.Id); Assert.Equal(user.Created, result.Created); Assert.True(user.Updated < result.Updated); } }
public void Run( VgcApis.Interfaces.Services.ISettingsService vgcSetting, VgcApis.Interfaces.Services.IServersService vgcServers) { this.vgcSetting = vgcSetting; this.vgcServers = vgcServers; userSettins = LoadUserSetting(); bookKeeper = new VgcApis.Libs.Tasks.LazyGuy( SaveUserSetting, VgcApis.Models.Consts.Intervals.LazySaveStatisticsDatadelay, 500) { Name = "Statistic.SaveUserSetting", }; StartBgStatsDataUpdateTimer(); vgcServers.OnCoreClosing += SaveStatDataBeforeCoreClosed; }
/// <summary> /// Initializes a new instance of the <see cref="WheelOutcome"/> class. /// </summary> /// <param name="outcome"> /// The outcome. /// </param> /// <param name="settings"> /// The settings. /// </param> protected WheelOutcome(SlaveReportsExtension.Outcome outcome, Models.UserSettings settings, DiscordContext context) { // ReSharper disable once VirtualMemberCallInConstructor this.Outcome = outcome; }
/// <summary> /// Initializes a new instance of the <see cref="Content"/> class. /// </summary> /// <param name="outcome"> /// The outcome. /// </param> /// <param name="settings"> /// The settings. /// </param> public Content( SlaveReportsExtension.Outcome outcome, Models.UserSettings settings, Models.DiscordContext context) : base(outcome, settings, context) { var denialtext = "please don't break the Bot"; switch (outcome) { case SlaveReportsExtension.Outcome.Task: denialtext = "then spin again"; this.Outcome = SlaveReportsExtension.Outcome.Task; break; case SlaveReportsExtension.Outcome.Denial: denialtext = "deny your o****m"; this.DenialTime = new TimeSpan(8, 0, 0); this.Outcome = SlaveReportsExtension.Outcome.Denial; break; case SlaveReportsExtension.Outcome.Ruin: denialtext = "ruin your o****m"; this.Outcome = SlaveReportsExtension.Outcome.Ruin; break; case SlaveReportsExtension.Outcome.O****m: denialtext = "enjoy a full o****m"; this.Outcome = SlaveReportsExtension.Outcome.O****m; break; case SlaveReportsExtension.Outcome.Denial | SlaveReportsExtension.Outcome.Task: var chance = Helpers.RandomGenerator.RandomInt(0, 9); if (chance < 5) { denialtext = "deny your o****m"; this.DenialTime = new TimeSpan(8, 0, 0); this.Outcome = SlaveReportsExtension.Outcome.Denial; } else { denialtext = "then spin again"; this.Outcome = SlaveReportsExtension.Outcome.Task; } break; } Link link; if (this.Outcome == SlaveReportsExtension.Outcome.Task) { link = this.GetLinkFromRandomTumblr(this.GetPostCount()); } else { List <Link> links = Link.LoadAll().Result; var randomLinkNr = Helpers.RandomGenerator.RandomInt(0, links.Count); if (links.Count <= randomLinkNr) { link = new Link() { CreatorName = "Exception", FileName = "An Exception Occured. Sorry.", Type = Link.ContentType.Picture, Url = "https://Exception.com" }; } else { link = links[randomLinkNr]; } } var fullSentence = string.Empty; switch (link.Type) { case Link.ContentType.Video: fullSentence = $"Watch {link.CreatorName}' JOI and {denialtext}"; break; case Link.ContentType.Picture: fullSentence = $"Edge to {link.CreatorName}' Picture and {denialtext}"; break; } var rerollIn = string.Empty; if (this.Outcome != SlaveReportsExtension.Outcome.Task) { rerollIn = "You are not allowed to re-roll for now."; this.WheelLockedTime = new TimeSpan(8, 0, 0); } this.Text = $"{fullSentence}.{rerollIn}\n" + $"{link.Url}\n"; var builder = new DiscordEmbedBuilder { Title = "Click here.", Description = fullSentence, Footer = new DiscordEmbedBuilder.EmbedFooter() { Text = rerollIn }, Url = link.Url, Color = link.Type == Link.ContentType.Picture ? new DiscordColor("#42f483") : new DiscordColor("#acf441"), Author = new DiscordEmbedBuilder.EmbedAuthor() { Name = link.CreatorName } }; if (link.Type == Link.ContentType.Picture) { builder.ImageUrl = link.Url; } this.Embed = builder.Build(); }