예제 #1
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));
            }
        }
예제 #2
0
        public void CanSearchNewVehicles()
        {
            var repo = new VehiclesRepositoryADO();
            var par  = new InventorySearchParamaters();

            par.Input         = "Tahoe";
            par.PricerangeMin = 20000;
            par.PricerangeMax = 23000;
            par.YearMin       = 2016;
            par.YearMax       = 2017;

            var vehicles = repo.SearchNewVehicles(par);

            Assert.AreEqual(vehicles.Where(m => m.VehicleId == 4).Count(), 1);
        }
예제 #3
0
        public List <Vehicle> SearchNewVehicles(InventorySearchParamaters param)
        {
            List <Vehicle> vehicles = new List <Vehicle>();

            using (var cn = new SqlConnection(Settings.GetConnectionString()))
            {
                SqlCommand cmd = new SqlCommand("SearchNewVehicles", cn);
                cmd.CommandType = System.Data.CommandType.StoredProcedure;

                cmd.Parameters.AddWithValue("@input", param.Input);


                if (param.PricerangeMin == null)
                {
                    cmd.Parameters.AddWithValue("@PricerangeMin", DBNull.Value);
                }
                else
                {
                    cmd.Parameters.AddWithValue("@PricerangeMin", param.PricerangeMin);
                }

                if (param.PricerangeMax == null)
                {
                    cmd.Parameters.AddWithValue("@PricerangeMax", DBNull.Value);
                }
                else
                {
                    cmd.Parameters.AddWithValue("@PricerangeMax", param.PricerangeMax);
                }

                if (param.YearMin == null)
                {
                    cmd.Parameters.AddWithValue("@YearMin", DBNull.Value);
                }
                else
                {
                    cmd.Parameters.AddWithValue("@YearMin", param.YearMin);
                }

                if (param.YearMax == null)
                {
                    cmd.Parameters.AddWithValue("@YearMax", DBNull.Value);
                }
                else
                {
                    cmd.Parameters.AddWithValue("@YearMax", param.YearMax);
                }

                cn.Open();

                using (SqlDataReader dr = cmd.ExecuteReader())
                {
                    while (dr.Read())
                    {
                        Vehicle currentRow = new Vehicle();
                        currentRow.ActualListedPrice = (decimal)dr["ActualListedPrice"];
                        currentRow.VehicleColor      = dr["VehicleColor"].ToString();
                        currentRow.ImagePath         = dr["ImagePath"].ToString();
                        currentRow.InteriorColor     = dr["InteriorColor"].ToString();
                        currentRow.IsFeatured        = (bool)dr["IsFeatured"];
                        currentRow.IsInstock         = (bool)dr["IsInstock"];
                        currentRow.IsNew             = (bool)dr["IsNew"];
                        currentRow.Mileage           = (decimal)dr["Mileage"];
                        currentRow.MinumSalePrice    = (decimal)dr["MinumSalePrice"];
                        currentRow.Make             = dr["MakeName"].ToString();
                        currentRow.ModelName        = dr["ModelName"].ToString();
                        currentRow.MSRP             = (decimal)dr["MSRP"];
                        currentRow.VehicleId        = (int)dr["VehicleId"];
                        currentRow.Vin              = dr["Vin"].ToString();
                        currentRow.Year             = (int)dr["Year"];
                        currentRow.BodyStyleName    = dr["BodyStyleName"].ToString();
                        currentRow.TransmissionName = dr["TransmissionName"].ToString();

                        vehicles.Add(currentRow);
                    }
                }
            }

            return(vehicles);
        }