public string GetAllCars()
        {
            parking.AddCar(new Car(1, CarType.Bus, 13));
            parking.AddCar(new Car(1, CarType.Bus, 13));
            parking.AddCar(new Car(2, CarType.Bus, 14));//just for testing

            var s = JsonConvert.SerializeObject(parking.Cars);

            return(s);
        }
        public void AddCar_SameLicensePlate_ReturnsFalse()
        {
            var parking = new Parking();
            var car1    = new Car("TEST");
            var car2    = new Car("TEST");

            parking.AddCar(car1.LicensePlate);
            var result = parking.AddCar(car2.LicensePlate);

            Assert.False(result);
        }
 static Program()
 {
     parking = new Parking();
     parking.AddCar(new Car()
     {
         Identifier = "A", Balance = 800, CarType = CarType.Motorcycle
     });
 }
        public void AddCar_OneCarWithEnoughSpace_ReturnsTrue()
        {
            var parking = new Parking();
            var car     = new Car("TEST");

            var result = parking.AddCar(car.LicensePlate);

            Assert.True(result);
        }
        public async Task <string> PostCar(string category, int cash)
        {
            var strData = await Task.Run(() =>
            {
                parking.AddCar(category, cash);
                return(JsonConvert.SerializeObject(parking.AllCar));
            });

            return(strData);
        }
Exemple #6
0
        public IActionResult Post([FromBody] Car car)
        {
            if (car == null)
            {
                return(NotFound());
            }

            _db.AddCar(car);
            return(Ok());
        }
        public void FreeSpot_OneExistingCar_ReturnsTrue()
        {
            var parking = new Parking();
            var car     = new Car("TEST");

            parking.AddCar(car.LicensePlate);

            var result = parking.FreeSpot(car.LicensePlate);

            Assert.True(result);
        }
        public void AddCar_NoFreeSpots_ReturnsFalse()
        {
            var parking = new Parking();

            Parking.ParkingSpots = 0;
            var car = new Car("TEST");

            var result = parking.AddCar(car.LicensePlate);

            Assert.False(result);
        }
Exemple #9
0
        public async Task Add(Car car)
        {
            var newId = 1;

            if (_parking.Cars.Count > 0)
            {
                newId = _parking.Cars.Max((x) => x.Id) + 1;
            }

            car.Id = newId;
            await Task.Run(() => _parking.AddCar(car));
        }
Exemple #10
0
        public void AddCarTest()
        {
            Parking parking = new Parking();
            Car     car     = parking.AddCar("mmmm", new User()
            {
                Username = "******"
            }, new DateTime(2018, 2, 23));

            Assert.NotNull(car.StateNumber);
            Assert.NotNull(car.Owner);
            Assert.Contains(car, parking.Cars);
        }
Exemple #11
0
        public void AddNewCar()
        {
            CarType carType = CarType.Passenger;

            WriteLine($"1 - {CarType.Passenger.ToString()}; 2 - {CarType.Truck.ToString()}; 3 - {CarType.Bus.ToString()}; 4 - {CarType.Motorcycle.ToString()}");
            Write("Enter car type: ");
            var type = int.Parse(ReadLine());

            switch (type)
            {
            case 1:
                carType = CarType.Passenger;
                break;

            case 2:
                carType = CarType.Truck;
                break;

            case 3:
                carType = CarType.Bus;
                break;

            case 4:
                carType = CarType.Motorcycle;
                break;

            default:
                throw new WrongSwitchItemException("Wrong car type!");
            }
            Write("Enter start balance: ");
            var startBalance = decimal.Parse(ReadLine());

            if (startBalance <= 0)
            {
                throw new FormatException();
            }
            try
            {
                _parking.AddCar(new Car(startBalance, carType));
                WriteLineSuccess("Success!");
                WriteLine("\nPlease enter any key to continue...");
                ReadKey();
                Navigation.SelectedCars();
            }
            catch (NotEnoughParkingSpaceException ex)
            {
                WriteLineError("Error: " + ex.Message);
                WriteLine("\nPlease enter any key to continue...");
                ReadKey();
                Navigation.SelectedCars();
            }
        }
Exemple #12
0
    public static void Main()
    {
        var car  = new Car("Skoda", "Fabia", 65, "CC1856BG");
        var car2 = new Car("Audi", "A3", 110, "EB8787MN");

        Console.WriteLine(car.ToString());

        var parking = new Parking();

        parking.Capacity = 5;
        parking.AddCar(car);

        parking.AddCar(car);

        parking.AddCar(car2);

        parking.GetCar("EB8787MN");

        parking.RemoveCar("EB8787MN");

        parking.Count();
    }
Exemple #13
0
 static Db()
 {
     parking.AddCar(new Car(1000));
     parking.AddCar(new Car(2000));
     parking.AddCar(new Car(3000));
     parking.AddCar(new Car(4000));
     parking.AddCar(new Car(1000));
     parking.AddCar(new Car(1000));
     parking.PeriodicPayAsync(TimeSpan.FromTicks(parking._settings.Timeout));
     parking.PeriodicLogAsync(TimeSpan.FromTicks(parking._settings.Timeout * 1000));
 }
        public int AddNewCar(CarDTO carDTO)
        {
            if (carDTO == null)
            {
                throw new NullReferenceException("No data!");
            }

            if (carDTO.Balance <= 0)
            {
                throw new ArgumentException("Balance must be more than 0!");
            }

            if (carDTO.Type < 0 || (int)carDTO.Type > 3)
            {
                throw new ArgumentException("Wrong car type!");
            }

            return(parkingInstance.AddCar(new Car(carDTO.Balance, carDTO.Type)));
        }
