Exemple #1
0
      public void CanEditVehicle()
      {
          IRepository       ADORepo = new ADORepository();
          VehicleQueryModel model   = new VehicleQueryModel();

          model.VehicleId        = 1;
          model.ModelId          = 5;
          model.Year             = 2019;
          model.VIN              = "00000000000000000";
          model.TransmissionType = "Automatic";
          model.ConditionType    = "New";
          model.BodyStyle        = "SUV";
          model.InteriorColor    = "Red";
          model.ExteriorColor    = "White";
          model.MSRP             = 55000;
          model.Mileage          = 1;
          model.Description      = "Some big SUV";
          model.ImageFileName    = "BigSuv.jpg";
          model.FeaturedFlag     = false;
          model.SalePrice        = 49000;
          model.UserId           = "913dd4f1-4506-4fad-91ae-4539b7a5bdb5";

          VehicleQueryModel newModel = ADORepo.EditVehicle(model);

          Assert.AreEqual(1, newModel.VehicleId);
          Assert.AreEqual("Red", newModel.InteriorColor);
          Assert.AreNotEqual("Car", newModel.BodyStyle.ToString());
          Assert.AreNotEqual("Black", newModel.InteriorColor.ToString());
          Assert.AreNotEqual(1, newModel.ModelId);
      }
Exemple #2
0
        public ActionResult DeleteVehicle(VehicleQueryModel vcm)
        {
            var repo = RepositoryFactory.GetRepository();

            repo.DeleteVehicle(vcm.VehicleId);
            return(RedirectToAction("Vehicles", "Admin"));
        }
Exemple #3
0
        //Invetory Detail
        public ActionResult Detail(int id)
        {
            var repo = RepositoryFactory.GetRepository();
            VehicleQueryModel model = repo.GetVehicleDetail(id);

            return(View(model));
        }
Exemple #4
0
        public ActionResult DeleteVehicle(int id)
        {
            var repo = RepositoryFactory.GetRepository();
            VehicleQueryModel vcm = new VehicleQueryModel();

            vcm = repo.GetVehicleDetail(id);
            return(View(vcm));
        }
Exemple #5
0
      public void CanDeleteVehicle()
      {
          IRepository ADORepo = new ADORepository();

          bool rtrn = ADORepo.DeleteVehicle(3);

          Assert.IsTrue(rtrn);
          VehicleQueryModel model = ADORepo.GetVehicleDetail(3);

          Assert.IsNull(model);
      }
Exemple #6
0
        public async Task <QueryResultModel <VehicleModel> > GetVehicles(VehicleQueryModel filterModel)
        {
            var re      = Request;
            var headers = re.Headers;
            var x       = User.Claims;

            var filter   = mapper.Map <VehicleQueryModel, VehicleQuery>(filterModel);
            var vehicles = await repository.GetAllVehicles(filter);

            var result = mapper.Map <QueryResult <Vehicle>, QueryResultModel <VehicleModel> >(vehicles);

            return(result);
        }
