示例#1
0
        public VerifyService(IConfiguration config)
        {
            var options = new DbContextOptionsBuilder <ApplicationUsersContext>()
                          .UseSqlServer(config.GetConnectionString("IdentityConnection")).Options;

            Context = new ApplicationUsersContext(options);
        }
示例#2
0
        public IEnumerable <RentACarListingInfoModel> GetAllActivatedCompanies()
        {
            var options = new DbContextOptionsBuilder <ApplicationUsersContext>()
                          .UseSqlServer(Configuration.GetConnectionString("IdentityConnection")).Options;

            List <RentACarListingInfoModel> retCompanies = new List <RentACarListingInfoModel>();

            using (var context = new ApplicationUsersContext(options))
            {
                var comps = context.RentACarCompanies.Include(comp => comp.MainLocation).ToList();

                foreach (var comp in comps)
                {
                    if (comp.Activated)
                    {
                        retCompanies.Add(new RentACarListingInfoModel()
                        {
                            Id = comp.ID, Img = comp.Image, MainLocation = comp.MainLocation.FullAddress, Name = comp.Name, Rating = comp.AvrageRating
                        });
                    }
                }
            }
            return(retCompanies);
        }
示例#3
0
        public IEnumerable <RentACarListingInfoModel> SearchCompanies(SearchCompaniesModel searchModel)
        {
            var options = new DbContextOptionsBuilder <ApplicationUsersContext>()
                          .UseSqlServer(Configuration.GetConnectionString("IdentityConnection")).Options;

            List <RentACarListingInfoModel> retCompanies = new List <RentACarListingInfoModel>();

            using (var context = new ApplicationUsersContext(options))
            {
                var companies = _context.RentACarCompanies
                                .Include(comp => comp.MainLocation)
                                .Include(comp => comp.Locations)
                                .Include(comp => comp.Cars)
                                .ThenInclude(car => car.RentedDates)
                                .Include(comp => comp.Cars)
                                .ThenInclude(car => car.Ratings)
                                .Include(comp => comp.Ratings)
                                .Include(comp => comp.QuickReservations)
                                .ThenInclude(qr => qr.Dates)
                                .Include(comp => comp.extras).ToList();

                for (int i = 0; i < companies.Count; i++)
                {
                    if (companies[i].Name.ToLower() == searchModel.companyName.ToLower() || searchModel.companyName == "" || companies[i].Name.ToLower().Contains(searchModel.companyName.ToLower()))
                    {
                        if (searchModel.location == "")
                        {
                            bool available = false;
                            if (searchModel.from == "")
                            {
                                available = true;
                            }
                            else
                            {
                                foreach (var car in companies[i].Cars)
                                {
                                    if (!car.Removed && CheckAvailability(car, searchModel.from, searchModel.to))
                                    {
                                        available = true;
                                    }
                                }
                            }
                            if (available)
                            {
                                retCompanies.Add(new RentACarListingInfoModel()
                                {
                                    Id = companies[i].ID, Img = companies[i].Image, MainLocation = companies[i].MainLocation.FullAddress, Name = companies[i].Name, Rating = companies[i].AvrageRating
                                });
                            }
                        }
                        else
                        {
                            int    found   = 0;
                            string address = "";
                            for (int j = 0; j < companies[i].Locations.Count; j++)
                            {
                                if (companies[i].Locations[j].FullAddress.ToLower().Contains(searchModel.location.ToLower()))
                                {
                                    found   = 1;
                                    address = companies[i].Locations[j].FullAddress;
                                    break;
                                }
                            }
                            if (found != 0)
                            {
                                bool available = false;
                                if (searchModel.from == "")
                                {
                                    available = true;
                                }
                                else
                                {
                                    foreach (var car in companies[i].Cars)
                                    {
                                        if (!car.Removed && CheckAvailability(car, searchModel.from, searchModel.to))
                                        {
                                            available = true;
                                        }
                                    }
                                }

                                if (available)
                                {
                                    retCompanies.Add(new RentACarListingInfoModel()
                                    {
                                        Id = companies[i].ID, Img = companies[i].Image, MainLocation = address, Name = companies[i].Name, Rating = companies[i].AvrageRating
                                    });
                                }
                            }
                        }
                    }
                }
            }

            return(retCompanies);
        }
示例#4
0
 public RentACarController(ApplicationUsersContext context, IConfiguration configuration)
 {
     _context      = context;
     Configuration = configuration;
 }
