コード例 #1
0
        public ActionResult EditVehicle(int id)
        {
            IVehicleRepository repo = RepoFactory.CreateVehicleRepo();
            var vehicle             = repo.GetById(id);

            AdminEditVehicleViewModel model = new AdminEditVehicleViewModel()
            {
                ModelName = vehicle.Model,
                MakeName  = vehicle.Make,
                Vehicle   = new Vehicle()
                {
                    Color        = vehicle.Color,
                    Description  = vehicle.Description,
                    Interior     = vehicle.Interior,
                    Mileage      = vehicle.Mileage,
                    MSRP         = vehicle.MSRP,
                    SalePrice    = vehicle.SalePrice,
                    Style        = vehicle.Style,
                    Transmission = vehicle.Transmission,
                    VehicleId    = vehicle.VehicleId,
                    Type         = vehicle.Type,
                    Vin          = vehicle.Vin,
                    Year         = vehicle.Year
                }
            };

            return(View(model));
        }
コード例 #2
0
        public ActionResult Inventory()
        {
            IVehicleRepository repo = RepoFactory.CreateVehicleRepo();
            var model = repo.GetVehicleInventoryReport();

            return(View(model));
        }
コード例 #3
0
        public ActionResult AddVehicle(AddVehicleViewModel model)
        {
            if (model.Vehicle.Year > 2020 || model.Vehicle.Year < 1769)
            {
                ModelState.AddModelError("error", "No vehicles currently exist out side of the years 1769-2020");
                return(View(model));
            }
            if (model.Vehicle.ModelId == 0 || model.Vehicle.MakeId == 0)
            {
                ModelState.AddModelError("error", "Please provide a make and model");
                return(View(model));
            }
            if (ModelState.IsValid)
            {
                IVehicleRepository repo = RepoFactory.CreateVehicleRepo();
                var vehicle             = repo.Create(model.Vehicle);

                byte[]       imageByte = null;
                BinaryReader rdr       = new BinaryReader(model.Image.InputStream);
                imageByte = rdr.ReadBytes((int)model.Image.ContentLength);
                if (System.IO.File.Exists(@"C:\Cohort\Repos\isaiah-dahlberg-individual-work\GuildCars\GuildCars\GuildCars.UI\Images\Inventory-" + model.Vehicle.VehicleId + ".jpg"))
                {
                    System.IO.File.Delete(@"C:\Cohort\Repos\isaiah-dahlberg-individual-work\GuildCars\GuildCars\GuildCars.UI\Images\Inventory-" + model.Vehicle.VehicleId + ".jpg");
                }
                using (FileStream fs = new FileStream(@"C:\Cohort\Repos\isaiah-dahlberg-individual-work\GuildCars\GuildCars\GuildCars.UI\Images\Inventory-" + vehicle.VehicleId + ".jpg", FileMode.Create))
                {
                    fs.Write(imageByte, 0, imageByte.Length);
                }
                return(RedirectToAction("EditVehicle/" + vehicle.VehicleId));
            }
            return(View(model));
        }
コード例 #4
0
        public ActionResult Details(int id)
        {
            IVehicleRepository repo = RepoFactory.CreateVehicleRepo();
            var model = new VehicleImageViewModel();

            model.Vehicle  = repo.GetById(id);
            model.FilePath = Helpers.GetImageFilePath(id);

            return(View(model));
        }
コード例 #5
0
        public ActionResult Index()
        {
            ISpecialRepository special_repo = RepoFactory.CreateSpecialRepo();
            IVehicleRepository vehicle_repo = RepoFactory.CreateVehicleRepo();


            var indexView = new HomeIndexViewModel()
            {
                specials         = special_repo.GetAll().ToList(),
                featuredVehicles = vehicle_repo.GetAllFeatures()
            };

            foreach (var v in indexView.featuredVehicles.features)
            {
                v.VehicleImagePath = ImageFinder(v.VehicleId);
            }
            return(View(indexView));
        }
コード例 #6
0
        public ActionResult Purchase(int id)
        {
            if (id == 0)
            {
                return(RedirectToAction("Index"));
            }
            IVehicleRepository     repo  = RepoFactory.CreateVehicleRepo();
            SalesPurchaseViewModel model = new SalesPurchaseViewModel();

            model.Vehicle       = repo.GetById(id);
            model.ImageFilePath = HelpMethods.Helpers.GetImageFilePath(id);
            model.Sale          = new SaleInfo()
            {
                UserId       = System.Web.HttpContext.Current.User.Identity.GetUserId(),
                VehicleId    = model.Vehicle.VehicleId,
                PurchaseDate = DateTime.Today
            };
            return(View(model));
        }
コード例 #7
0
        public HttpResponseMessage SearchUsedVehicles(JObject searchInput)
        {
            JavaScriptSerializer jr   = new JavaScriptSerializer();
            IVehicleRepository   repo = RepoFactory.CreateVehicleRepo();
            var response = new HttpResponseMessage();

            try
            {
                SearchVehicleJsonModel searchData = jr.Deserialize <SearchVehicleJsonModel>(searchInput.ToString());
                var vehicles = repo.GetUsedVehiclesSorted(searchData.MakeModel, searchData.MinPrice, searchData.MaxPrice, searchData.MinYear, searchData.MaxYear);
                response.Content = new StringContent(jr.Serialize(vehicles));
                response.Content.Headers.ContentType = new MediaTypeHeaderValue("text/json");
            }
            catch (Exception)
            {
                response.StatusCode = (HttpStatusCode)400;
            }
            return(response);
        }
コード例 #8
0
        public ActionResult Purchase(SalesPurchaseViewModel model)
        {
            if (model.Sale.PurchasePrice < (model.Vehicle.SalePrice * 0.95M) || model.Sale.PurchasePrice > model.Vehicle.MSRP)
            {
                ModelState.AddModelError("error", "The purchase price can not be less than 5% of the sale price or greater than the MSRP");
            }
            if (ModelState.IsValid)
            {
                ISalesInfoRepository repo        = RepoFactory.CreateSaleInfoRepo();
                IVehicleRepository   vehicleRepo = RepoFactory.CreateVehicleRepo();
                repo.Create(model.Sale);
                vehicleRepo.ChangeToSold(model.Sale.VehicleId);
                return(RedirectToAction("Index"));
            }
            IVehicleRepository vrepo = RepoFactory.CreateVehicleRepo();

            model.Vehicle       = vrepo.GetById(model.Sale.VehicleId);
            model.ImageFilePath = HelpMethods.Helpers.GetImageFilePath(model.Sale.VehicleId);
            return(View(model));
        }