public IHttpActionResult PutVehicle_Type(int id, Vehicle_Type vehicle_Type)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != vehicle_Type.Vehicle_Type_ID)
            {
                return(BadRequest());
            }

            db.Entry(vehicle_Type).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!Vehicle_TypeExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Exemple #2
0
        public Vehicle()
        {
            random = new Random();
            Name   = string.Format("{0:0000}", random.Next(0000, 9999)); //generate randome name
            Array t = Enum.GetValues(typeof(Vehicle_Type));              //get all vehicle pre-defined types

            Type = (Vehicle_Type)t.GetValue(random.Next(0, t.Length));   //select type random
            Tank = random.Next(0, Type.GetHashCode() / 4);               //select ranodm fuel in tank i.e. 1/4 of capacity
        }
 /// <summary>
 /// Parameterized Constructor
 /// </summary>
 /// <param name="_plate">License Plate Number</param>
 /// <param name="_plateState">License Plate State</param>
 /// <param name="_permitNumber">Permit Number</param>
 /// <param name="_firstName">Owner's First Name</param>
 /// <param name="_lastName">Owner's Last name</param>
 /// <param name="_type">Vehicle Type from Vehicle Type enum</param>
 public Vehicle(string _plate, string _plateState, int _permitNumber,
                string _firstName, string _lastName, Vehicle_Type _type)
 {
     PlateNumber    = _plate;
     PlateState     = _plateState;
     PermitNumber   = _permitNumber;
     OwnerFirstName = _firstName;
     OwnerLastName  = _lastName;
     Type           = _type;
 }
        public IHttpActionResult GetVehicle_Type(int id)
        {
            Vehicle_Type vehicle_Type = db.Vehicle_Type.Find(id);

            if (vehicle_Type == null)
            {
                return(NotFound());
            }

            return(Ok(vehicle_Type));
        }
        public IHttpActionResult PostVehicle_Type(Vehicle_Type vehicle_Type)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.Vehicle_Type.Add(vehicle_Type);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = vehicle_Type.Vehicle_Type_ID }, vehicle_Type));
        }
        public IHttpActionResult DeleteVehicle_Type(int id)
        {
            Vehicle_Type vehicle_Type = db.Vehicle_Type.Find(id);

            if (vehicle_Type == null)
            {
                return(NotFound());
            }

            db.Vehicle_Type.Remove(vehicle_Type);
            db.SaveChanges();

            return(Ok(vehicle_Type));
        }