示例#5
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env, UserManager <User> userManager, RoleManager <Role> roleManager, ApplicationUsersContext context)
        {
            app.Use(async(ctx, next) =>
            {
                await next();
                if (ctx.Response.StatusCode == 204)
                {
                    ctx.Response.ContentLength = 0;
                }
            });

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

            app.UseCors(builder =>
                        builder.WithOrigins(Configuration["ApplicationSettings:Client_URL"].ToString())
                        .AllowAnyHeader()
                        .AllowAnyMethod()

                        );

            app.UseHttpsRedirection();

            app.UseRouting();

            app.UseAuthentication();
            app.UseAuthorization();

            IdentityDataInitializer.SeedData(userManager, roleManager);
            RentACarDataInitializer.SeedCompanies(context);
            AirlineDataIntializer.SeedAirlines(context);
            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllers();
            });

            //app.UseMvc();
        }
 public FlightCancelledHandler(ApplicationUsersContext context, UserManager <User> userManager)
 {
     _context     = context;
     _userManager = userManager;
 }
        public static void SeedCompanies(ApplicationUsersContext context)
        {
            if (context.RentACarCompanies.Count() != 0)
            {
                return;
            }
            Address addr1 = new Address()
            {
                FullAddress = "Bulevar Oslobodjenja 81, Novi Sad, Serbia", Latitude = 45.254152, Longitude = 19.836035
            };
            Address addr2 = new Address()
            {
                FullAddress = "Blok 28, Belgrade, Serbia", Latitude = 44.812298, Longitude = 20.417439
            };
            RentACar company1 = new RentACar();

            company1.Activated    = true;
            company1.AvrageRating = 0;
            company1.Cars         = new List <Car>();
            company1.Description  = "No description";
            company1.extras       = new List <ExtraAmenity>();
            company1.Image        = "kompanija1.jpg";
            company1.Locations    = new List <Address>()
            {
                addr1, addr2
            };
            company1.MainLocation = new Address()
            {
                FullAddress = "Vukovarska 2, Belgrade, Serbia", Latitude = 44.792089, Longitude = 20.430300
            };
            company1.Name = "National Car Rental";
            company1.QuickReservations = new List <QuickReservation>();
            company1.Ratings           = new List <Rating>();

            ExtraAmenity amenity1 = new ExtraAmenity();

            amenity1.Name           = "Additional driver";
            amenity1.Image          = "addDriver2.png";
            amenity1.Price          = 100;
            amenity1.OneTimePayment = false;

            ExtraAmenity amenity2 = new ExtraAmenity();

            amenity2.Name           = "GPS Navigation";
            amenity2.Image          = "GPS2.png";
            amenity2.Price          = 20;
            amenity2.OneTimePayment = true;

            ExtraAmenity amenity3 = new ExtraAmenity();

            amenity3.Name           = "Unlimited miles";
            amenity3.Image          = "UnlimitedMiles2.png";
            amenity3.Price          = 80;
            amenity3.OneTimePayment = true;

            ExtraAmenity amenity4 = new ExtraAmenity();

            amenity4.Name           = "Child & baby seats";
            amenity4.Image          = "childSeats2.png";
            amenity4.Price          = 40;
            amenity4.OneTimePayment = true;

            ExtraAmenity amenity5 = new ExtraAmenity();

            amenity5.Name           = "WiFi hotspot device";
            amenity5.Image          = "wifi2.png";
            amenity5.Price          = 25;
            amenity5.OneTimePayment = true;

            ExtraAmenity amenity6 = new ExtraAmenity();

            amenity6.Name           = "Car rental protection plan";
            amenity6.Image          = "protectionPlan2.png";
            amenity6.Price          = 75;
            amenity6.OneTimePayment = true;

            ExtraAmenity amenity7 = new ExtraAmenity();

            amenity7.Name           = "Prepaid fuel";
            amenity7.Image          = "fuel2.png";
            amenity7.Price          = 30;
            amenity7.OneTimePayment = true;

            ExtraAmenity amenity8 = new ExtraAmenity();

            amenity8.Name           = "Extended roadside protection";
            amenity8.Image          = "roadsideProtection2.png";
            amenity8.Price          = 65;
            amenity8.OneTimePayment = true;

            ExtraAmenity amenity9 = new ExtraAmenity();

            amenity9.Name           = "Winter tires & snow chains";
            amenity9.Image          = "snow2.png";
            amenity9.Price          = 50;
            amenity9.OneTimePayment = true;

            ExtraAmenity amenity10 = new ExtraAmenity();

            amenity10.Name           = "Delivery & collection";
            amenity10.Image          = "driver2.png";
            amenity10.Price          = 100;
            amenity10.OneTimePayment = true;

            List <ExtraAmenity> amenities = new List <ExtraAmenity>();

            amenities.Add(amenity1);
            amenities.Add(amenity2);
            amenities.Add(amenity3);
            amenities.Add(amenity4);
            amenities.Add(amenity5);
            amenities.Add(amenity6);
            amenities.Add(amenity7);
            amenities.Add(amenity8);
            amenities.Add(amenity9);
            amenities.Add(amenity10);
            company1.extras = amenities;

            context.RentACarCompanies.Add(company1);
            context.SaveChanges();

            List <RentACar> companies = context.RentACarCompanies.ToList();

            Car car1 = new Car();

            car1.AvrageRating = 0;
            car1.Brand        = "Ford";
            car1.CompanyId    = companies[0].ID;
            car1.Image        = "fusion.jpg";
            car1.Location     = addr1.FullAddress;
            car1.Model        = "Fusion";
            car1.Passengers   = 5;
            car1.PricePerDay  = 70;
            car1.Ratings      = new List <Rating>();
            car1.RentedDates  = new List <Date>();
            car1.Type         = "full-size";
            car1.Year         = 2015;
            car1.Removed      = false;

            Car car2 = new Car();

            car2.AvrageRating = 0;
            car2.Brand        = "WW";
            car2.CompanyId    = companies[0].ID;
            car2.Image        = "audia4.jpg";
            car2.Location     = addr2.FullAddress;
            car2.Model        = "Audi A4";
            car2.Passengers   = 5;
            car2.PricePerDay  = 85;
            car2.Ratings      = new List <Rating>();
            car2.RentedDates  = new List <Date>();
            car2.Type         = "standard-size";
            car2.Year         = 2015;
            car2.Removed      = false;

            companies[0].Cars = new List <Car>();
            companies[0].Cars.Add(car1);
            companies[0].Cars.Add(car2);
            context.RentACarCompanies.Update(companies[0]);
            context.SaveChanges();
        }
