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)); } }
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); }
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); }