Exemple #15
0
        public Parking Depart(Car car)
        {
            if (car == null)
            {
                throw new ArgumentNullException();
            }
            DateTime departure = DateTime.Now;
            Parking  parking   = new Parking();

            using (ParkingDBContext context = factory.CreateDbContext())
            {
                CarEntity carEntity = context.Cars.Single(ca => ca.StateNumber == car.StateNumber);
                var       history   = context.ParkingHistory.Where(ph => ph.IdCar == carEntity.IdCar).Last();

                ParkingEntity parkingEntity = context.Parkings.Single(pa => pa.IdParking == history.IdParking);
                var           carEntities   = context.ParkingHistory.Include(ph => ph.Car).Where(ph => ph.IdParking == parkingEntity.IdParking && ph.Departure == null).Select(ph => ph.Car).ToList();
                parking.ParkingName = parkingEntity.Name;
                parking.Latitude    = parkingEntity.Latitude;
                parking.Longitude   = parkingEntity.Longitude;
                foreach (var carEnt in carEntities)
                {
                    User            user       = new User();
                    ApplicationUser userEntity = context.Users.Single(us => us.UsersHaveCars.Any(uhc => uhc.IdCar == carEnt.IdCar));
                    user.Username  = userEntity.UserName;
                    user.FirstName = userEntity.FirstName;
                    user.LastName  = userEntity.Lastname;
                    user.UserPhoto = userEntity.UserPhoto;
                    Car carInParking = new Car();
                    carInParking.StateNumber  = carEnt.StateNumber;
                    carInParking.Id           = carEnt.IdCar;
                    carInParking.Manufacturer = carEnt.Manufacturer;
                    carInParking.Color        = carEnt.Color;
                    carInParking.Model        = carEnt.Model;
                    carInParking.Year         = carEnt.Year;
                    carInParking.Owner        = user;
                    ParkingHistoryEntity parkingHistoryIn = context.ParkingHistory.Last(phe => phe.IdCar == carEnt.IdCar);
                    parking.AddCar(carInParking.StateNumber, carInParking.Owner, parkingHistoryIn.Arrival);
                }
                history.Departure = departure;
                context.SaveChanges();
                return(parking);
            }
        }
Exemple #16
0
        public IActionResult Post([FromBody] Car car)
        {
            if (car == null)
            {
                return(BadRequest());
            }

            try
            {
                parking.AddCar(car);
            }
            catch (ParkingIsFullException ex)
            {
                return(BadRequest(ex.Message));
            }
            catch (DuplicateCarIdException ex)
            {
                return(BadRequest(ex.Message));
            }
            return(Ok());
        }
Exemple #17
0
        public IActionResult Post([FromBody] Car car)
        {
            if (car == null)
            {
                return(BadRequest());
            }

            if (car.Id.Length == 6 &&
                car.Id[0] >= 65 && car.Id[0] < 90 &&
                car.Id[1] >= 65 && car.Id[1] < 90 &&
                car.Id[2] < 57 && car.Id[2] >= 48 &&
                car.Id[3] < 57 && car.Id[3] >= 48 &&
                car.Id[4] < 57 && car.Id[4] >= 48 &&
                car.Id[5] < 57 && car.Id[5] >= 48 &&
                car.CarType >= 0 && (int)car.CarType < 4 &&
                car.Balance >= 0
                )
            {
                _db.AddCar(car);
            }
            return(Ok());
        }
Exemple #18
0
        public Parking Arrive(Car car, Parking parking, string username)
        {
            if (car == null)
            {
                throw new ArgumentNullException();
            }
            if (parking == null)
            {
                throw new ArgumentNullException();
            }

            DateTime arrival = DateTime.Now;

            using (ParkingDBContext context = factory.CreateDbContext())
            {
                ApplicationUser userEntity = context.Users.Single(us => us.UserName == username);
                User            user       = new User();
                user.Username  = userEntity.UserName;
                user.FirstName = userEntity.FirstName;
                user.Email     = userEntity.Email;
                user.LastName  = userEntity.Lastname;
                user.Password  = userEntity.PasswordHash;
                user.UserPhoto = userEntity.UserPhoto;
                CarEntity            carEntity     = context.Cars.Single(ca => ca.StateNumber == car.StateNumber);
                ParkingEntity        parkingEntity = context.Parkings.Single(park => park.Name == parking.ParkingName);
                ParkingHistoryEntity historyEntity = new ParkingHistoryEntity();
                historyEntity.IdCar     = carEntity.IdCar;
                historyEntity.IdUser    = userEntity.Id;
                historyEntity.IdParking = parkingEntity.IdParking;
                historyEntity.Arrival   = arrival;
                context.ParkingHistory.Add(historyEntity);
                context.SaveChanges();
                parking.AddCar(car.StateNumber, user, arrival);
                return(parking);
            }
        }
        public void AddCar(CarBuilder value)
        {
            CarType type = (CarType)Enum.ToObject(typeof(CarType), value.Type);

            parking.AddCar(type, value.Balance);
        }
        public string AddNewCar([FromBody] CarDTO carDTO)
        {
            Car car = new Car(carDTO.Balance, carDTO.Type);

            return(_parking.AddCar(car));
        }