示例#8
0
 public CarReservedHandler(ApplicationUsersContext context, UserManager <User> userManager)
 {
     _context     = context;
     _userManager = userManager;
 }
        public static void SeedAirlines(ApplicationUsersContext con)
        {
            if (con.AirlineCompanies.Count() != 0)
            {
                return;
            }
            Airline airline = new Airline();

            Destination d1 = new Destination();

            d1.Name        = "Belgrade";
            d1.Description = "The capital and largest city of Serbia. It is located at the confluence of the Sava and Danube";
            d1.Img         = "belgrade.jpg";
            Destination d2 = new Destination();

            d2.Name        = "Paris";
            d2.Description = "Paris contains the most visited monuments in the city, including the Notre Dame Cathedral and the Louvre as well as the Sainte-Chapelle and the Eiffel Tower.";
            d2.Img         = "paris.jpg";
            Destination d3 = new Destination();

            d3.Name        = "Banja Luka";
            d3.Description = "The city lies on the Vrbas River and is well known in the countries of the former Yugoslavia for being full of tree-lined avenues, boulevards, gardens, and parks.";
            d3.Img         = "banjaluka.jpg";

            Destination d4 = new Destination();

            d4.Name        = "London";
            d4.Description = "London is considered to be one of the  most important global cities and has been called the most powerful, most desirable, most influential and most visited city.";
            d4.Img         = "london.jpg";

            airline.Lat          = 45.254410;
            airline.Lon          = 19.842550;
            airline.Name         = "Serbian air";
            airline.FastTickets  = new List <Ticket>();
            airline.Raters       = new List <Rater>();
            airline.Address      = "Belgrade, Serbia";
            airline.Description  = "Svi direktni letovi kompanije Air Serbia Beograd na jednom mestu. Ukoliko želite direktno da letite za Pariz, Amasterdam, Njujork, Tivat, Rim, Milano i druge evropske gradove Air Serbia je pravi izbor za vas!";
            airline.Destinations = new List <Destination>();
            airline.Destinations.Add(d1);
            airline.Destinations.Add(d2);
            airline.Destinations.Add(d3);
            airline.Destinations.Add(d4);
            airline.Img    = "air-serbia.jpg";
            airline.Rating = 0;

            Flight flight = new Flight();

            /* flight.SoldTickets = new List<Ticket>();
             * flight.Extra = "Perfect your flight experience with full-flat seats, special food offers and other privileges.";
             * flight.Luggage = new Luggage() { Dimensions = "20x30", Quantity = 200, Weight = 122 };
             * flight.Rate = 0;
             * flight.Raters = new List<Rater>();
             * flight.IdCompany = "Serbian air";
             * flight.Trip = Trip.One_way;
             * flight.Seats = new List<Seat>();
             * flight.From = d1;
             * flight.To = d2;
             * flight.DepartureDate = "10.29.1203";
             *
             * flight.NumOfPassengers = 300;
             * flight.Price = 300;
             * flight.Duration = "2";
             * flight.Stops = new List<Destination>();
             *
             *
             * Seat s1 = new Seat();
             * s1.Type = Classes.First;
             * s1.Traveller = new Traveller();
             * s1.Taken = true;
             * s1.IsSelected = false;
             *
             * Seat s2 = new Seat();
             * s2.Type = Classes.First;
             * s2.Traveller = new Traveller();
             * s2.Taken = false;
             * s2.IsSelected = false;
             *
             * Seat s3 = new Seat();
             * s3.Type = Classes.First;
             * s3.Traveller = new Traveller();
             * s3.Taken = false;
             * s3.IsSelected = false;
             *
             * Seat s4 = new Seat();
             * s4.Type = Classes.First;
             * s4.Traveller = new Traveller();
             * s4.Taken = false;
             * s4.IsSelected = false;
             *
             * Seat s5 = new Seat();
             * s5.Type = Classes.First;
             * s5.Traveller = new Traveller();
             * s5.Taken = true;
             * s5.IsSelected = false;
             *
             * Seat s6 = new Seat();
             * s6.Type = Classes.First;
             * s6.Traveller = new Traveller();
             * s6.Taken = false;
             * s6.IsSelected = false;
             *
             * Seat s7 = new Seat();
             * s7.Type = Classes.First;
             * s7.Traveller = new Traveller();
             * s7.Taken = false;
             * s7.IsSelected = false;
             *
             * Seat s8 = new Seat();
             * s8.Type = Classes.First;
             * s8.Traveller = new Traveller();
             * s8.Taken = false;
             * s8.IsSelected = false;
             *
             * Seat s9 = new Seat();
             * s9.Type = Classes.Business;
             * s9.Traveller = new Traveller();
             * s9.Taken = false;
             * s9.IsSelected = false;
             *
             * Seat s10 = new Seat();
             * s10.Type = Classes.Business;
             * s10.Traveller = new Traveller();
             * s10.Taken = false;
             * s10.IsSelected = false;
             *
             * Seat s11 = new Seat();
             * s11.Type = Classes.Business;
             * s11.Traveller = new Traveller();
             * s11.Taken = false;
             * s11.IsSelected = false;
             *
             * Seat s12 = new Seat();
             * s12.Type = Classes.Business;
             * s12.Traveller = new Traveller();
             * s12.Taken = true;
             * s12.IsSelected = false;
             *
             * Seat s13 = new Seat();
             * s13.Type = Classes.Economy;
             * s13.Traveller = new Traveller();
             * s13.Taken = true;
             * s13.IsSelected = false;
             *
             * Seat s14 = new Seat();
             * s14.Type = Classes.Economy;
             * s14.Traveller = new Traveller();
             * s14.Taken = true;
             * s14.IsSelected = false;
             *
             * Seat s15 = new Seat();
             * s15.Type = Classes.Economy;
             * s15.Traveller = new Traveller();
             * s15.Taken = true;
             * s15.IsSelected = false;
             *
             * Seat s16 = new Seat();
             * s16.Type = Classes.Economy;
             * s16.Traveller = new Traveller();
             * s16.Taken = true;
             * s16.IsSelected = false;
             *
             *
             * flight.Seats.Add(s1);
             * flight.Seats.Add(s2);
             * flight.Seats.Add(s3);
             * flight.Seats.Add(s4);
             * flight.Seats.Add(s5);
             * flight.Seats.Add(s6);
             * flight.Seats.Add(s7);
             * flight.Seats.Add(s8);
             * flight.Seats.Add(s9);
             * flight.Seats.Add(s10);
             * flight.Seats.Add(s11);
             * flight.Seats.Add(s12);
             * flight.Seats.Add(s13);
             * flight.Seats.Add(s14);
             * flight.Seats.Add(s15);
             * flight.Seats.Add(s16);
             */
            airline.Flights = new List <Flight>();
            //airline.Flights.Add(flight);

            con.AirlineCompanies.Add(airline);



            con.SaveChanges();
        }