Exemple #7
0
        public ActionResult EditVehicle(AddEditVehicleViewModel aevm)
        {
            string fileName = string.Empty;

            if (aevm.UploadedFile != null && aevm.UploadedFile.ContentLength > 0)
            {
                string path = Path.Combine(Server.MapPath("~/Images"),
                                           Path.GetFileName(aevm.UploadedFile.FileName));
                fileName = Path.GetFileName(aevm.UploadedFile.FileName);
                aevm.UploadedFile.SaveAs(path);
            }

            var repo = RepositoryFactory.GetRepository();

            VehicleQueryModel vcm = new VehicleQueryModel();

            if (string.IsNullOrEmpty(aevm.ImageFileName))
            {
                aevm.ImageFileName = string.Empty;
            }

            // Translate the Vechicle Query model to the AddEditVehicleViewModel
            vcm.ConditionType    = aevm.Condition.ToString();
            vcm.TransmissionType = aevm.Transmission.ToString();
            vcm.VIN           = aevm.VIN.ToString();
            vcm.Year          = aevm.Year;
            vcm.MSRP          = aevm.MSRP;
            vcm.SalePrice     = aevm.SalePrice;
            vcm.ModelId       = aevm.ModelId;
            vcm.MakeId        = aevm.MakeId;
            vcm.ImageFileName = string.IsNullOrEmpty(fileName) ? aevm.ImageFileName : fileName;
            vcm.Mileage       = aevm.Mileage;
            vcm.InteriorColor = aevm.InteriorColor.ToString();
            vcm.ExteriorColor = aevm.ExteriorColor.ToString();
            vcm.Description   = aevm.Description.ToString();
            vcm.BodyStyle     = aevm.BodyStyle.ToString();
            vcm.VehicleId     = aevm.VehicleId;
            vcm.FeaturedFlag  = aevm.FeaturedFlag;

            //Find id  of logged in user
            var userName = User.Identity.GetUserName();
            var userId   = context.Users.FirstOrDefault(u => u.UserName == userName).Id;

            vcm.UserId = aevm.UserId;

            repo.EditVehicle(vcm); //Save the changes

            return(RedirectToAction("Vehicles", "Admin"));
        }
Exemple #8
0
        public ActionResult AddVehicle(AddEditVehicleViewModel model)
        {
            string fileName = string.Empty;

            if (model.UploadedFile != null && model.UploadedFile.ContentLength > 0)
            {
                string path = Path.Combine(Server.MapPath("~/Images"),
                                           Path.GetFileName(model.UploadedFile.FileName));
                fileName = Path.GetFileName(model.UploadedFile.FileName);
                model.UploadedFile.SaveAs(path);
            }
            if (string.IsNullOrEmpty(model.ImageFileName))
            {
                model.ImageFileName = string.Empty;
            }
            var repo = RepositoryFactory.GetRepository();

            VehicleQueryModel vcm = new VehicleQueryModel();

            //Translate VehicleAddEditViewModel to VehicleQueryModel
            vcm.BodyStyle        = model.BodyStyle.ToString();
            vcm.ConditionType    = model.Condition.ToString();
            vcm.Description      = model.Description.ToString();
            vcm.ExteriorColor    = model.ExteriorColor.ToString();
            vcm.InteriorColor    = model.InteriorColor.ToString();
            vcm.MakeId           = model.MakeId;
            vcm.ModelId          = model.ModelId;
            vcm.MSRP             = model.MSRP;
            vcm.SalePrice        = model.SalePrice;
            vcm.Mileage          = model.Mileage;
            vcm.SoldFlag         = false;
            vcm.ImageFileName    = string.IsNullOrEmpty(fileName) ? model.ImageFileName : fileName;
            vcm.TransmissionType = model.Transmission;
            vcm.SoldFlag         = false;
            vcm.FeaturedFlag     = false;
            vcm.FeaturedFlag     = model.FeaturedFlag;
            vcm.VIN    = model.VIN.ToString();
            vcm.Year   = model.Year;
            vcm.UserId = "913dd4f1-4506-4fad-91ae-4539b7a5bdb5"; ///Get the logged in user
            VehicleQueryModel newVehicle = repo.AddVehicle(vcm);
            int id = newVehicle.VehicleId;

            return(RedirectToAction("EditVehicle", "Admin", new { id }));  //Need RouteValues pass id to edit..
        }
Exemple #9
0
        public ActionResult Contact(int?vehicleId)
        {   //Set message for contact us page
            var id = 0;

            if (vehicleId != null)    //Will be null if coming from Home Page Contact link
            {
                id = vehicleId.Value; //Not null if from vehicle search / contact us button
            }

            Contacts model = new Contacts();

            if (id != 0) //Coming from inventory search. VehicleId set. 0 - coming from home page
            {            //custom message - contact about specific vehicle.
                var repo                  = RepositoryFactory.GetRepository();
                VehicleQueryModel vm      = repo.GetVehicleDetail(id);
                string            message = $"Hello, Please Contact me about the {vm.Year} {vm.MakeDescription} {vm.ModelDescription}.\n VIN: {vm.VIN}";
                model.Message = message;
            }
            return(View(model));
        }
