예제 #1
0
 protected override void Seed(CrisisCheckin context)
 {
     // Populate resource types
     context.ResourceTypes.AddOrUpdate(x => x.ResourceTypeId,
                                       new ResourceType {
         ResourceTypeId = 1, TypeName = "Food"
     },
                                       new ResourceType {
         ResourceTypeId = 2, TypeName = "Water"
     },
                                       new ResourceType {
         ResourceTypeId = 3, TypeName = "Medical"
     },
                                       new ResourceType {
         ResourceTypeId = 4, TypeName = "Shelter"
     },
                                       new ResourceType {
         ResourceTypeId = 5, TypeName = "Heavy Machines"
     },
                                       new ResourceType {
         ResourceTypeId = 6, TypeName = "Hazard"
     },
                                       new ResourceType {
         ResourceTypeId = 7, TypeName = "Pamphlets Delivered"
     },
                                       new ResourceType {
         ResourceTypeId = 8, TypeName = "Medical Services"
     });
 }
예제 #2
0
        public void Get_person()
        {
            var db = new CrisisCheckin();

            var controller = new EntitiesController(db);

            Assert.AreEqual(_person.PhoneNumber, controller.Persons().OrderByDescending(p => p.Id).First().PhoneNumber);
        }
예제 #3
0
 public static void Initialize()
 {
     using (var db = new CrisisCheckin()) {
         if (!db.Database.CompatibleWithModel(false))
         {
             Database.SetInitializer <CrisisCheckin>(new MigrateDatabaseToLatestVersion <CrisisCheckin, Models.Migrations.Configuration>());
             db.Database.Initialize(false);
             Models.Migrations.Configuration.SeedIfNotEmpty(db);
         }
     }
 }
예제 #4
0
        public void SetUp()
        {
            AppDomain.CurrentDomain.SetData("DataDirectory", Directory.GetCurrentDirectory());
            Database.SetInitializer <CrisisCheckin>(new Initializer());

            using (var context = new CrisisCheckin())
            {
                context.Database.Delete();
                context.Database.Initialize(true);
            }
        }
        public void SetUp()
        {
            AppDomain.CurrentDomain.SetData("DataDirectory", Directory.GetCurrentDirectory());
            using (var dbContext = new CrisisCheckin())
            {
                dbContext.Database.Delete();

                new MigrateDatabaseToLatestVersion <CrisisCheckin, CrisisCheckinConfiguration>()
                .InitializeDatabase(dbContext);

                Seed(dbContext);
            }
        }
        public void SetUp()
        {
            AppDomain.CurrentDomain.SetData("DataDirectory", Directory.GetCurrentDirectory());
            Database.SetInitializer <CrisisCheckin>(new MyInitializer());

            using (var context = new CrisisCheckin())
            {
                if (!context.Database.Exists())
                {
                    ((IObjectContextAdapter)context).ObjectContext.CreateDatabase();
                }
                context.Database.Initialize(true);
            }
        }
