Esempio n. 1
0
        public ActionResult ShowOptions(int id)
        {
            var           carModel = CarModelFactory.GetCarModel(Repository.FindCar(id));
            List <string> options  = null;

            if (carModel != null)
            {
                IGenerateOptionsMacro macro = GenerateOptionsMacroFactory.CreateOptionsMacro(carModel);
                options = macro.GenerateOptions(carModel);
            }
            return(Json(options, JsonRequestBehavior.AllowGet));
        }
        public string RequestAQuote(string serviceType, string model)
        {
            double quotePrice = 0;
            string vehicleType = string.Empty;
            ClassifyModel objClassifyModel = new ClassifyModel();
            CarModelFactory objCarModelFactory = new CarModelFactory();

            try
            {
                // The below call to the Other company service will return the type of the car based on the model
                vehicleType = objClassifyModel.GetCarType(model);
                if ( vehicleType != string.Empty)
                {
                    CarModel objCarModel = objCarModelFactory.GetCarModel(vehicleType);
                    ServiceTypeFactory objServiceTypeFactory = new ServiceTypeFactory();
                    ServiceType objServiceType = objServiceTypeFactory.GetServiceType(serviceType);

                    // Followiing code will set the Listed price of the service for the respective model
                    objServiceType.getListedPrice(objCarModel);

                    // Following code will return the discounted price if applicable defined in the abstract service type class
                    quotePrice = objServiceType.getDiscountedPrice(objCarModel);

                }
                else
                {
                    new ServiceUnAvailableException();
                }

            }
            catch(Exception ex)
            {
                throw ex;
            }
            return "£" + string.Format("{0:N2}", quotePrice) ;
        }
Esempio n. 3
0
        //
        // GET: /Car/Details/5

        public ActionResult Details(int id)
        {
            var carModel = CarModelFactory.GetCarModel(Repository.FindCar(id));

            return(View("Details", carModel));
        }
Esempio n. 4
0
        //
        // GET: /Car/
        public ActionResult Index()
        {
            var model = CarModelFactory.GetCarModels(Repository.GetAllCars());

            return(View("Index", model));
        }
        public async Task <IEnumerable <CarViewModel> > GetCarsAsync()
        {
            var cars = await _carsRepository.GetAllAsync();

            return(CarModelFactory.CreateCarViewModels(cars));
        }
        public async Task <CarViewModel> CreateCarAsync(Car car)
        {
            var createdCar = await _carsRepository.AddAsync(car);

            return(CarModelFactory.CreateCarViewModel(createdCar));
        }