Exemplo n.º 1
0
        public async Task RemoveDayThatIsRented(DateTime ID)
        {
            var dayThatIsRented = new DayThatIsRented {
                Date = ID
            };

            Attach(dayThatIsRented);
            Remove(dayThatIsRented);
            await SaveChangesAsync();
        }
Exemplo n.º 2
0
        public async Task UpdateDayThatIsRented(DayThatIsRented dayThatIsRented)
        {
            var result = await DaysThatIsRented.SingleOrDefaultAsync(b => b.Date == dayThatIsRented.Date);

            if (result == default(DayThatIsRented))
            {
                return;
            }
            result = dayThatIsRented;
            await SaveChangesAsync();
        }
Exemplo n.º 3
0
        public void Setup()
        {
            // model
            _carEquipment      = new CarEquipment();
            _carProfile        = new CarProfile();
            _dayThatIsRented   = new DayThatIsRented();
            _possibleToRentDay = new PossibleToRentDay();
            _message           = new Message();
            _messagesWithUsers = new MessagesWithUsers();
            _user = new User();

            //security
            _carAgeValidator        = new CarAgeValidator();
            _emailValidator         = new EmailValidator();
            _licensePlateValidator  = new LicensePlateValidator();
            _nameValidator          = new NameValidator();
            _passwordMatchValidator = new PasswordMatchValidator();
            _passwordValidator      = new PasswordValidator();
            _priceValidator         = new PriceValidator();
        }
Exemplo n.º 4
0
        public static void SeedDatabase()
        {
            using (var db = new AppDbContext())
            {
                var udlejerBesked = new CarOwnerMessage()
                {
                    HaveBeenRejected = false,
                    HaveBeenSeen     = true,
                    Commentary       = "Det kan du godt, skriv på min Email",
                    RentedFromTo     = "2019;8,6;2019;8;10"
                };

                var lejerBesked = new CarRenterMessage()
                {
                    ContactInfo  = "40091812",
                    HaveBeenSeen = false,
                    Commentary   = "Må jeg leje din Toyota",
                    RentedFromTo = "2019;8,6;2019;8;10"
                };

                var lejer = new CarRenter()
                {
                    ContactInfo          = "48781920",
                    Name                 = "Kasten",
                    DrivingLicenceNumber = "12938171",
                    Cars                 = new List <Car>(),
                    CarRenterMessages    = new List <CarRenterMessage>(),
                };

                var udlejer = new CarOwner
                {
                    KontactInfo           = "*****@*****.**",
                    Name                  = "Svend Jokumsen",
                    DrivingLicenceNumber  = "2",
                    CarRegistrationNumber = "53210",
                    Cars                  = new List <Car>(),
                    CarOwnerMessages      = new List <CarOwnerMessage>(),
                };
                var bil = new Car
                {
                    LicenceplateNumber = "AB123421",
                    Picture            = "asgmsa72u23p0i9isadfj2u2n7efmj",
                    HaveTowbar         = false,
                    Condition          = "Havde en ridse til i foreste højre dør",
                    IsReserved         = false,
                    Weight             = 420,
                    Hight = 170,
                    Width = 230,
                    Type  = "Varevogn",
                    Area  = "Aarhus",
                    PossibleToRentDays = new List <PossibleToRentDay>(),
                    DaysThatIsRented   = new List <DayThatIsRented>(),
                };
                List <PossibleToRentDay> PossibleToRentDayer = new List <PossibleToRentDay>();
                for (int i = 0; i < 20; i++)
                {
                    var PossibleToRentDay = new PossibleToRentDay()
                    {
                        Date = new DateTime(2019, 4, 8 + i),
                        Car  = bil,
                    };
                    PossibleToRentDayer.Add(PossibleToRentDay);
                }
                List <DayThatIsRented> udlejetDage = new List <DayThatIsRented>();
                for (int i = 0; i < 5; i++)
                {
                    var udlejetDag = new DayThatIsRented()
                    {
                        Date      = new DateTime(2019, 4, 8 + i),
                        Car       = bil,
                        CarRenter = lejer,
                    };

                    udlejetDage.Add(udlejetDag);
                }

                udlejerBesked.Car      = bil;
                udlejerBesked.CarOwner = udlejer;

                lejerBesked.Car       = bil;
                lejerBesked.CarRenter = lejer;

                lejer.Cars.Add(bil);
                lejer.CarRenterMessages.Add(lejerBesked);

                udlejer.Cars.Add(bil);
                udlejer.CarOwnerMessages.Add(udlejerBesked);

                bil.CarOwner  = udlejer;
                bil.CarRenter = lejer;



                foreach (var VARIABLE in udlejetDage)
                {
                    bil.DaysThatIsRented.Add(VARIABLE);
                    //db.AddDayThatIsRented(VARIABLE);
                }
                foreach (var VARIABLE in PossibleToRentDayer)
                {
                    bil.PossibleToRentDays.Add(VARIABLE);
                    //db.AddPossibleToRentDay(VARIABLE);
                }

                //db.AddCarOwnerMessage(udlejerBesked);
                //db.AddCarRenterMessage(lejerBesked);
                //db.AddCarRenter(lejer);
                //db.AddCarOwner(udlejer);
                //db.AddCar(bil);
            }
        }