예제 #7
0
        public static void SeedIfNotEmpty(CrisisCheckin context) // Not overriding DbMigrationsConfiguration<T>.Seed, since it doesn't seem to always get called when it should.
        {
            context.Clusters.Add(new Cluster {
                Name = "Agriculture Cluster"
            });
            context.Clusters.Add(new Cluster {
                Name = "Camp Coordination and Management Cluster"
            });
            context.Clusters.Add(new Cluster {
                Name = "Early Recovery Cluster"
            });
            context.Clusters.Add(new Cluster {
                Name = "Emergency Shelter Cluster"
            });
            context.Clusters.Add(new Cluster {
                Name = "Emergency Telecommunications Cluster"
            });
            context.Clusters.Add(new Cluster {
                Name = "Food Cluster"
            });
            context.Clusters.Add(new Cluster {
                Name = "Health Cluster"
            });
            context.Clusters.Add(new Cluster {
                Name = "Logistics Cluster"
            });
            context.Clusters.Add(new Cluster {
                Name = "Nutrition Cluster"
            });
            context.Clusters.Add(new Cluster {
                Name = "Protection Cluster"
            });
            context.Clusters.Add(new Cluster {
                Name = "Water and Sanitation Cluster"
            });

            context.Persons.Add(new Person {
                FirstName = "Bob", Commitments =
                    new Commitment[] { new Commitment {
                                           StartDate = new DateTime(2014, 1, 1), EndDate = new DateTime(2014, 2, 1), Disaster = new Disaster {
                                               Name = "Hurricane", IsActive = true
                                           }
                                       } }
            });

            context.SaveChanges();
        }
        static void Seed(CrisisCheckin dbContext)
        {
            dbContext.ClusterGroups.AddOrUpdate(
                g => g.Name, new ClusterGroup {
                Name = "UN Clusters", Description = "Some description here"
            });

            dbContext.Clusters.AddOrUpdate(
                c => c.Name,
                new Cluster {
                Name = "Agriculture Cluster", ClusterGroupId = 1
            },
                new Cluster {
                Name = "Camp Coordination and Management Cluster", ClusterGroupId = 1
            },
                new Cluster {
                Name = "Early Recovery Cluster", ClusterGroupId = 1
            },
                new Cluster {
                Name = "Emergency Shelter Cluster", ClusterGroupId = 1
            },
                new Cluster {
                Name = "Emergency Telecommunications Cluster", ClusterGroupId = 1
            },
                new Cluster {
                Name = "Food Cluster", ClusterGroupId = 1
            },
                new Cluster {
                Name = "Health Cluster", ClusterGroupId = 1
            },
                new Cluster {
                Name = "Logistics Cluster", ClusterGroupId = 1
            },
                new Cluster {
                Name = "Nutrition Cluster", ClusterGroupId = 1
            },
                new Cluster {
                Name = "Protection Cluster", ClusterGroupId = 1
            },
                new Cluster {
                Name = "Water and Sanitation Cluster", ClusterGroupId = 1
            }
                );
            dbContext.SaveChanges();
        }
예제 #9
0
        public static void InitializeCrisisCheckinAndMembershipData()
        {
            var migrateOnStartup = false;

            if (!bool.TryParse(ConfigurationManager.AppSettings["MigrateDbToLatestOnStartup"], out migrateOnStartup))
            {
                migrateOnStartup = false;
            }

            if (migrateOnStartup)
            {
                Database.SetInitializer <CrisisCheckin>(new MigrateDatabaseToLatestVersion <CrisisCheckin, Models.Migrations.CrisisCheckinConfiguration>());
            }
            else
            {
                Database.SetInitializer <CrisisCheckin>(null);
            }

            //Users are created via membership so never ever do initialization
            Database.SetInitializer <CrisisCheckinMembership>(null);

            using (var db = new CrisisCheckin())
            {
                db.Database.CreateIfNotExists();

                if (migrateOnStartup)
                {
                    var configuration = new CrisisCheckinConfiguration();

                    var migrator = new DbMigrator(configuration);
                    migrator.Update();
                }

                AuthConfig.Register();
                AuthConfig.VerifyRolesAndDefaultAdminAccount();

                using (var mdb = new CrisisCheckinMembership())
                {
                    SeedIfNotEmpty(db, mdb);
                }
            }
        }
예제 #10
0
            public SimpleMembershipInitializer()
            {
                System.Data.Entity.Database.SetInitializer <CrisisCheckin>(null);

                try
                {
                    using (var context = new CrisisCheckin())
                    {
                        if (!context.Database.Exists())
                        {
                            // Create the SimpleMembership database without Entity Framework migration schema
                            ((IObjectContextAdapter)context).ObjectContext.CreateDatabase();
                        }
                    }

                    WebSecurity.InitializeDatabaseConnection("CrisisCheckin", "User", "Id", "UserName", autoCreateTables: true);
                }
                catch (Exception ex)
                {
                    throw new InvalidOperationException("The ASP.NET Simple Membership database could not be initialized. For more information, please see http://go.microsoft.com/fwlink/?LinkId=256588", ex);
                }
            }