Exemple #7
0
        /// <summary>
        /// Metoden skapar önskat fordon
        /// </summary>
        /// <param name="enumVehicleType">Typ av fordon som skall skapas</param>
        /// <param name="strRegistrationNumber">Fordonets registreringsnummer</param>
        /// <param name="strColor">Fordonets färg. Om det inte finns någon färg komemr den defaulta färgen för fordonet väljas</param>
        /// <param name="iNumberOfWheels">Antal hjul</param>
        /// <param name="iNumberOfSeatedPassengers">Antal sittande passagerar</param>
        /// <returns>Nytt vehicle eller null</returns>
        /// <exception cref="System.ArgumentException">Undantaget kastas om det inte finns något registreringsnummer</exception>
        public ICanBeParkedInGarage CreateVehicle(Vehicle_Type enumVehicleType, string strRegistrationNumber, string strColor, int iNumberOfWheels, int iNumberOfSeatedPassengers)
        {
            if (String.IsNullOrWhiteSpace(strRegistrationNumber))
            {
                throw new ArgumentException("ArgumentException. VehicleFactory.ICanBeParkedInGarage(...). Man måste ange registreringsnummer");
            }

            ICanBeParkedInGarage vehicle = null;

            switch (enumVehicleType)
            {
            case Vehicle_Type.CAR:
                if (String.IsNullOrWhiteSpace(strColor))
                {
                    strColor = Car.DefaultColor;
                }

                vehicle = new Car(strRegistrationNumber.ToUpper(), strColor.ToUpper(), iNumberOfWheels, iNumberOfSeatedPassengers);
                break;

            case Vehicle_Type.BUS:
                if (String.IsNullOrWhiteSpace(strColor))
                {
                    strColor = Bus.DefaultColor;
                }

                vehicle = new Bus(strRegistrationNumber.ToUpper(), strColor.ToUpper(), iNumberOfWheels, iNumberOfSeatedPassengers);
                break;

            case Vehicle_Type.MOTORCYCLE:
                if (String.IsNullOrWhiteSpace(strColor))
                {
                    strColor = MotorCycle.DefaultColor;
                }

                vehicle = new MotorCycle(strRegistrationNumber.ToUpper(), strColor.ToUpper(), iNumberOfWheels, iNumberOfSeatedPassengers);
                break;
            }

            return(vehicle);
        }
        /// <summary>
        /// Metoden skapar ett nytt fordon av typ car, bus eller motocycle
        /// </summary>
        /// <param name="enumVehicleType">Enum som bestämmer vilket fordon vi skall skapa</param>
        /// <returns>MenuInputResult och ny vehicle. Vehicle kan vara null. Då gick det inte skapa fordonet eller har användaren valt att återgå till menyn</returns>
        private (MenuInputResult menuInputResult, ICanBeParkedInGarage newVehicle) CreateVehicle(Vehicle_Type enumVehicleType)
        {
            MenuInputResult      result         = MenuInputResult.NA;
            ICanBeParkedInGarage newVehicle     = null;
            IVehicleFactory      vehicleFactory = new VehicleFactory(this.RegistrationNumberRegister);

            string strRegistrationNumber = String.Empty;
            string strColor                  = String.Empty;
            int    iNumberOfWheels           = 0;
            int    iNumberOfSeatedPassengers = 0;

            // Hämta defaulta värden för fordonet som vi skall skapa
            var(strDefaultColor, iDefaultNumberOfWheels, iDefaultNumberOfSeatedPassengers) = vehicleFactory.GetDefaultVehicleData(enumVehicleType);

            // Hämta registreringsnumret från användaren
            var(tmpResult, strTmpRegistrationNumber) = GetRegistrationNumber();
            result = tmpResult;

            if (tmpResult == MenuInputResult.CONTINUE)
            {// Vi fortsätter och hämtar fordonets färg
                strRegistrationNumber = strTmpRegistrationNumber;

                // Hämta fordonets färg från användaren
                var(tmpResult1, strTmpColor) = GetColor(strDefaultColor);
                result = tmpResult1;

                if (tmpResult1 == MenuInputResult.CONTINUE)
                {
                    strColor = strTmpColor;

                    // Hämta antal hjul som finns på fordonet
                    var(tmpResult2, iTmpNumberOfWheels) = GetNumberOfWheels(iDefaultNumberOfWheels);
                    result = tmpResult2;

                    if (tmpResult2 == MenuInputResult.CONTINUE)
                    {
                        iNumberOfWheels = iTmpNumberOfWheels;

                        // Hämta antal sittande passagerare
                        var(tmpResult3, iTmpNumberOfSeatedPassengers) = GetNumberOfSeatedPassengers(iDefaultNumberOfSeatedPassengers);
                        result = tmpResult3;

                        if (tmpResult3 == MenuInputResult.CONTINUE)
                        {
                            iNumberOfSeatedPassengers = iTmpNumberOfSeatedPassengers;

                            newVehicle = vehicleFactory.CreateVehicle(enumVehicleType, strRegistrationNumber, strColor, iNumberOfWheels, iNumberOfSeatedPassengers);

                            if (newVehicle != null)
                            {
                                result = MenuInputResult.CREATE_VEHICLE_FAILED;
                            }
                            else
                            {
                                result = MenuInputResult.TO_GARAGE_MENU;
                            }
                        }
                    }
                }
            }

            return(result, newVehicle);
        }
Exemple #9
0
        /// <summary>
        /// Metoden hämtar default värden för vehicle
        /// </summary>
        /// <param name="enumVehicleType">type av fordon</param>
        /// <returns>default värde för färg, antal hjul och antal sittande passagerare</returns>
        public (string strColor, int iNumberOfWheels, int iNumberOfSeatedPassengers) GetDefaultVehicleData(Vehicle_Type enumVehicleType)
        {
            string strColor                  = String.Empty;
            int    iNumberOfWheels           = 0;
            int    iNumberOfSeatedPassengers = 0;

            switch (enumVehicleType)
            {
            case Vehicle_Type.BUS:
                strColor                  = Bus.DefaultColor;
                iNumberOfWheels           = Bus.DefaultNumberOfWheels;
                iNumberOfSeatedPassengers = Bus.DefaultNumberOfPassengers;
                break;

            case Vehicle_Type.CAR:
                strColor                  = Car.DefaultColor;
                iNumberOfWheels           = Car.DefaultNumberOfWheels;
                iNumberOfSeatedPassengers = Car.DefaultNumberOfPassengers;
                break;

            case Vehicle_Type.MOTORCYCLE:
                strColor                  = MotorCycle.DefaultColor;
                iNumberOfWheels           = MotorCycle.DefaultNumberOfWheels;
                iNumberOfSeatedPassengers = MotorCycle.DefaultNumberOfPassengers;
                break;
            }

            return(strColor : strColor, iNumberOfWheels : iNumberOfWheels, iNumberOfSeatedPassengers : iNumberOfSeatedPassengers);
        }