Exemplo n.º 5
0
        public static async Task SeedDatabase()
        {
            User lessor = new User()
            {
                Email                = "car@owner",
                FirstName            = "Owner",
                LastName             = "Owner",
                Password             = "******",
                Address              = "Here",
                UserType             = 2,
                AuthenticationString = Guid.Empty,
            };

            User renter = new User()
            {
                Email                = "car@renter",
                FirstName            = "Renter",
                LastName             = "Renter",
                Password             = "******",
                Address              = "There",
                UserType             = 1,
                AuthenticationString = Guid.Empty,
            };

            List <CarProfile>   ourCars  = new List <CarProfile>();
            List <CarEquipment> ourEquip = new List <CarEquipment>();

            for (int i = 1; i < 12; i++)
            {
                CarEquipment tempCarEquipment = new CarEquipment();
                CarProfile   tempCarProfile   = new CarProfile();
                bool         iseven;
                if (i / 2 == 0)
                {
                    iseven = true;
                }
                else
                {
                    iseven = false;
                }

                tempCarProfile.RegNr               = "8FJSM2" + Convert.ToString(i);
                tempCarProfile.Model               = "7";
                tempCarProfile.Brand               = $"BMW{i}";
                tempCarProfile.Age                 = 5 + i;
                tempCarProfile.Location            = "City" + i;
                tempCarProfile.Seats               = i;
                tempCarProfile.Price               = (i * 1000) + 50000;
                tempCarProfile.RentalPrice         = (i * 100) + 500;
                tempCarProfile.FuelType            = "92";
                tempCarProfile.CarDescription      = $"#{i}: The very best, like no one ever was";
                tempCarProfile.Owner               = lessor;
                tempCarProfile.User                = renter;
                tempCarProfile.OwnerEmail          = lessor.Email;
                tempCarProfile.UserEmail           = renter.Email;
                tempCarProfile.PossibleToRentDays  = new List <PossibleToRentDay>();
                tempCarProfile.MessagesCarOccursIn = new List <Message>();

                tempCarEquipment.Smoking     = iseven;
                tempCarEquipment.Audioplayer = iseven;
                tempCarEquipment.GPS         = iseven;
                tempCarEquipment.Childseat   = iseven;
                tempCarEquipment.CarProfile  = tempCarProfile;
                tempCarProfile.CarEquipment  = tempCarEquipment;

                ourCars.Add(tempCarProfile);
                ourEquip.Add(tempCarEquipment);
            }


            ourCars.ForEach(c =>
            {
                List <PossibleToRentDay> possibleToRentDay = new List <PossibleToRentDay>();
                for (int i = 0; i < ourCars.Count; i++)
                {
                    DateTime tempDateTime     = DateTime.Now + TimeSpan.FromDays(i);
                    PossibleToRentDay tempday = new PossibleToRentDay()
                    {
                        Date       = tempDateTime,
                        CarProfile = c
                    };
                    possibleToRentDay.Add(tempday);
                }

                List <DayThatIsRented> daysThatIs = new List <DayThatIsRented>();
                for (int i = 5; i < 10; i++)
                {
                    DateTime tempDateTime   = DateTime.Now + TimeSpan.FromDays(i + 4);
                    DayThatIsRented tempday = new DayThatIsRented
                    {
                        Date       = tempDateTime,
                        CarProfile = c,
                        Renter     = lessor
                    };
                    daysThatIs.Add(tempday);
                }
                c.PossibleToRentDays = possibleToRentDay;
                c.DaysThatIsRented   = daysThatIs;
                c.StartLeaseTime     = daysThatIs[0].Date;
                c.EndLeaseTime       = daysThatIs[4].Date;
            });



            Message ourMessage1 = new Message()
            {
                HaveBeenSeen       = true,
                ConfirmationStatus = 0,
                TheMessage         = "Can I rent your car please?",
                LessorEmail        = lessor.Email,
                RenterEmail        = renter.Email,
                SenderEmail        = renter.Email,
                ReceiverEmail      = lessor.Email,
                CreatedDate        = new DateTime(2019, 05, 2),
                MsgType            = 1,
                CarProfile         = ourCars[0],
                CarProfileRegNr    = ourCars[0].RegNr,
                MessagesWithUsers  = new List <MessagesWithUsers>()
            };

            Message ourMessage2 = new Message()
            {
                HaveBeenSeen       = true,
                ConfirmationStatus = 2,
                TheMessage         = "Yes you can!",
                LessorEmail        = lessor.Email,
                RenterEmail        = renter.Email,
                SenderEmail        = lessor.Email,
                ReceiverEmail      = renter.Email,
                CreatedDate        = new DateTime(2019, 05, 3),
                MsgType            = 0,
                CarProfile         = ourCars[1],
                CarProfileRegNr    = ourCars[1].RegNr,
                MessagesWithUsers  = new List <MessagesWithUsers>()
            };

            Message ourMessage3 = new Message()
            {
                HaveBeenSeen       = false,
                ConfirmationStatus = 1,
                TheMessage         = "Can I rent another car??",
                LessorEmail        = lessor.Email,
                RenterEmail        = renter.Email,
                SenderEmail        = renter.Email,
                ReceiverEmail      = lessor.Email,
                CreatedDate        = new DateTime(2019, 05, 4),
                MsgType            = 1,
                CarProfile         = ourCars[2],
                CarProfileRegNr    = ourCars[2].RegNr,
                MessagesWithUsers  = new List <MessagesWithUsers>()
            };


            using (var db = new AppDbContext())
            {
                await db.AddUser(renter);

                await db.AddUser(lessor);

                foreach (var car in ourCars)
                {
                    await db.AddCarProfile(car);
                }

                await db.AddMessage(ourMessage1);

                await db.AddMessage(ourMessage2);

                await db.AddMessage(ourMessage3);
            }
        }
