Пример #1
0
 public static async Task DeleteCardAsync(DbContextOptions <MemCheckDbContext> db, Guid userId, Guid cardId, DateTime?deletionDate = null)
 {
     using var dbContext = new MemCheckDbContext(db);
     var deleter         = new DeleteCards(dbContext.AsCallContext(), deletionDate);
     var deletionRequest = new DeleteCards.Request(userId, cardId.AsArray());
     await deleter.RunAsync(deletionRequest);
 }
Пример #2
0
 private static async Task DeleteCardAsync(DbContextOptions <MemCheckDbContext> testDB, Guid userId, Guid cardId, DateTime deletionDate)
 {
     using var dbContext = new MemCheckDbContext(testDB);
     var deleter         = new DeleteCards(dbContext.AsCallContext(new TestLocalizer(new KeyValuePair <string, string>("Deletion", DeletionDescription).AsArray())), deletionDate);
     var deletionRequest = new DeleteCards.Request(userId, cardId.AsArray());
     await deleter.RunAsync(deletionRequest);
 }
Пример #3
0
        private async Task CreateCard_WhatAreTheDepartmentsInThisRegionAsync(Region region, MemCheckUser user, Guid regionsAndDepartmentsWithNamesImageId, Guid frenchLanguageId, Guid tagId)
        {
            var frontSide = $"Quels départements y a-t-il dans la région {region.Name} ?";

            if (dbContext.Cards.Where(card => card.VersionCreator.Id == user.Id && card.FrontSide == frontSide).Any())
            {
                logger.LogInformation($"Card already exists for {region.Name}: {frontSide}");
                return;
            }

            var backSide             = string.Join(Environment.NewLine, region.Departments);
            var frontSideImages      = Array.Empty <Guid>();
            var backSideImages       = new[] { regionsAndDepartmentsWithNamesImageId };
            var additionalInfo       = $"La région {region.Name} est constituée de {region.Departments.Length} départements.{Environment.NewLine}En 2017, sa densité était de {region.Density} habitants par km² (la moyenne métropolitaine étant de 168 h/km²).";
            var additionalInfoImages = Array.Empty <Guid>();
            var request = new CreateCard.Request(user.Id, frontSide, frontSideImages, backSide, backSideImages, additionalInfo, additionalInfoImages, frenchLanguageId, tagId.AsArray(), Array.Empty <Guid>(), CardVersionDescription);

            await new CreateCard(dbContext.AsCallContext()).RunAsync(request);
        }
Пример #4
0
        private async Task CreateCard_WhatIsThisRegionAsync(Region region, MemCheckUser user, Guid regionsAndDepartmentsWithNamesImageId, Guid frenchLanguageId, Guid tagId)
        {
            var frontSide = "Comment s'appelle cette région française ?";
            var backSide  = region.Name;

            if (dbContext.Cards.Where(card => card.VersionCreator.Id == user.Id && card.FrontSide == frontSide && card.BackSide == backSide).Any())
            {
                logger.LogInformation($"Card already exists for {region.Name}: {frontSide}");
                return;
            }

            var frontSideImages = new[] { region.GetImageDbId(dbContext) };
            var backSideImages  = new[] { regionsAndDepartmentsWithNamesImageId };
            var additionalInfo  = $"Elle est constituée de ces {region.Departments.Length} départements :{Environment.NewLine}{string.Join(Environment.NewLine, region.Departments)}{Environment.NewLine}{Environment.NewLine}En 2017, sa densité était de {region.Density} habitants par km² (la moyenne métropolitaine étant de 168 h/km²).";
            var request         = new CreateCard.Request(user.Id, frontSide, frontSideImages, backSide, backSideImages, additionalInfo, Array.Empty <Guid>(), frenchLanguageId, tagId.AsArray(), Array.Empty <Guid>(), CardVersionDescription);

            await new CreateCard(dbContext.AsCallContext()).RunAsync(request);
        }
Пример #5
0
        private async Task CreateCard_HowManyDepartmentsInThisRegionAsync(Region region, MemCheckUser user, Guid regionsAndDepartmentsWithNamesImageId, Guid frenchLanguageId, Guid tagId)
        {
            var frontSide = $"Combien y a-t-il de départements dans la région {region.Name} ?";

            if (dbContext.Cards.Where(card => card.VersionCreator.Id == user.Id && card.FrontSide == frontSide).Any())
            {
                logger.LogInformation($"Card already exists for {region.Name}: {frontSide}");
                return;
            }

            var backSide             = region.Departments.Length.ToString();
            var frontSideImages      = Array.Empty <Guid>();
            var backSideImages       = new[] { regionsAndDepartmentsWithNamesImageId };
            var additionalInfo       = string.Join(Environment.NewLine, region.Departments);
            var additionalInfoImages = Array.Empty <Guid>();
            var request = new CreateCard.Request(user.Id, frontSide, frontSideImages, backSide, backSideImages, additionalInfo, additionalInfoImages, frenchLanguageId, tagId.AsArray(), Array.Empty <Guid>(), CardVersionDescription);

            await new CreateCard(dbContext.AsCallContext()).RunAsync(request);
        }