Exemple #10
0
        public ActionResult EditVehicle(int id)
        {
            var repo                     = RepositoryFactory.GetRepository();
            var LookupValueRepo          = LookupValueFactory.GetRepository();
            VehicleQueryModel       vcm  = repo.GetVehicleDetail(id);
            AddEditVehicleViewModel aevm = new AddEditVehicleViewModel();

            //Set lookup values
            aevm.SetBodyStyles(LookupValueRepo.GetBodyStyles());
            aevm.SetCondition(LookupValueRepo.GetCondition());
            aevm.SetExteriorColor(LookupValueRepo.GetExteriorColor());
            aevm.SetInteriorColor(LookupValueRepo.GetInteriorColor());
            aevm.SetMakes(repo.GetMakes());
            aevm.SetTransmissions(LookupValueRepo.GetTransmissionTypes());
            aevm.SetYears(LookupValueRepo.GetYears());

            //Get the models for the make of this vehicle
            aevm.SetModels(repo.GetModelsByMakeId(vcm.MakeId));

            // Translate the Vechicle Query model to the AddEditVehicleViewModel
            aevm.Condition     = vcm.ConditionType.ToString();
            aevm.Transmission  = vcm.TransmissionType.ToString();
            aevm.VIN           = vcm.VIN.ToString();
            aevm.Year          = vcm.Year;
            aevm.MSRP          = vcm.MSRP;
            aevm.SalePrice     = vcm.SalePrice;
            aevm.ModelId       = vcm.ModelId;
            aevm.MakeId        = vcm.MakeId;
            aevm.ImageFileName = vcm.ImageFileName.ToString();
            aevm.Mileage       = vcm.Mileage;
            aevm.InteriorColor = vcm.InteriorColor.ToString();
            aevm.ExteriorColor = vcm.ExteriorColor.ToString();
            aevm.Description   = vcm.Description.ToString();
            aevm.BodyStyle     = vcm.BodyStyle.ToString();
            aevm.VehicleId     = vcm.VehicleId;
            aevm.FeaturedFlag  = vcm.FeaturedFlag;
            aevm.UserId        = vcm.UserId;

            return(View(aevm));
        }
Exemple #11
0
 public VehicleQueryModel AddVehicle(VehicleQueryModel newVehicle)
 {
     try
     {
         using (var sqlConnection = new SqlConnection())
         {
             sqlConnection.ConnectionString = sqlConnectionString;
             SqlCommand cmd = new SqlCommand();
             cmd.Connection  = sqlConnection;
             cmd.CommandType = CommandType.StoredProcedure;
             cmd.CommandText = "AddVehicle";
             cmd.Parameters.AddWithValue("@ModelId", (int)newVehicle.ModelId);
             cmd.Parameters.AddWithValue("@Year", (int)newVehicle.Year);
             cmd.Parameters.AddWithValue("@VIN", newVehicle.VIN).ToString();
             cmd.Parameters.AddWithValue("@TransmissionType", newVehicle.TransmissionType).ToString();
             cmd.Parameters.AddWithValue("@ConditionType", newVehicle.ConditionType.ToString());
             cmd.Parameters.AddWithValue("@BodyStyle", newVehicle.BodyStyle.ToString());
             cmd.Parameters.AddWithValue("@InteriorColor", newVehicle.InteriorColor.ToString());
             cmd.Parameters.AddWithValue("@ExteriorColor", newVehicle.ExteriorColor.ToString());
             cmd.Parameters.AddWithValue("@MSRP", (decimal)newVehicle.MSRP);
             cmd.Parameters.AddWithValue("@Mileage", (decimal)newVehicle.Mileage);
             cmd.Parameters.AddWithValue("@Description", newVehicle.Description.ToString());
             cmd.Parameters.AddWithValue("@ImageFileName", newVehicle.ImageFileName.ToString());
             cmd.Parameters.AddWithValue("@SalePrice", (decimal)newVehicle.SalePrice);
             cmd.Parameters.AddWithValue("@UserId", newVehicle.UserId.ToString());
             cmd.Parameters.Add(new SqlParameter("@NewID", SqlDbType.Int));
             cmd.Parameters["@NewID"].Direction = ParameterDirection.Output;
             sqlConnection.Open();
             cmd.ExecuteNonQuery();
             newVehicle.VehicleId = (int)cmd.Parameters["@NewID"].Value;
         }
         return(newVehicle);
     }
     catch
     {
         return(null);
     }
 }