Exemplo n.º 6
0
        public async Task AddDaysThatIsRented(DayThatIsRented dayThatIsRented)
        {
            await DaysThatIsRented.AddAsync(dayThatIsRented);

            await SaveChangesAsync();
        }
Exemplo n.º 7
0
        public void AddDayThatIsRented(DayThatIsRented dayThatIsRented, Car car, CarOwner carOwner)
        {
            bool isAlreadyInThere = false;

            using (var db = new AppDbContext())
            {
                foreach (var lokaleCarOwner in db.CarOwners)
                {
                    if (lokaleCarOwner.KontactInfo == carOwner.KontactInfo)
                    {
                        isAlreadyInThere    = true;
                        lokaleCarOwner.Name = carOwner.Name;
                        lokaleCarOwner.DrivingLicenceNumber  = carOwner.DrivingLicenceNumber;
                        lokaleCarOwner.CarRegistrationNumber = carOwner.CarRegistrationNumber;
                        lokaleCarOwner.Cars             = carOwner.Cars;
                        lokaleCarOwner.CarOwnerMessages = carOwner.CarOwnerMessages;
                        break;
                    }
                }

                if (!isAlreadyInThere)
                {
                    db.CarOwners.AddAsync(carOwner);
                }

                isAlreadyInThere = false;
                foreach (var lokaleCar in db.Cars)
                {
                    if (lokaleCar.LicenceplateNumber == car.LicenceplateNumber)
                    {
                        isAlreadyInThere             = true;
                        lokaleCar.Picture            = car.Picture;
                        lokaleCar.HaveTowbar         = car.HaveTowbar;
                        lokaleCar.Condition          = car.Condition;
                        lokaleCar.IsReserved         = car.IsReserved;
                        lokaleCar.Weight             = car.Weight;
                        lokaleCar.Hight              = car.Hight;
                        lokaleCar.Width              = car.Width;
                        lokaleCar.Type               = car.Type;
                        lokaleCar.Area               = car.Area;
                        lokaleCar.PossibleToRentDays = car.PossibleToRentDays;
                        lokaleCar.DaysThatIsRented   = car.DaysThatIsRented;
                        lokaleCar.CarRenter          = car.CarRenter;
                        lokaleCar.CarOwner           = car.CarOwner;
                        break;
                    }
                }

                if (!isAlreadyInThere)
                {
                    db.Cars.AddAsync(car);
                }

                isAlreadyInThere = false;
                foreach (var lokaleDayThatIsRented in db.DaysThatIsRented)
                {
                    if (lokaleDayThatIsRented.Date == dayThatIsRented.Date)
                    {
                        isAlreadyInThere = true;
                        lokaleDayThatIsRented.CarRenter = dayThatIsRented.CarRenter;
                        lokaleDayThatIsRented.Car       = dayThatIsRented.Car;
                        break;
                    }
                }

                if (!isAlreadyInThere)
                {
                    db.DaysThatIsRented.AddAsync(dayThatIsRented);
                }
            }
        }