Пример #6
0
        private async Task GenerateMinSpeedForNameAsync(BeaufortForce f, Guid userId, Guid frenchLanguageId, Guid tagId)
        {
            var frontSide = $"Quelle est la plus faible vitesse de vent par force _{f.Name}_ ?{Environment.NewLine}(En nœuds)";

            if (dbContext.Cards.Where(card => card.VersionCreator.Id == userId && card.FrontSide == frontSide).Any())
            {
                logger.LogInformation($"Card already exists for {f.Name}: {frontSide}");
                return;
            }
            var backSide = $"{f.MinWind} nœuds";
            var request  = new CreateCard.Request(userId, frontSide, Array.Empty <Guid>(), backSide, Array.Empty <Guid>(), additionalInfo, Array.Empty <Guid>(), frenchLanguageId, tagId.AsArray(), Array.Empty <Guid>(), CardVersionDescription);

            await new CreateCard(dbContext.AsCallContext()).RunAsync(request);
        }
Пример #7
0
        private async Task GenerateNameOfForceBelowNumberAsync(BeaufortForce f, Guid userId, Guid frenchLanguageId, Guid tagId)
        {
            var frontSide = $"Comment s'appelle la force Beaufort juste en-dessous de force {f.Number} ?";

            if (dbContext.Cards.Where(card => card.VersionCreator.Id == userId && card.FrontSide == frontSide).Any())
            {
                logger.LogInformation($"Card already exists for {f.Name}: {frontSide}");
                return;
            }
            if (f.Number - 1 < 0)
            {
                return;
            }
            var backSide = $"_{forceFromNumber[f.Number - 1].Name}_";
            var request  = new CreateCard.Request(userId, frontSide, Array.Empty <Guid>(), backSide, Array.Empty <Guid>(), additionalInfo, Array.Empty <Guid>(), frenchLanguageId, tagId.AsArray(), Array.Empty <Guid>(), CardVersionDescription);

            await new CreateCard(dbContext.AsCallContext()).RunAsync(request);
        }
Пример #8
0
        private async Task GenerateNumberOfForceAboveNameAsync(BeaufortForce f, Guid userId, Guid frenchLanguageId, Guid tagId)
        {
            var frontSide = $"Quel est le numéro de la force juste au-dessus de _{f.Name}_ ?";

            if (dbContext.Cards.Where(card => card.VersionCreator.Id == userId && card.FrontSide == frontSide).Any())
            {
                logger.LogInformation($"Card already exists for {f.Name}: {frontSide}");
                return;
            }
            if (f.Number + 1 >= forceFromNumber.Length)
            {
                return;
            }
            var backSide = $"{forceFromNumber[f.Number + 1].Number}";
            var request  = new CreateCard.Request(userId, frontSide, Array.Empty <Guid>(), backSide, Array.Empty <Guid>(), additionalInfo, Array.Empty <Guid>(), frenchLanguageId, tagId.AsArray(), Array.Empty <Guid>(), CardVersionDescription);

            await new CreateCard(dbContext.AsCallContext()).RunAsync(request);
        }
Пример #9
0
        private async Task GenerateNumberFromSpeedAsync(int windSpeed, BeaufortForce f, Guid userId, Guid frenchLanguageId, Guid tagId)
        {
            var frontSide = $"Quel est le numéro de force Beaufort quand le vent va à {windSpeed} nœuds ?";

            if (dbContext.Cards.Where(card => card.VersionCreator.Id == userId && card.FrontSide == frontSide).Any())
            {
                logger.LogInformation($"Card already exists for {f.Name}: {frontSide}");
                return;
            }
            var request = new CreateCard.Request(userId, frontSide, Array.Empty <Guid>(), $"{f.Number}", Array.Empty <Guid>(), additionalInfo, Array.Empty <Guid>(), frenchLanguageId, tagId.AsArray(), Array.Empty <Guid>(), CardVersionDescription);

            await new CreateCard(dbContext.AsCallContext()).RunAsync(request);
        }
Пример #10
0
        private async Task GenerateSpeedMiddleForNumberAsync(BeaufortForce f, Guid userId, Guid frenchLanguageId, Guid tagId)
        {
            var frontSide = $"Quelle vitesse de vent est au milieu de l'intervalle par force n°{f.Number} ?{Environment.NewLine}(En nœuds)";

            if (dbContext.Cards.Where(card => card.VersionCreator.Id == userId && card.FrontSide == frontSide).Any())
            {
                logger.LogInformation($"Card already exists for {f.Name}: {frontSide}");
                return;
            }
            var backSide = $"{(f.MinWind + f.MaxWind) / 2} nœuds";

            CreateCard.Request request = new(userId, frontSide, Array.Empty <Guid>(), backSide, Array.Empty <Guid>(), additionalInfo, Array.Empty <Guid>(), frenchLanguageId, tagId.AsArray(), Array.Empty <Guid>(), CardVersionDescription);
            await new CreateCard(dbContext.AsCallContext()).RunAsync(request);
        }