예제 #11
0
 public DataService(CrisisCheckin ctx, CrisisCheckinMembership mctx)
 {
     context            = ctx;
     membership_context = mctx;
 }
예제 #12
0
 public DataService(CrisisCheckin ctx)
 {
     context = ctx;
 }
예제 #13
0
        public static void SeedIfNotEmpty(CrisisCheckin context, CrisisCheckinMembership membership_context) // Not overriding DbMigrationsConfiguration<T>.Seed, since it doesn't seem to always get called when it should.
        {
            // We want to call this method even when the database updates aren't necessary. That's
            // because VS 2013 tooling automatically creates the DB when the app starts. Therefore,
            // this code only executes when the clusters table is empty. That's a good proxy for a
            // clean database with no data.
            if (context.Clusters.Any())
            {
                return;
            }

            context.Clusters.AddOrUpdate(
                c => c.Name,
                new Cluster {
                Name = "Agriculture Cluster"
            },
                new Cluster {
                Name = "Camp Coordination and Management Cluster"
            },
                new Cluster {
                Name = "Early Recovery Cluster"
            },
                new Cluster {
                Name = "Emergency Shelter Cluster"
            },
                new Cluster {
                Name = "Emergency Telecommunications Cluster"
            },
                new Cluster {
                Name = "Food Cluster"
            },
                new Cluster {
                Name = "Health Cluster"
            },
                new Cluster {
                Name = "Logistics Cluster"
            },
                new Cluster {
                Name = "Nutrition Cluster"
            },
                new Cluster {
                Name = "Protection Cluster"
            },
                new Cluster {
                Name = "Water and Sanitation Cluster"
            }
                );
            context.SaveChanges();
            var vtype = context.VolunteerTypes.First(vt => vt.Name == VolunteerType.VOLUNTEERTYPE_ONSITE);

            context.Persons.AddOrUpdate(
                p => p.FirstName,
                new Person
            {
                FirstName   = "Bob",
                Commitments =
                    new Commitment[] { new Commitment {
                                           StartDate = new DateTime(2014, 1, 1), EndDate = new DateTime(2014, 2, 1), Disaster = new Disaster {
                                               Name = "Hurricane", IsActive = true
                                           }, VolunteerType = vtype
                                       } }
            });

            // Set up automated test user
            var testUser = membership_context.Users.FirstOrDefault(u => u.UserName == Constants.DefaultTestUserName);

            if (testUser != null)
            {
                if (context.Persons.FirstOrDefault(p => p.UserId == testUser.Id) == null)
                {
                    context.Persons.Add(new Person
                    {
                        UserId      = testUser.Id,
                        FirstName   = "Test",
                        LastName    = "User",
                        Email       = "*****@*****.**",
                        Commitments = new Commitment[]
                        {
                            new Commitment
                            {
                                StartDate = new DateTime(DateTime.Now.Year, 1, 1), EndDate = new DateTime(DateTime.Now.Year, 2, 1),
                                Disaster  = new Disaster {
                                    Name = "Test Disaster", IsActive = true
                                },
                                VolunteerType = vtype
                            }
                        }
                    });
                }
            }

            context.SaveChanges();

            context.DisasterClusters.Add(new DisasterCluster {
                DisasterId = 1, ClusterId = 1
            });
            context.DisasterClusters.Add(new DisasterCluster {
                DisasterId = 2, ClusterId = 2
            });

            context.SaveChanges();
        }
예제 #14
0
 public PersonController(CrisisCheckin dbContext, IWebSecurityWrapper webSecurity)
 {
     DbContext   = dbContext;
     WebSecurity = webSecurity;
 }
예제 #15
0
 public EntitiesController(CrisisCheckin ctx, IWebSecurityWrapper webSecurity)
 {
     _contextProvider = new CrisisCheckinContextProvider(ctx);
     _webSecurity     = webSecurity;
 }
예제 #16
0
 public EntitiesController(CrisisCheckin db)
 {
     _contextProvider = new CrisisCheckinContextProvider(db);
 }