public CFSISApiController(
            CFSISContext ctx,
            IServiceProvider svcProvider,
            ArtistRepository artistRepo,
            AlbumRepository albumRepo,
            CollegeRepository collegeRepo,
            CourseRepository courseRepo,
            DistrictRepository districtRepo,
            EnrollmentRepository enrollmentRepo,
            StudentRepository studentRepo,
            IConfiguration config,
            ILogger <CFSISApiController> logger,
            IHostingEnvironment env)
        {
            context         = ctx;
            serviceProvider = svcProvider;
            Configuration   = config;

            AlbumRepo      = albumRepo;
            ArtistRepo     = artistRepo;
            CollegeRepo    = collegeRepo;
            CourseRepo     = courseRepo;
            DistrictRepo   = districtRepo;
            EnrollmentRepo = enrollmentRepo;
            StudentRepo    = studentRepo;
            Logger         = logger;

            HostingEnv = env;
        }
Example #2
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,
                              CFSISContext albumContext,
                              IConfiguration configuration)
        {
            // Serilog config
            Log.Logger = new LoggerConfiguration()
                         .WriteTo.RollingFile(pathFormat: "logs\\log-{Date}.log")
                         .CreateLogger();

            if (env.IsDevelopment())
            {
                loggerFactory
                .AddDebug()
                .AddConsole()
                .AddSerilog();

                app.UseDeveloperExceptionPage();
            }
            else
            {
                loggerFactory
                .AddSerilog();

                app.UseExceptionHandler(errorApp =>

                                        // Application level exception handler here - this is just a place holder
                                        errorApp.Run(async(context) =>
                {
                    context.Response.StatusCode  = 500;
                    context.Response.ContentType = "text/html";
                    await context.Response.WriteAsync("<html><body>\r\n");
                    await context.Response.WriteAsync(
                        "We're sorry, we encountered an un-expected issue with your application.<br>\r\n");

                    // Capture the exception
                    var error = context.Features.Get <IExceptionHandlerFeature>();
                    if (error != null)
                    {
                        // This error would not normally be exposed to the client
                        await
                        context.Response.WriteAsync("<br>Error: " +
                                                    HtmlEncoder.Default.Encode(error.Error.Message) +
                                                    "<br>\r\n");
                    }
                    await context.Response.WriteAsync("<br><a href=\"/\">Home</a><br>\r\n");
                    await context.Response.WriteAsync("</body></html>\r\n");
                    await context.Response.WriteAsync(new string(' ', 512));                                     // Padding for IE
                }));
            }

            //app.UseHttpsRedirection();

            Console.WriteLine("\r\nPlatform: " + System.Runtime.InteropServices.RuntimeInformation.OSDescription);
            string useSqLite = Configuration["Data:useSqLite"];

            Console.WriteLine(useSqLite == "true" ? "SqLite" : "Sql Server");

            app.UseAuthentication();

            app.UseDatabaseErrorPage();
            app.UseStatusCodePages();

            app.UseDefaultFiles(); // so index.html is not required
            app.UseStaticFiles();

            // Handle Lets Encrypt Route (before MVC processing!)
            // alternately use an MVC Route (in ConfigurationController)
            //app.UseRouter(r =>
            //{
            //    r.MapGet(".well-known/acme-challenge/{id}", async (request, response, routeData) =>
            //    {
            //        var id = routeData.Values["id"] as string;
            //        var file = Path.Combine(env.WebRootPath, ".well-known","acme-challenge", id);
            //        await response.SendFileAsync(file);
            //    });
            //});

            //// put last so header configs like CORS or Cookies etc can fire
            app.UseMvcWithDefaultRoute();


            // catch-all handler for HTML5 client routes - serve index.html
            app.Run(async context =>
            {
                // Make sure Angular output was created in wwwroot
                // Running Angular in dev mode nukes output folder!
                // so it could be missing.
                if (env.WebRootPath == null)
                {
                    throw new InvalidOperationException("wwwroot folder doesn't exist. Please recompile your Angular Project before accessing index.html. API calls will work fine.");
                }

                context.Response.ContentType = "text/html";
                await context.Response.SendFileAsync(Path.Combine(env.WebRootPath, "index.html"));
            });

            // Initialize Database if it doesn't exist
            CFSISDataImporter.EnsureAlbumData(albumContext,
                                              Path.Combine(env.ContentRootPath, "albums.js"));
        }
Example #3
0
 public OrderDetailsController(CFSISContext context)
 {
     _context = context;
 }
Example #4
0
 public EmployeeController(CFSISContext context)
 {
     _context    = context;
     objemployee = new EmployeeDataAccessLayer(_context);
 }
Example #5
0
 public DistrictsController(CFSISContext context)
 {
     _context = context;
 }
 public EmployeeDataAccessLayer(CFSISContext DBcontext)
 {
     db = DBcontext;
 }
 public OrderMastersController(CFSISContext context)
 {
     _context = context;
 }
Example #8
0
 public CourseController(CFSISContext context)
 {
     _context  = context;
     objcourse = new CourseDataAccessLayer(_context);
 }
 public CourseDataAccessLayer(CFSISContext DBcontext)
 {
     db = DBcontext;
 }