Exemple #1
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory,
                              VoxEventsContext voxEventsContext)
        {
            loggerFactory.AddNLog();

            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseExceptionHandler();
            }

            voxEventsContext.EnsureSeedDataForContext();

            app.UseMvc();

            AutoMapper.Mapper.Initialize(cfg =>
            {
                cfg.CreateMap <Member, MemberNoAvailabilitiesDto>();
                cfg.CreateMap <Member, MemberDto>();
                cfg.CreateMap <MemberCreateDto, Member>();
                cfg.CreateMap <Member, MemberUpdateDto>().ReverseMap();
                cfg.CreateMap <VoxEventCreateDto, VoxEvent>();
                cfg.CreateMap <VenueCreateDto, Venue>();
                cfg.CreateMap <Availability, MemberAvailabilityDto>();
                cfg.CreateMap <Availability, MemberAvailabilityUpdateDto>().ReverseMap();
                cfg.CreateMap <Availability, VoxEventAvailabilityDto>();
                cfg.CreateMap <VoxEvent, VoxEventNoAvailabilitiesDto>();
                cfg.CreateMap <VoxEvent, VoxEventDto>();
                cfg.CreateMap <VoxEvent, VoxEventUpdateDto>().ReverseMap();
                cfg.CreateMap <Venue, VenueNoEventsDto>();
                cfg.CreateMap <Venue, VenueUpdateDto>().ReverseMap();
                cfg.CreateMap <Venue, VenueDto>();
                cfg.CreateMap <MemberAvailabilityCreateDto, Availability>();
            });
        }
 public VoxEventsRepository(VoxEventsContext context)
 {
     _context = context;
 }
Exemple #3
0
        public static void EnsureSeedDataForContext(this VoxEventsContext context)
        {
            if (context.Members.Any())
            {
                return;
            }

            var venues = new List <Venue>()
            {
                new Venue()
                {
                    VenueName = "St Martins Mullumbimby",
                    HasPiano  = false
                },
                new Venue()
                {
                    VenueName = "Byron Theatre",
                    HasPiano  = true
                },
                new Venue()
                {
                    VenueName = "Mullumbimby Civic Centre",
                    HasPiano  = false
                }
            };

            var voxEvents = new List <VoxEvent>()
            {
                new VoxEvent()
                {
                    EventName       = "Into the Light",
                    VenueId         = 1,
                    EventDate       = new DateTime(2018, 6, 23),
                    RehearsalTime   = new DateTime(2018, 6, 23, 13, 0, 0),
                    PerformanceTime = new DateTime(2018, 6, 23, 15, 0, 0)
                },
                new VoxEvent()
                {
                    EventName       = "Into the Light",
                    VenueId         = 2,
                    EventDate       = new DateTime(2018, 6, 24),
                    RehearsalTime   = new DateTime(2018, 6, 24, 14, 0, 0),
                    PerformanceTime = new DateTime(2018, 6, 24, 16, 0, 0)
                },
                new VoxEvent()
                {
                    EventName       = "The Events",
                    VenueId         = 3,
                    EventDate       = new DateTime(2018, 7, 20),
                    RehearsalTime   = new DateTime(2018, 7, 20, 13, 0, 0),
                    PerformanceTime = new DateTime(2018, 7, 20, 18, 0, 0)
                }
            };

            var members = new List <Member>()
            {
                new Member()
                {
                    FirstName      = "Geraldine",
                    LastName       = "Doogue",
                    Email          = "*****@*****.**",
                    Phone          = "",
                    Part           = "Bass",
                    Availabilities = new List <Availability>()
                    {
                        new Availability()
                        {
                            VoxEventId = 1,
                            Available  = false
                        },
                        new Availability()
                        {
                            VoxEventId = 2,
                            Available  = true
                        },
                        new Availability()
                        {
                            VoxEventId = 3,
                            Available  = true
                        }
                    }
                },
                new Member()
                {
                    FirstName      = "Julie",
                    LastName       = "Andrews",
                    Email          = "*****@*****.**",
                    Phone          = "0455123456",
                    Part           = "Soprano",
                    Availabilities = new List <Availability>()
                    {
                        new Availability()
                        {
                            VoxEventId = 1,
                            Available  = true
                        },
                        new Availability()
                        {
                            VoxEventId = 3,
                            Available  = true
                        }
                    }
                },
                new Member()
                {
                    FirstName      = "Natalie",
                    LastName       = "Wood",
                    Email          = "*****@*****.**",
                    Phone          = "",
                    Part           = "Alto",
                    Availabilities = new List <Availability>()
                    {
                        new Availability()
                        {
                            VoxEventId = 1,
                            Available  = true
                        },
                        new Availability()
                        {
                            VoxEventId = 2,
                            Available  = false
                        }
                    }
                },
                new Member()
                {
                    FirstName      = "George",
                    LastName       = "Clooney",
                    Email          = "*****@*****.**",
                    Phone          = "0455987665",
                    Part           = "Bass",
                    Availabilities = new List <Availability>()
                    {
                        new Availability()
                        {
                            VoxEventId = 1,
                            Available  = true
                        },
                        new Availability()
                        {
                            VoxEventId = 2,
                            Available  = true
                        },
                        new Availability()
                        {
                            VoxEventId = 3,
                            Available  = true
                        }
                    }
                },
                new Member()
                {
                    FirstName      = "Brad",
                    LastName       = "Pitt",
                    Email          = "*****@*****.**",
                    Phone          = "0455582452",
                    Part           = "Tenor",
                    Availabilities = new List <Availability>()
                    {
                        new Availability()
                        {
                            VoxEventId = 1,
                            Available  = true
                        }
                    }
                },
                new Member()
                {
                    FirstName      = "Kim",
                    LastName       = "Novak",
                    Email          = "*****@*****.**",
                    Phone          = "0455195548",
                    Part           = "Alto",
                    Availabilities = new List <Availability>()
                    {
                    }
                }
            };

            context.Venues.AddRange(venues);
            context.VoxEvents.AddRange(voxEvents);
            context.Members.AddRange(members);
            context.SaveChanges();
        }