コード例 #1
0
        public ResponseMessage AddVehicles(VehicleDto vehicleModel)
        {
            try
            {
                //Business logic to verify track overload status
                bool checkTrackOverload = _vehicleRepository.FindAll().Count() >= allowedVehicleOnTrack ? true : false;

                //Business logic to check vehicle inspection status
                if (!VehicleInspection(vehicleModel))
                {
                    return(ResponseMessage.InspectionFail);
                }

                Vehicle vehicle = new Vehicle();
                vehicle.Id    = Guid.NewGuid();
                vehicle.Name  = vehicleModel.Name;
                vehicle.Type  = vehicleModel.Type;
                vehicle.isTow = vehicleModel.isTow;
                vehicle.Lift  = vehicleModel.Lift;
                vehicle.Tire  = vehicleModel.Tire;
                vehicle.Image = vehicleModel.Image;

                //Business logic for show track overload when track is full
                if (checkTrackOverload)
                {
                    return(ResponseMessage.Overloaded);
                }
                //Business logic to save vehicle data in database
                _vehicleRepository.Add(vehicle);
                _vehicleRepository.Database.SaveChanges();
                return(ResponseMessage.Inserted);
            }
            catch (Exception)
            {
                return(ResponseMessage.None);
            }
        }