コード例 #1
0
        public IHttpActionResult DeleteVehicle(int id)
        {
            try
            {
                var repo = VehicleListingsFactory.GetRepository();

                var vehicle = repo.GetById(id);

                var savepath = HttpContext.Current.Server.MapPath("~/Images");
                var filePath = Path.Combine(savepath, vehicle.ImageFileName);

                if (File.Exists(filePath))
                {
                    File.Delete(filePath);
                }


                repo.Delete(id);

                return(Ok());
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
コード例 #2
0
        public ActionResult Details(int id)
        {
            var repo  = VehicleListingsFactory.GetRepository();
            var model = repo.GetDetails(id);

            return(View(model));
        }
コード例 #3
0
ファイル: AdminController.cs プロジェクト: Hershy125/Projects
        public ActionResult AddVehicle(AddEditListingVM model)
        {
            var repo = VehicleListingsFactory.GetRepository();

            if (ModelState.IsValid)
            {
                try
                {
                    var savepath = Server.MapPath("~/Images");

                    if (model.ImageUpload != null && model.ImageUpload.ContentLength > 0)
                    {
                        string fileName = Path.GetFileName(model.ImageUpload.FileName);
                        var    filePath = Path.Combine(savepath, fileName);

                        repo.Insert(model.Listing);

                        var extension = Path.GetExtension(filePath);
                        var vehicle   = repo.GetById(model.Listing.VehicleListingId);
                        vehicle.ImageFileName = "inventory-" + vehicle.VehicleListingId + extension;

                        var newFilePath = Path.Combine(savepath, vehicle.ImageFileName);

                        if (new FileInfo(newFilePath).Exists)
                        {
                            new FileInfo(newFilePath).Delete();
                        }

                        model.ImageUpload.SaveAs(newFilePath);

                        repo.Update(vehicle);
                    }

                    return(RedirectToAction("EditVehicle", new { id = model.Listing.VehicleListingId }));
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
            else
            {
                var makesRepo = VehicleMakesFactory.GetRepository();
                var typesRepo = VehicleTypesFactory.GetRepository();
                var bodyRepo  = BodyStylesFactory.GetRepository();
                var transRepo = TransmissionTypesFactory.GetRepository();
                var colorRepo = ColorsFactory.GetRepository();

                model.VehicleMakes      = makesRepo.GetVehicleMakes();
                model.VehicleTypes      = typesRepo.GetAll();
                model.BodyStyles        = bodyRepo.GetAll();
                model.TransmissionTypes = transRepo.GetAll();
                model.Colors            = colorRepo.GetAll();

                return(View("AddVehicle", model));
            }
        }
コード例 #4
0
ファイル: SalesController.cs プロジェクト: Hershy125/Projects
        public ActionResult Purchase(PurchaseVM model)
        {
            var listingRepo  = VehicleListingsFactory.GetRepository();
            var purchaseRepo = PurchasesFactory.GetRepository();
            var customerRepo = CustomersFactory.GetRepository();

            if (ModelState.IsValid)
            {
                try
                {
                    var customer = customerRepo.GetByEmail(model.Buyer.Email);

                    if (customer == null)
                    {
                        customerRepo.Insert(model.Buyer);
                        var customerId = customerRepo.GetByEmail(model.Buyer.Email).CustomerId;

                        model.NewPurchase.CustomerId = customerId;
                    }
                    else
                    {
                        model.NewPurchase.CustomerId = customer.CustomerId;
                    }


                    var vehicle = listingRepo.GetById(model.VehicleDetails.VehicleListingId);
                    vehicle.Sold = true;

                    listingRepo.Update(vehicle);

                    model.NewPurchase.VehicleListingId = model.VehicleDetails.VehicleListingId;

                    var userId = User.Identity.GetUserId();


                    model.NewPurchase.UserId = userId;

                    purchaseRepo.Insert(model.NewPurchase);

                    return(RedirectToAction("Index"));
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
            else
            {
                var purchaseTypeRepo = PurchaseTypesFactory.GetRepository();

                model.PurchaseTypes  = purchaseTypeRepo.GetAll();
                model.VehicleDetails = listingRepo.GetDetails(model.VehicleDetails.VehicleListingId);

                return(View("Purchase", model));
            }
        }
コード例 #5
0
ファイル: AdminController.cs プロジェクト: Hershy125/Projects
        public ActionResult EditVehicle(AddEditListingVM model)
        {
            var repo = VehicleListingsFactory.GetRepository();

            if (ModelState.IsValid)
            {
                try
                {
                    if (model.ImageUpload != null && model.ImageUpload.ContentLength > 0)
                    {
                        var savepath = Server.MapPath("~/Images");

                        string fileName      = Path.GetFileName(model.ImageUpload.FileName);
                        string fileExtension = Path.GetExtension(model.ImageUpload.FileName);

                        fileName = "inventory-" + model.Listing.VehicleListingId + fileExtension;

                        var filePath = Path.Combine(savepath, fileName);

                        model.ImageUpload.SaveAs(filePath);

                        model.Listing.ImageFileName = fileName;
                    }

                    repo.Update(model.Listing);

                    return(RedirectToAction("Vehicles"));
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
            else
            {
                var makesRepo  = VehicleMakesFactory.GetRepository();
                var modelsRepo = VehicleModelsFactory.GetRepository();
                var typesRepo  = VehicleTypesFactory.GetRepository();
                var bodyRepo   = BodyStylesFactory.GetRepository();
                var transRepo  = TransmissionTypesFactory.GetRepository();
                var colorRepo  = ColorsFactory.GetRepository();

                model.VehicleMakes      = makesRepo.GetVehicleMakes();
                model.VehicleModels     = modelsRepo.GetVehicleModels();
                model.VehicleTypes      = typesRepo.GetAll();
                model.BodyStyles        = bodyRepo.GetAll();
                model.TransmissionTypes = transRepo.GetAll();
                model.Colors            = colorRepo.GetAll();


                return(View("EditVehicle", model));
            }
        }
コード例 #6
0
        public ActionResult Index()
        {
            FeaturedandSpecialsVM model = new FeaturedandSpecialsVM();

            var specials = SpecialsFactory.GetRepository().GetAll();

            var featuredVehicles = VehicleListingsFactory.GetRepository().GetFeatured();

            model.FeaturedVehicles = featuredVehicles;
            model.Specials         = specials;

            return(View(model));
        }
コード例 #7
0
ファイル: SalesController.cs プロジェクト: Hershy125/Projects
        public ActionResult Purchase(int id)
        {
            var listingRepo      = VehicleListingsFactory.GetRepository();
            var purchaseTypeRepo = PurchaseTypesFactory.GetRepository();

            PurchaseVM model = new PurchaseVM()
            {
                VehicleDetails = listingRepo.GetDetails(id),
                NewPurchase    = new Purchase(),
                Buyer          = new Customer(),
                PurchaseTypes  = purchaseTypeRepo.GetAll()
            };

            return(View(model));
        }
コード例 #8
0
        public ActionResult Contact(int?id)
        {
            ContactRequestVM model = new ContactRequestVM()
            {
                NewRequest = new ContactRequest()
            };

            if (id != null)
            {
                var vehicle = VehicleListingsFactory.GetRepository().GetById((int)id);

                model.NewRequest.Message = vehicle.VIN;
            }

            return(View(model));
        }
コード例 #9
0
ファイル: AdminController.cs プロジェクト: Hershy125/Projects
        public ActionResult EditVehicle(int id)
        {
            var listingRepo = VehicleListingsFactory.GetRepository();
            var makesRepo   = VehicleMakesFactory.GetRepository();
            var modelsRepo  = VehicleModelsFactory.GetRepository();
            var typesRepo   = VehicleTypesFactory.GetRepository();
            var bodyRepo    = BodyStylesFactory.GetRepository();
            var transRepo   = TransmissionTypesFactory.GetRepository();
            var colorRepo   = ColorsFactory.GetRepository();

            AddEditListingVM model = new AddEditListingVM()
            {
                Listing           = listingRepo.GetById(id),
                VehicleMakes      = makesRepo.GetVehicleMakes(),
                VehicleModels     = modelsRepo.GetVehicleModels(),
                VehicleTypes      = typesRepo.GetAll(),
                BodyStyles        = bodyRepo.GetAll(),
                TransmissionTypes = transRepo.GetAll(),
                Colors            = colorRepo.GetAll()
            };

            return(View(model));
        }
コード例 #10
0
        public IHttpActionResult SalesSearch(string searchTerm, decimal?minMSRP, decimal?maxMSRP, int?minYear, int?maxYear, int?vehicleTypeId)
        {
            var repo = VehicleListingsFactory.GetRepository();

            try
            {
                var parameters = new ListingSearchParameters()
                {
                    SearchTerm    = searchTerm,
                    MinMSRP       = minMSRP,
                    MaxMSRP       = maxMSRP,
                    MinYear       = minYear,
                    MaxYear       = maxYear,
                    VehicleTypeId = vehicleTypeId
                };

                var result = repo.GetSearchResults(parameters);
                return(Ok(result));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }