Beispiel #1
0
        public ActionResult Purchase(PurchaseAddViewModel vm)
        {
            var adminManager = AdminManagerFactory.GetManager();
            var vehicleRepo  = VehicleRepositoryFactory.GetRepository();

            vm.VehicleDetail = vehicleRepo.GetDetailById(vm.VehicleDetail.VehicleId);

            if (ModelState.IsValid)
            {
                vm.Sale.UserId = User.Identity.GetUserId();
                adminManager.Purchase(vm.VehicleDetail, vm.Sale, vm.Customer);

                return(RedirectToAction("Index"));
            }
            else
            {
                var stateRepo = StateRepositoryFactory.GetRepository();
                vehicleRepo = VehicleRepositoryFactory.GetRepository();

                vm.States        = new SelectList(stateRepo.GetAll(), "StateId", "Name");
                vm.VehicleDetail = vehicleRepo.GetDetailById(vm.VehicleDetail.VehicleId);

                return(View(vm));
            }
        }
Beispiel #2
0
        public ActionResult Purchase(PurchaseView model, int id)
        {
            if (ModelState.IsValid)
            {
                var repo = VehicleRepositoryFactory.GetRepository();

                try
                {
                    model.purchaser.UserID = User.Identity.GetUserId();
                    //AuthorizeUtilities.GetUserId(this);
                    repo.Purchase(model.purchaser, id);
                }
                catch (Exception ex)
                {
                    throw ex;
                }

                return(View("Index"));
            }
            else
            {
                var repo = VehicleRepositoryFactory.GetRepository();
                model.vehicle = repo.GetDetails(id);
                return(View(model));
            }
        }
        // GET: Vehicles
        public ActionResult Details(int id)
        {
            var repo  = VehicleRepositoryFactory.GetRepository();
            var model = repo.GetDetails(id);

            return(View(model));
        }
Beispiel #4
0
        public ActionResult EditVehicle(int id)
        {
            var model = new VehicleEditVM();

            var makeRepo          = MakeRepositoryFactory.GetRepository();
            var modelRepo         = ModelRepositoryFactory.GetRepository();
            var bodyStyleRepo     = BodyStyleRepositoryFactory.GetRepository();
            var transRepo         = TransmissionRepositoryFactory.GetRepository();
            var bodyColorRepo     = BodyColorRepositoryFactory.GetRepository();
            var interiorColorRepo = InteriorColorRepositoryFactory.GetRepository();
            var vehicleRepo       = VehicleRepositoryFactory.GetRepository();

            model.Vehicle = vehicleRepo.GetbyId(id);

            model.Make          = new SelectList(makeRepo.GetAll(), "MakeID", "MakeName");
            model.Model         = new SelectList(modelRepo.GetAll(), "ModelID", "ModelName");
            model.BodyStyle     = new SelectList(bodyStyleRepo.GetAll(), "BodyStyleID", "BodyDescription");
            model.Transmission  = new SelectList(transRepo.GetAll(), "TransmissionID", "Gears");
            model.BodyColor     = new SelectList(bodyColorRepo.GetAll(), "BodyColorID", "BodyColorName");
            model.InteriorColor = new SelectList(interiorColorRepo.GetAll(), "InteriorColorID", "InteriorColorName");

            var yearList = vehicleRepo.CreateSearchYears();

            model.Years = yearList.ConvertAll(a =>
            {
                return(new SelectListItem()
                {
                    Text = a.ToString(),
                    Value = a.ToString(),
                    Selected = false
                });
            });

            return(View(model));
        }
Beispiel #5
0
        public IHttpActionResult Search(int?condition, decimal?minPrice, decimal?maxPrice,
                                        int?minYear, int?maxYear, bool isAspNetUser, string searchTerm)
        {
            var repo = VehicleRepositoryFactory.GetRepository();

            try
            {
                var parameters = new VehicleSearchParameters()
                {
                    Condition    = condition,
                    MinPrice     = minPrice,
                    MaxPrice     = maxPrice,
                    MinYear      = minYear,
                    MaxYear      = maxYear,
                    IsAspNetUser = isAspNetUser,
                    SearchTerm   = searchTerm
                };

                var result = repo.Search(parameters);
                return(Ok(result));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
Beispiel #6
0
        public ActionResult Index()
        {
            List <FeaturedSpecialsViewModel> viewmodels = new List <FeaturedSpecialsViewModel>();

            var specials = SalesSpecialsRepositoryFactory.GetRepository().GetAllSpecials().ToList();
            var featured = VehicleRepositoryFactory.GetRepository().GetFeatured().ToList();

            foreach (var special in specials)
            {
                FeaturedSpecialsViewModel vm = new FeaturedSpecialsViewModel();

                vm.SpecialID          = special.SpecialID;
                vm.SpecialName        = special.SpecialName;
                vm.SpecialDescription = special.SpecialDescription;

                viewmodels.Add(vm);
            }

            foreach (var vehicle in featured)
            {
                FeaturedSpecialsViewModel vm = new FeaturedSpecialsViewModel();

                vm.VehicleID     = vehicle.VehicleID;
                vm.ImageFileName = vehicle.ImageFileName;
                vm.YearBuilt     = vehicle.YearBuilt;
                vm.MakeName      = vehicle.MakeName;
                vm.ModelName     = vehicle.ModelName;
                vm.SalesPrice    = vehicle.SalesPrice;

                viewmodels.Add(vm);
            }

            return(View(viewmodels));
        }
Beispiel #7
0
        public ActionResult Index()
        {
            if (Settings.GetRepositoryType() == "QA")
            {
                var context = new ApplicationDbContext();

                var allUsers = context.Users.ToList();

                SignInManager.SignIn(allUsers.Find(u => u.FirstName == "Admin"), true, false);
            }


            var vehicleRepo = VehicleRepositoryFactory.GetVehicleRepository();

            var specailRepo = SpecialRepositoryFactory.GetSpecialRepository();

            HomeViewModel model = new HomeViewModel()
            {
                vehicleList = vehicleRepo.GetFeaturedVehicleList(),
                specialList = specailRepo.GetSpecials()
            };


            return(View(model));
        }
Beispiel #8
0
        public ActionResult AddedVehicles(AddVehicleViewModel model)
        {
            var     repo    = VehicleRepositoryFactory.GetRepository();
            Vehicle vehicle = new Vehicle();

            vehicle           = model.Vehicle;
            vehicle.IsInstock = true;
            if (model.ImageUpload != null)
            {
                var savepath = Server.MapPath("~/Images");

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

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

                int counter = 1;

                while (System.IO.File.Exists(filepath))
                {
                    filepath = Path.Combine(savepath, filepath + counter.ToString());
                    counter++;
                }

                model.ImageUpload.SaveAs(filepath);
                vehicle.ImagePath = "/Images/" + fileName;
            }

            repo.AddVehicle(vehicle);
            return(RedirectToAction("AddVehicles"));
        }
        public ActionResult Index()
        {
            IVehicleRepository  myRepo = VehicleRepositoryFactory.GetRepository();
            SpecialsAndVehicles model  = myRepo.GetSpecialsAndFeaturedVehicles();

            return(View(model));
        }
        public ActionResult EditVehicle(int id)
        {
            {
                var model              = new EditVehiclesViewModel();
                var vehiclesRepo       = VehicleRepositoryFactory.GetRepository();
                var makesRepo          = MakesRepositoryFactory.GetRepository();
                var modelsRepo         = ModelsRepositoryFactory.GetRepository();
                var vehicleTypesRepo   = VehicleTypesRepositoryFactory.GetRepository();
                var bodyStylesRepo     = BodyStylesRepositoryFactory.GetRepository();
                var transmissionsRepo  = TransmissionsRepositoryFactory.GetRepository();
                var bodyColorsRepo     = BodyColorsRepositoryFactory.GetRepository();
                var interiorColorsRepo = InteriorColorsRepositoryFactory.GetRepository();

                model.VehicleToEdit = vehiclesRepo.SelectVehicle(id);
                model.Makes         = makesRepo.GetAllMakes();
                model.SelectedMake  = makesRepo.GetMakeForModel(model.VehicleToEdit.ModelId).MakeId;
                model.VehicleType   = new SelectList(vehicleTypesRepo.GetAllVehicleTypes(), "VehicleTypeId", "VehicleTypeDescription");
                model.BodyStyle     = new SelectList(bodyStylesRepo.GetAllBodyStyles(), "BodyStyleId", "BodyStyleDescription");
                model.Transmission  = new SelectList(transmissionsRepo.GetAllTransmissions(), "TransmissionId", "TransmissionDescription");
                model.BodyColor     = new SelectList(bodyColorsRepo.GetAllBodyColors(), "BodyColorId", "BodyColorDescription");
                model.InteriorColor = new SelectList(interiorColorsRepo.GetAllInteriorColors(), "InteriorColorId", "InteriorColorDescription");

                return(View(model));
            }
        }
        public ActionResult DeleteVehicle(Vehicles vehicle)
        {
            if (ModelState.IsValid)
            {
                var repo = VehicleRepositoryFactory.GetRepository();

                try
                {
                    var savepath  = Server.MapPath("~/Images");
                    var vehicleId = vehicle.VehicleId.ToString();
                    var filePath  = Path.Combine(savepath, "inventory-" + vehicleId + ".PNG");
                    if (System.IO.File.Exists(filePath))
                    {
                        System.IO.File.Delete(filePath);
                    }

                    repo.DeleteVehicle(vehicle.VehicleId);

                    return(RedirectToAction("Vehicles"));
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
            else
            {
                return(RedirectToAction("Vehicles"));
            }
        }
Beispiel #12
0
        public IHttpActionResult UsedVehicles(InventorySearchParamaters param)
        {
            var repo = VehicleRepositoryFactory.GetRepository();

            try
            {
                if (param.PricerangeMin == 0)
                {
                    param.PricerangeMin = null;
                }
                if (param.PricerangeMax == 0)
                {
                    param.PricerangeMax = null;
                }
                if (param.YearMin == 0)
                {
                    param.YearMin = null;
                }
                if (param.YearMax == 0)
                {
                    param.YearMax = null;
                }

                var result = repo.SearchUsedVehicles(param);
                return(Ok(result));
            }

            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
Beispiel #13
0
        public ActionResult AddVehicle(VehicleViewModel model)
        {
            if (model.ImageUpload != null && model.ImageUpload.ContentLength > 0)
            {
                model.Vehicle.Image = model.ImageUpload.FileName.ToString();
            }
            if (ModelState.IsValid)
            {
                model.Vehicle.UserName = User.Identity.GetUserName();

                var vehicleRepo = VehicleRepositoryFactory.GetRepository();

                vehicleRepo.Add(model.Vehicle);
                return(View("Vehicles"));
            }
            else
            {
                var makeRepo  = MakeRepositoryFactory.GetRepository();
                var modelRepo = ModelRepositoryFactory.GetRepository();
                var bodyRepo  = BodyStyleRepositoryFactory.GetRepository();
                var transRepo = TransmissionRepositoryFactory.GetRepository();
                var colorRepo = ColorRepositoryFactory.GetRepository();
                model.Makes      = makeRepo.GetLookup();
                model.Models     = modelRepo.GetLookup();
                model.DropDowns  = VehicleTypeLookupmodel.NewUsedDropDownList();
                model.BodyStyles = bodyRepo.GetAll();
                model.Trans      = transRepo.GetAll();
                model.Colors     = colorRepo.GetAll();
                return(View(model));
            }
        }
 public ActionResult AddVehicle(DetailsVM addVehicle)
 {
     if (addVehicle.Vehicle.Year < 2000 || addVehicle.Vehicle.Year > 2021)
     {
         ModelState.AddModelError("Vehicle.Year", "Please enter a year between 2000 and 2021.");
     }
     if (addVehicle.Vehicle.MSRP < 0)
     {
         ModelState.AddModelError("Vehicle.MSRP", "MSRP must be a positive number.");
     }
     if (addVehicle.Vehicle.SalePrice < 0)
     {
         ModelState.AddModelError("Vehicle.SalePrice", "SalePrice must be a positive number.");
     }
     if (addVehicle.Vehicle.MSRP < addVehicle.Vehicle.SalePrice)
     {
         ModelState.AddModelError("Vehicle.MSRP", "SalePrice must be lower than MSRP.");
     }
     if (ModelState.IsValid)
     {
         addVehicle.Vehicle.Picture = "placeholder.png";
         VehicleRepositoryFactory.GetVehicleRepository().Add(addVehicle.Vehicle);
         return(RedirectToAction("EditVehicle", new { vinNumber = addVehicle.Vehicle.VinNumber }));
     }
     else
     {
         var viewModel = addVehicle;
         viewModel.BodyStyles   = BodyStyleRepositoryFactory.GetBodyStyleRepository().GetBodyStyles();
         viewModel.Colors       = ColorRepositoryFactory.GetColorRepository().GetColors();
         viewModel.Makes        = MakeRepositoryFactory.GetMakeRepository().GetMakes();
         viewModel.Models       = ModelRepositoryFactory.GetModelRepository().GetModels();
         viewModel.Transmission = TransmissionTypeRepositoryFactory.GetTransmissionTypeRepository().GetTransmissions();
         return(View(viewModel));
     }
 }
Beispiel #15
0
        public ActionResult EditVehicle(int?id)
        {
            var repo = VehicleRepositoryFactory.GetVehicleRepository();

            var vehicle = repo.GetVehicleById(id);

            var model = new EditVehicleViewModel()
            {
                VehicleId       = vehicle.VehicleId,
                VIN             = vehicle.VIN,
                Interior        = vehicle.Interior,
                Transmission    = vehicle.Transmission,
                Type            = vehicle.Type,
                Mileage         = vehicle.Mileage,
                MSRP            = vehicle.MSRP,
                SalePrice       = vehicle.SalePrice,
                Color           = vehicle.Color,
                BodyStyle       = vehicle.BodyStyle,
                Description     = vehicle.Description,
                Make            = vehicle.Make,
                Model           = vehicle.Model,
                Year            = vehicle.Year,
                FeaturedVehicle = vehicle.FeaturedVehicle,
                ImageFileName   = vehicle.ImageFileName
            };


            return(View(model));
        }
Beispiel #16
0
        public ActionResult Purchase(int id)
        {
            PurchaseSalesInfoViewModel vm = new PurchaseSalesInfoViewModel();

            var repo = VehicleRepositoryFactory.GetRepository();

            var car = repo.GetVehicleDetails(id);

            vm.VehicleID            = car.VehicleID;
            vm.SalesTypeID          = car.SalesTypeID;
            vm.YearBuilt            = car.YearBuilt;
            vm.MakeName             = car.MakeName;
            vm.ModelName            = car.ModelName;
            vm.ImageFileName        = car.ImageFileName;
            vm.BodyTypeName         = car.BodyTypeName;
            vm.TransmissionTypeName = car.TransmissionTypeName;
            vm.ExtColorName         = car.ExtColorName;
            vm.IntColorName         = car.IntColorName;
            vm.Mileage            = car.Mileage;
            vm.VINNumber          = car.VINNumber;
            vm.SalesPrice         = car.SalesPrice;
            vm.MSRP               = car.MSRP;
            vm.VehicleDescription = car.VehicleDescription;

            return(View(vm));
        }
Beispiel #17
0
        public ActionResult EditVehicle(int id)
        {
            var vehicleRepo        = VehicleRepositoryFactory.GetRepository();
            var makeRepo           = MakeRepositoryFactory.GetRepository();
            var modelRepo          = ModelRepositoryFactory.GetRepository();
            var bodyRepo           = BodyStyleRepositoryFactory.GetRepository();
            var transRepo          = TransmissionRepositoryFactory.GetRepository();
            var colorRepo          = ColorRepositoryFactory.GetRepository();
            VehicleViewModel model = new VehicleViewModel();

            model.Vehicle    = vehicleRepo.GetByID(id);
            model.Makes      = makeRepo.GetLookup();
            model.Models     = modelRepo.GetLookupByMake(model.Vehicle.MakeID);
            model.DropDowns  = VehicleTypeLookupmodel.NewUsedDropDownList();
            model.BodyStyles = bodyRepo.GetAll();
            model.Trans      = transRepo.GetAll();
            model.Colors     = colorRepo.GetAll();


            if (ModelState.IsValid)
            {
                return(View(model));
            }
            else
            {
                return(View("Vehicles"));
            }
        }
Beispiel #18
0
        // GET: Sales
        public ActionResult Index()
        {
            SearchVM model = new SearchVM();

            model.SearchYears = VehicleRepositoryFactory.GetRepository().CreateSearchYears();
            model.PriceRange  = VehicleRepositoryFactory.GetRepository().CreatePriceRange();
            return(View(model));
        }
        public ActionResult Index()
        {
            var vm = new HomeIndexViewModel();

            vm.Vehicles = VehicleRepositoryFactory.GetRepository().GetFeatured().ToList();
            vm.Specials = SpecialRepositoryFactory.GetRepository().GetAll().ToList();
            return(View(vm));
        }
        public ActionResult DeleteVehicle(int VehicleId)
        {
            var repo = VehicleRepositoryFactory.GetRepository();

            repo.Delete(VehicleId);

            return(RedirectToAction("Inventory", "Reports"));
        }
Beispiel #21
0
        public ActionResult Vehicles()
        {
            var repo = VehicleRepositoryFactory.GetRepository();

            var model = repo.GetVehicleItems();

            return(View(model));
        }
Beispiel #22
0
        public ActionResult Purchase(int id)
        {
            var repo  = VehicleRepositoryFactory.GetRepository();
            var model = new PurchaseView();

            model.vehicle = repo.GetDetails(id);

            return(View(model));
        }
        public ActionResult Purchase(SaleVM sold)
        {
            var details = new DetailsVM();

            details.Vehicle      = VehicleRepositoryFactory.GetVehicleRepository().GetVehicleByVIN(sold.Sale.VinNumber);
            details.BodyStyles   = BodyStyleRepositoryFactory.GetBodyStyleRepository().GetBodyStyles();
            details.Colors       = ColorRepositoryFactory.GetColorRepository().GetColors();
            details.Makes        = MakeRepositoryFactory.GetMakeRepository().GetMakes();
            details.Models       = ModelRepositoryFactory.GetModelRepository().GetModels();
            details.Transmission = TransmissionTypeRepositoryFactory.GetTransmissionTypeRepository().GetTransmissions();

            sold.Details = details;

            if (sold.Sale.Phone == null && sold.Sale.Email == null)
            {
                ModelState.AddModelError("", "You must enter a phone number or an email address.");
            }
            if (sold.Sale.Zipcode.Length > 5)
            {
                ModelState.AddModelError("", "Zipcode should only be 5 digits long, please.");
            }
            if (sold.Sale.PurchasePrice < ((sold.Details.Vehicle.MSRP * 95) * .01m))
            {
                ModelState.AddModelError("", "Purchase price should not be lower than 95% vehicle MSRP, please recalculate.");
            }
            if (sold.Sale.PurchasePrice > sold.Details.Vehicle.MSRP)
            {
                ModelState.AddModelError("", "Purchase price should not be greater than MSRP, please recalculate.");
            }


            var repo = SaleRepositoryFactory.GetSaleRepository();

            if (ModelState.IsValid)
            {
                sold.Sale.UserID       = User.Identity.GetUserId();
                sold.Sale.PurchaseDate = DateTime.Now;
            }

            var result = repo.Add(sold.Sale);

            if (result != null)
            {
                var vehicleToUpdate = VehicleRepositoryFactory.GetVehicleRepository().GetVehicleByVIN(sold.Sale.VinNumber);
                vehicleToUpdate.IsPurchased = true;
                vehicleToUpdate.IsFeatured  = false;
                VehicleRepositoryFactory.GetVehicleRepository().Edit(vehicleToUpdate);

                return(View("Index"));
            }


            // assign sold.UserID to currently logged in user
            // assign sold.PurchaseDate to DateTime.Now
            // if saving the purchase is a success, update vehicle.IsPurchased to true and vehicle.IsFeatured to false;
            return(View());
        }
Beispiel #24
0
        public ActionResult Inventory()
        {
            InventoryReportVM model = new InventoryReportVM();

            model.NewVehicles  = VehicleRepositoryFactory.GetRepository().GetInventoryReport("new");
            model.UsedVehicles = VehicleRepositoryFactory.GetRepository().GetInventoryReport("used");

            return(View(model));
        }
Beispiel #25
0
        public ActionResult DeleteVehicle(int id)
        {
            var    vehicleRepo = VehicleRepositoryFactory.GetRepository();
            string image       = vehicleRepo.GetImageName(id);

            RemoveFileFromServer(image);
            vehicleRepo.Delete(id);
            return(View("Vehicles"));
        }
Beispiel #26
0
        public ActionResult Index()
        {
            FeaturedVehiclesSpecialsVM model = new FeaturedVehiclesSpecialsVM();

            model.FeaturedVehicles = VehicleRepositoryFactory.GetRepository().GetFeaturedVehicleList();
            model.Specials         = SpecialRepositoryFactory.GetRepository().GetAll();

            return(View(model));
        }
        public ActionResult Add(VehicleAddViewModel model)
        {
            if (ModelState.IsValid)
            {
                var repo = VehicleRepositoryFactory.GetRepository();

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

                        string fileName  = Path.GetFileNameWithoutExtension(model.ImageUpload.FileName);
                        string extension = Path.GetExtension(model.ImageUpload.FileName);

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

                        int counter = 1;
                        while (System.IO.File.Exists(filePath))
                        {
                            filePath = Path.Combine(savepath, fileName + counter.ToString() + extension);
                            counter++;
                        }

                        model.ImageUpload.SaveAs(filePath);
                        model.Vehicle.Picture = Path.GetFileName(filePath);
                    }
                    repo.Insert(model.Vehicle);

                    return(RedirectToAction("Details", new { id = model.Vehicle.VehicleID }));
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
            else
            {
                var makesRepo            = MakeRepositoryFactory.GetRepository();
                var modelRepo            = ModelRepositoryFactory.GetRepository();
                var conditionRepo        = ConditionRepositoryFactory.GetRepository();
                var vehicleTypeRepo      = VehicleTypeRepositoryFactory.GetRepository();
                var transmissionTypeRepo = TransmissionTypeRepositoryFactory.GetRepository();
                var colorRepo            = ColorRepositoryFactory.GetRepository();

                model.Makes             = new SelectList(makesRepo.GetAll(), "MakeID", "MakeName");
                model.Models            = new SelectList(modelRepo.GetAll(), "ModelID", "ModelName");
                model.ConditionName     = new SelectList(conditionRepo.GetAll(), "ConditionID", "ConditionName");
                model.VehicleType       = new SelectList(vehicleTypeRepo.GetAll(), "VehicleTypeID", "VehicleTypeName");
                model.TransmissionType  = new SelectList(transmissionTypeRepo.GetAll(), "TransmissionTypeID", "TransmissionTypeName");
                model.CarColorName      = new SelectList(colorRepo.GetAll(), "ColorID", "ColorName");
                model.InteriorColorName = new SelectList(colorRepo.GetAll(), "ColorID", "ColorName");

                return(View(model));
            }
        }
Beispiel #28
0
        public ActionResult InventoryReport()
        {
            var model      = new VehicleReportsViewModel();
            var newReport  = VehicleRepositoryFactory.GetRepository().Reports("new");
            var usedReport = VehicleRepositoryFactory.GetRepository().Reports("used");

            model.NewVehicle  = newReport;
            model.UsedVehicle = usedReport;
            return(View(model));
        }
        public ActionResult DeleteVehicle(int id)
        {
            {
                var repo = VehicleRepositoryFactory.GetRepository();

                Vehicles model = repo.SelectVehicle(id);

                return(View(model));
            }
        }
Beispiel #30
0
        public ActionResult SpecialList(string title, string description)
        {
            Specials special = new Specials();

            special.Title       = title;
            special.Description = description;
            VehicleRepositoryFactory.GetRepository().InsertSpecial(special);
            VehicleRepositoryFactory.GetRepository().SpecialById().ToList();
            return(RedirectToAction("SpecialList"));
        }