Exemple #12
0
 public VehicleQueryModel EditVehicle(VehicleQueryModel editVehicle)
 {
     try
     {
         using (var sqlConnection = new SqlConnection())
         {
             sqlConnection.ConnectionString = sqlConnectionString;
             SqlCommand cmd = new SqlCommand();
             cmd.Connection  = sqlConnection;
             cmd.CommandType = CommandType.StoredProcedure;
             cmd.CommandText = "EditVehicle";
             cmd.Parameters.AddWithValue("@VehicleId", (int)editVehicle.VehicleId);
             cmd.Parameters.AddWithValue("@ModelId", (int)editVehicle.ModelId);
             cmd.Parameters.AddWithValue("@Year", (int)editVehicle.Year);
             cmd.Parameters.AddWithValue("@VIN", editVehicle.VIN).ToString();
             cmd.Parameters.AddWithValue("@TransmissionType", editVehicle.TransmissionType).ToString();
             cmd.Parameters.AddWithValue("@ConditionType", editVehicle.ConditionType.ToString());
             cmd.Parameters.AddWithValue("@BodyStyle", editVehicle.BodyStyle.ToString());
             cmd.Parameters.AddWithValue("@InteriorColor", editVehicle.InteriorColor.ToString());
             cmd.Parameters.AddWithValue("@ExteriorColor", editVehicle.ExteriorColor.ToString());
             cmd.Parameters.AddWithValue("@MSRP", (decimal)editVehicle.MSRP);
             cmd.Parameters.AddWithValue("@Mileage", (decimal)editVehicle.Mileage);
             cmd.Parameters.AddWithValue("@Description", editVehicle.Description.ToString());
             cmd.Parameters.AddWithValue("@ImageFileName", editVehicle.ImageFileName.ToString());
             cmd.Parameters.AddWithValue("@FeaturedFlag", (bool)editVehicle.FeaturedFlag);
             cmd.Parameters.AddWithValue("@SalePrice", (decimal)editVehicle.SalePrice);
             cmd.Parameters.AddWithValue("@UserId", editVehicle.UserId.ToString());
             sqlConnection.Open();
             cmd.ExecuteNonQuery();
         }
         return(editVehicle);
     }
     catch
     {
         return(null);
     }
 }
