Exemple #1
0
 public async Task <IActionResult> Edit(int id, [Bind("Id,VehicleTypId,VehicleTyp,RegNr,VehicleColor,VehicleModel,VehicleBrand,NumberOfWheels,ParkInDate,ParkOutDate")] ParkedVehicle parkedVehicle)
 {
     if (id != parkedVehicle.Id)
     {
         return(NotFound());
     }
     if (ModelState.IsValid)
     {
         try
         {
             _context.Update(parkedVehicle);
             await _context.SaveChangesAsync();
         }
         catch (DbUpdateConcurrencyException)
         {
             if (!ParkedVehicleExists(parkedVehicle.Id))
             {
                 return(NotFound());
             }
             else
             {
                 throw;
             }
         }
         return(RedirectToAction(nameof(Index)));
     }
     return(View(parkedVehicle));
 }
Exemple #2
0
        public async Task <IActionResult> Parkthis(int vehicleid)
        {
            var thisvehicle = await _context.Vehicles.Where(v => v.Id == vehicleid).FirstOrDefaultAsync();

            var           memberid        = thisvehicle.MemberId;
            ParkedVehicle InparkedVehicle = new ParkedVehicle
            {
                MemberId  = memberid,
                Member    = await _context.Members.Where(m => m.Id == memberid).FirstOrDefaultAsync(),
                VehicleId = vehicleid,
                Vehicle   = thisvehicle
            };

            if (parkhouse.Park(InparkedVehicle))
            {
                _context.Add(InparkedVehicle);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Details), new { id = InparkedVehicle.Id }));
            }
            else
            {
                var svar = new SingelViewModel
                {
                    ParkedVehicle = new ParkedViewModel
                    {
                        Vehicle = new Vehicle
                        {
                            RegNr = thisvehicle.RegNr
                        }
                    }
                };
                return(View("GarageFull", svar));
            }
        }
Exemple #3
0
        public async Task <IActionResult> Create([Bind("Id,VehicleTypId,VehicleTyp,RegNr,VehicleColor,VehicleModel,VehicleBrand,NumberOfWheels,ParkInDate,ParkOutDate,MemberId")] CreateSetViewModel parkedVehicle)
        //   public async Task<IActionResult> Create(CreateSetViewModel parkedVehicle)
        {
            var reg_bussey = await _context.ParkedVehicle.Where(v => v.Vehicle.RegNr == parkedVehicle.RegNr && v.ParkOutDate == null).ToListAsync();

            var svar = new SingelViewModel
            {
                ParkedVehicle = new ParkedViewModel
                {
                    Vehicle = new Vehicle
                    {
                        RegNr = parkedVehicle.RegNr
                    }
                }
            };

            if (reg_bussey.Count > 0)
            {
                // return RedirectToAction(nameof(Create));

                return(View("NotCreate", svar));
            }

            if (ModelState.IsValid)
            {
                await InitPlots();

                // if model does not exist.
                if (!(_context.Vehicles.Any(v => v.RegNr == parkedVehicle.RegNr)))
                {
                    var initVehicle = new Vehicle
                    {
                        VehicleTypId   = parkedVehicle.VehicleTypId,
                        RegNr          = parkedVehicle.RegNr,
                        VehicleColor   = parkedVehicle.VehicleColor,
                        VehicleModel   = parkedVehicle.VehicleModel,
                        VehicleBrand   = parkedVehicle.VehicleBrand,
                        NumberOfWheels = parkedVehicle.NumberOfWheels,
                        MemberId       = parkedVehicle.MemberId
                    };
                    _context.Vehicles.Add(initVehicle);
                    await _context.SaveChangesAsync();
                }

                parkedVehicle.VehicleTyp = await _context.VehicleTyp.Where(v => v.VehicleTypId == parkedVehicle.VehicleTypId).FirstOrDefaultAsync();

                ParkedVehicle InparkedVehicle = new ParkedVehicle
                {
                    MemberId  = parkedVehicle.MemberId,
                    Member    = await _context.Members.Where(m => m.Id == parkedVehicle.MemberId).FirstOrDefaultAsync(),
                    VehicleId = await _context.Vehicles.Where(m => m.RegNr == parkedVehicle.RegNr).Select(m => m.Id).FirstOrDefaultAsync(),
                    Vehicle   = await _context.Vehicles.Where(m => m.RegNr == parkedVehicle.RegNr).FirstOrDefaultAsync()
                };

                if (parkhouse.Park(InparkedVehicle))
                {
                    _context.Add(InparkedVehicle);
                    await _context.SaveChangesAsync();

                    return(RedirectToAction(nameof(Details), new { id = InparkedVehicle.Id }));
                }
                else
                {
                    return(View("GarageFull", svar));
                }
            }

            return(View(svar));
        }
