示例#1
0
 /// <summary>
 /// returns list of tranformers
 /// </summary>
 /// <param name="context"></param>
 /// <returns><List<Transformer></returns>
 public static Task <List <Transformer> > getTransformers(ITransformerDBContext context)
 {
     return(Task.Run(() => context
                     .TransformerAllegiances
                     .ToList <TransformerAllegiance>()
                     .Select((transformerAllegiance, index) =>
                             Enumerable
                             .Range(1, 5)
                             .Select(item =>
                                     new Transformer {
         AllegianceId = transformerAllegiance.TransformerAllegianceId
         , Name = $"{transformerAllegiance.AllegianceName} - {ModelBuilderExtensions.NumberToWords(item)}"
         , Strength = ModelBuilderExtensions.getRandomNumber(1, 10)
         , Intelligence = ModelBuilderExtensions.getRandomNumber(1, 10)
         , Speed = ModelBuilderExtensions.getRandomNumber(1, 10)
         , Endurance = ModelBuilderExtensions.getRandomNumber(1, 10)
         , Rank = ModelBuilderExtensions.getRandomNumber(1, 10)
         , Courage = ModelBuilderExtensions.getRandomNumber(1, 10)
         , Firepower = ModelBuilderExtensions.getRandomNumber(1, 10)
         , Skill = ModelBuilderExtensions.getRandomNumber(1, 10)
     }
                                     )
                             .ToList <Transformer>()
                             )
                     .SelectMany(items => items)
                     .ToList <Transformer>()
                     ));
 }
示例#2
0
        /// <summary>
        /// Generate test data
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        public static Task SeedTestData(this ITransformerDBContext context)
        {
            return(Task.Run(() =>
            {
                // To truncate tables and reseed the identities -- only required during odd cases
                //if (context.Transformers.Any())
                //{
                //    context.Transformers.RemoveRange(context.Transformers);
                //    context.TransformerAllegiances.RemoveRange(context.TransformerAllegiances);
                //    context.SaveChanges();
                //    if (context.Database.IsSqlServer()) // For MSSQL only
                //    {
                //        context.Database.ExecuteSqlCommand("DBCC CHECKIDENT('Transformers', RESEED, 0)");
                //        context.Database.ExecuteSqlCommand("DBCC CHECKIDENT('TransformerAllegiances', RESEED, 0)");
                //    }
                //}

                if (!context.TransformerAllegiances.Any())
                {
                    context.TransformerAllegiances.AddRange(TransformersEnums.TransformerAllegiancesList());
                    context.DatabaseContext.SaveChanges();
                }

                if (!context.Transformers.Any())
                {
                    context.Transformers.AddRange(getTransformers(context).GetAwaiter().GetResult());
                    context.DatabaseContext.SaveChanges();
                }
            }));
        }
 protected void Dispose(bool disposing)
 {
     if (disposing)
     {
         if (_transformerDBContext != null)
         {
             _transformerDBContext.Dispose();
             _transformerDBContext = null;
         }
     }
 }
示例#4
0
        public void Setup()
        {
            var services = new ServiceCollection();

            services.AddTransient <IConfiguration>(provider => PopulateTestData.GetConfiguration(TestContext.CurrentContext.TestDirectory));
            services.AddDbContext <TransformerDBContext>(options => options.UseInMemoryDatabase());
            services.AddTransient <ITransformerDBContext, TransformerDBContext>();
            services.AddTransient <ITransformerRepository, TransformerRepository>();
            services.AddTransient <ITransformerAdd, TransformerCommands>();
            services.AddTransient <ITransformerRetrieve, TransformerCommands>();
            services.AddTransient <ITransformerUpdate, TransformerCommands>();
            services.AddTransient <ITransformerRemove, TransformerCommands>();
            services.AddTransient <ITransformerList, TransformerCommands>();
            services.AddTransient <ITransformerScore, TransformerCommands>();
            services.AddTransient <ITransformerWar, TransformerWar>();
            services.AddTransient <TransformersController>();
            var serviceProvider = services.BuildServiceProvider();

            _transformerDBContext = serviceProvider.GetService <ITransformerDBContext>();
            _transformerDBContext.SeedTestData().GetAwaiter().GetResult();
            _transformersController = serviceProvider.GetService <TransformersController>();
            _transformerRepository  = serviceProvider.GetService <ITransformerRepository>();
        }
 public TransformerRepository(ITransformerDBContext context, IConfiguration configuration)
 {
     _transformerDBContext = context;
     _config = configuration;
 }