Exemple #13
0
        public List <VehicleQueryModel> GetVehicles(int minYear, int maxYear, decimal minPrice, decimal maxPrice, string searchTerm, string condition)
        {
            try
            {
                List <VehicleQueryModel> model = new List <VehicleQueryModel>();

                using (var sqlConnection = new SqlConnection())
                {
                    sqlConnection.ConnectionString = sqlConnectionString;
                    SqlCommand cmd = new SqlCommand();
                    cmd.Connection  = sqlConnection;
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.CommandText = "GetVehicles";
                    cmd.Parameters.AddWithValue("@MinPrice", (decimal)minPrice);
                    cmd.Parameters.AddWithValue("@MaxPrice", (decimal)maxPrice);
                    cmd.Parameters.AddWithValue("@MinYear", (int)minYear);
                    cmd.Parameters.AddWithValue("@MaxYear", (int)maxYear);
                    cmd.Parameters.AddWithValue("@Condition", string.IsNullOrEmpty(condition) ? null : condition);
                    cmd.Parameters.AddWithValue("@SearchTerm", string.IsNullOrEmpty(searchTerm) ? null : searchTerm);

                    sqlConnection.Open();
                    SqlDataReader sqlDataRdr = cmd.ExecuteReader();

                    while (sqlDataRdr.Read())
                    {
                        VehicleQueryModel vm = new VehicleQueryModel();
                        vm.VehicleId        = (int)sqlDataRdr["VehicleId"];
                        vm.Year             = (int)sqlDataRdr["Year"];
                        vm.VIN              = sqlDataRdr["VIN"].ToString();
                        vm.TransmissionType = sqlDataRdr["TransmissionType"].ToString();
                        vm.ConditionType    = sqlDataRdr["ConditionType"].ToString();
                        vm.BodyStyle        = sqlDataRdr["BodyStyle"].ToString();
                        vm.InteriorColor    = sqlDataRdr["InteriorColor"].ToString();
                        vm.ExteriorColor    = sqlDataRdr["ExteriorColor"].ToString();
                        vm.MSRP             = (decimal)sqlDataRdr["MSRP"];
                        vm.Mileage          = (decimal)sqlDataRdr["Mileage"];
                        vm.Description      = sqlDataRdr["Description"].ToString();
                        vm.ModelDescription = sqlDataRdr["ModelDescription"].ToString();

                        if (sqlDataRdr["ImageFileName"] != DBNull.Value)
                        {
                            vm.ImageFileName = sqlDataRdr["ImageFileName"].ToString();
                        }
                        if (sqlDataRdr["FeaturedFlag"] != DBNull.Value)
                        {
                            vm.FeaturedFlag = (bool)sqlDataRdr["FeaturedFlag"];
                        }
                        if (sqlDataRdr["SoldFlag"] != DBNull.Value)
                        {
                            vm.SoldFlag = (bool)sqlDataRdr["SoldFlag"];
                        }

                        vm.MakeId          = (int)sqlDataRdr["MakeId"];
                        vm.MakeDescription = sqlDataRdr["MakeDescription"].ToString();
                        vm.ModelId         = (int)sqlDataRdr["ModelId"];
                        vm.Description     = sqlDataRdr["Description"].ToString();
                        vm.SalePrice       = (decimal)sqlDataRdr["SalePrice"];
                        vm.UserId          = sqlDataRdr["UserId"].ToString();
                        model.Add(vm);
                    }
                    if (model.Count > 0)
                    {
                        return(model);
                    }
                    return(null);
                }
            }
            catch (Exception)
            {
                return(null);
            }
        }
Exemple #14
0
        public VehicleQueryModel GetVehicleDetail(int id)
        {
            try
            {
                VehicleQueryModel model = null;
                using (var sqlConnection = new SqlConnection())
                {
                    sqlConnection.ConnectionString = sqlConnectionString;
                    SqlCommand cmd = new SqlCommand();
                    cmd.Connection  = sqlConnection;
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.CommandText = "GetVehicleById";
                    cmd.Parameters.AddWithValue("@VehicleId", id);
                    sqlConnection.Open();
                    SqlDataReader sqlDataRdr = cmd.ExecuteReader();


                    if (sqlDataRdr.Read())
                    {
                        model                  = new VehicleQueryModel();
                        model.VehicleId        = (int)sqlDataRdr["VehicleId"];
                        model.Year             = (int)sqlDataRdr["Year"];
                        model.VIN              = sqlDataRdr["VIN"].ToString();
                        model.TransmissionType = sqlDataRdr["TransmissionType"].ToString();
                        model.ConditionType    = sqlDataRdr["ConditionType"].ToString();
                        model.BodyStyle        = sqlDataRdr["BodyStyle"].ToString();
                        model.InteriorColor    = sqlDataRdr["InteriorColor"].ToString();
                        model.ExteriorColor    = sqlDataRdr["ExteriorColor"].ToString();
                        model.MSRP             = (decimal)sqlDataRdr["MSRP"];
                        model.Mileage          = (decimal)sqlDataRdr["Mileage"];
                        model.SalePrice        = (decimal)sqlDataRdr["SalePrice"];
                        model.Description      = sqlDataRdr["Description"].ToString();
                        if (sqlDataRdr["ImageFileName"] != DBNull.Value)
                        {
                            model.ImageFileName = sqlDataRdr["ImageFileName"].ToString();
                        }
                        if (sqlDataRdr["FeaturedFlag"] != DBNull.Value)
                        {
                            model.FeaturedFlag = (bool)sqlDataRdr["FeaturedFlag"];
                        }
                        if (sqlDataRdr["SoldFlag"] != DBNull.Value)
                        {
                            model.SoldFlag = (bool)sqlDataRdr["SoldFlag"];
                        }

                        model.MakeId           = (int)sqlDataRdr["MakeId"];
                        model.MakeDescription  = sqlDataRdr["MakeDescription"].ToString();
                        model.ModelId          = (int)sqlDataRdr["ModelId"];
                        model.Description      = sqlDataRdr["Description"].ToString();
                        model.SalePrice        = (decimal)sqlDataRdr["SalePrice"];
                        model.UserId           = sqlDataRdr["UserId"].ToString();
                        model.ModelDescription = sqlDataRdr["ModelDescription"].ToString();
                    }
                    return(model);
                }
            }
            catch
            {
                return(null);
            }
        }