Exemple #4
0
        public static void Initialize(IServiceProvider serviceProvider)
        {
            var options = serviceProvider.GetRequiredService <DbContextOptions <Garage_2_0_MPTContext> >();

            using (var context = new Garage_2_0_MPTContext(options))
            {
                if (context.Vehicles.Any())
                { // ändra till return efter första som funkar
                    context.Members.RemoveRange(context.Members);
                    context.Vehicles.RemoveRange(context.Vehicles);
                    context.ParkedVehicle.RemoveRange(context.ParkedVehicle);
                }
                // Let's seed!
                var members = new List <Member>();

                for (int i = 0; i < 5; i++)
                {
                    string name = Faker.NameFaker.Name();

                    var member = new Member
                    {
                        FirstName = Faker.NameFaker.FirstName()
                        ,
                        LastName = Faker.NameFaker.LastName()
                        ,
                        Street = Faker.LocationFaker.Street()
                        ,
                        ZipCode = Faker.LocationFaker.PostCode()
                        ,
                        City = Faker.LocationFaker.City()
                        ,
                        Email    = Faker.InternetFaker.Email(),
                        PassWord = new byte[] { 255, 0, 123 },
                    };
                    members.Add(member);
                }

                context.Members.AddRange(members);

                var Vehicles = new List <Vehicle>();
                foreach (var member in members)
                {
                    var Vehicle1 = new Vehicle
                    {
                        VehicleTypId = Faker.NumberFaker.Number(5) + 1
                        ,
                        RegNr = Faker.StringFaker.Randomize("ABC ") + Faker.NumberFaker.Number(999)
                        ,
                        VehicleColor = myColor()
                        ,
                        VehicleModel = "BM"
                        ,
                        VehicleBrand = myBrand()
                        ,
                        NumberOfWheels = (Faker.NumberFaker.Number(2) * 2) + 2
                        ,
                        MemberId = member.Id
                    };
                    Vehicles.Add(Vehicle1);
                    int i = 1;
                    while (i < Faker.NumberFaker.Number(5))
                    {
                        var Vehicle2 = new Vehicle
                        {
                            VehicleTypId = Faker.NumberFaker.Number(5) + 1
                            ,
                            RegNr = Faker.StringFaker.Randomize("CDE ") + Faker.NumberFaker.Number(999)
                            ,
                            VehicleColor = myColor()
                            ,
                            VehicleModel = "911"
                            ,
                            VehicleBrand = myBrand()
                            ,
                            NumberOfWheels = (Faker.NumberFaker.Number(2) * 2) + 2
                            ,
                            MemberId = member.Id
                        };
                        Vehicles.Add(Vehicle2);

                        i++;
                    }
                }
                context.Vehicles.AddRange(Vehicles);

                var ParkedVehicles = new List <ParkedVehicle>();
                foreach (var Vehicle in Vehicles)
                {
                    if (Faker.NumberFaker.Number(1) == 0)
                    {
                        var ParkedVehicle = new ParkedVehicle
                        {
                            ParkInDate = Faker.DateTimeFaker.DateTime(DateTime.Now.AddDays(-7), DateTime.Now)
                            ,
                            ParkOutDate = null
                            ,
                            Where = null
                            ,
                            Position = null
                            ,
                            MemberId = Vehicle.MemberId
                            ,
                            VehicleId = Vehicle.Id
                        };
                        if (Faker.NumberFaker.Number(3) == 0 && ParkedVehicle.ParkInDate < DateTime.Now.AddDays(-2))
                        {
                            ParkedVehicle.ParkOutDate = DateTime.Now.AddDays(-1);
                        }


                        ParkedVehicles.Add(ParkedVehicle);
                    }
                }
                context.ParkedVehicle.AddRange(ParkedVehicles);
                context.SaveChanges();
            }
        }