Exemple #15
0
        public List <VehicleQueryModel> GetFeaturedVehicles()
        {
            try
            {
                List <VehicleQueryModel> model = new List <VehicleQueryModel>();

                using (var sqlConnection = new SqlConnection())
                {
                    sqlConnection.ConnectionString = sqlConnectionString;
                    SqlCommand cmd = new SqlCommand();
                    cmd.Connection  = sqlConnection;
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.CommandText = "GetFeaturedVehicles";
                    sqlConnection.Open();
                    SqlDataReader sqlDataRdr = cmd.ExecuteReader();

                    while (sqlDataRdr.Read())
                    {
                        VehicleQueryModel vm = new VehicleQueryModel();
                        vm.VehicleId        = (int)sqlDataRdr["VehicleId"];
                        vm.Year             = (int)sqlDataRdr["Year"];
                        vm.VIN              = sqlDataRdr["VIN"].ToString();
                        vm.TransmissionType = sqlDataRdr["TransmissionType"].ToString();
                        vm.ConditionType    = sqlDataRdr["ConditionType"].ToString();
                        vm.BodyStyle        = sqlDataRdr["BodyStyle"].ToString();
                        vm.InteriorColor    = sqlDataRdr["InteriorColor"].ToString();
                        vm.ExteriorColor    = sqlDataRdr["ExteriorColor"].ToString();
                        vm.MSRP             = (decimal)sqlDataRdr["MSRP"];
                        vm.Mileage          = (decimal)sqlDataRdr["Mileage"];
                        vm.Description      = sqlDataRdr["Description"].ToString();
                        if (sqlDataRdr["ImageFileName"] != DBNull.Value)
                        {
                            vm.ImageFileName = sqlDataRdr["ImageFileName"].ToString();
                        }
                        if (sqlDataRdr["FeaturedFlag"] != DBNull.Value)
                        {
                            vm.FeaturedFlag = (bool)sqlDataRdr["FeaturedFlag"];
                        }
                        if (sqlDataRdr["SoldFlag"] != DBNull.Value)
                        {
                            vm.SoldFlag = (bool)sqlDataRdr["SoldFlag"];
                        }

                        vm.MakeId           = (int)sqlDataRdr["MakeId"];
                        vm.MakeDescription  = sqlDataRdr["MakeDescription"].ToString();
                        vm.ModelId          = (int)sqlDataRdr["ModelId"];
                        vm.Description      = sqlDataRdr["Description"].ToString();
                        vm.SalePrice        = (decimal)sqlDataRdr["SalePrice"];
                        vm.UserId           = sqlDataRdr["UserId"].ToString();
                        vm.ModelDescription = sqlDataRdr["ModelDescription"].ToString();
                        model.Add(vm);
                    }
                }
                if (model.Count > 0)
                {
                    return(model);
                }
                return(null);
            }
            catch
            {
                return(null);
            }
        }